FOR COMMERCIAL CLEANING CONTRACTORS

Bid the building, not the square footage.

Price a janitorial contract the way the trade actually does: each space divided by the production rate your crew really hits, optional day-porter shifts priced as scheduled coverage, then wage burden, supplies, overhead, and the margin you intend to keep. You get the monthly price, what it works out to per square foot and per labor hour, the number below which the job loses money, what a 5×-to-3× schedule cut is actually worth — not 60% of today’s price — whether letting the building buy the paper still holds your margin, and whether throwing in the takeover clean still leaves a first month.

Taking a second building? See whether it still pays after the drive.

The building

One row per space type. Add an optional proposal name when you need scope detail such as "Second-floor restrooms". Production rate is cleanable square feet one cleaner covers per hour — pick a space type to start from a common figure, then replace it with a rate timed from your own crew. A space that is not on the list (gym, server room, loading dock) is Other space: name it so the labor split and the copied bid say what you actually clean.

Day porter / scheduled shifts

Optional. A day porter is a person on site during business hours, not extra square feet on the night clean. Hours = people × hours per shift × shifts per week × 52/12. Leave the wage blank to use the cleaner rate below; fill it in when the porter is paid more.

One-time / project work

Strip and wax, carpet extraction, and the initial deep clean are invoiced once. Pricing them inside the monthly contract is how a contractor works eleven months at a loss after the building is caught up. Hours = square feet ÷ production rate × coats or passes.

Periodic services

Quarterly floor care, twice-a-year extraction, annual windows — a lump cost per visit, spread across the year. This is not strip-and-wax project work (priced once from square feet). Cost × occurrences ÷ 12 goes into the monthly contract, including after a 5× to 3× schedule cut.

Your costs

Payroll burden covers employer taxes, workers’ compensation, liability insurance, and paid time off — the part of a cleaner’s cost that never shows up on their pay rate. Underestimating it is the most common reason a janitorial bid that looked profitable was not.

If they cut the schedule

A prospect who asks for 3 days a week instead of 5 will often offer 60% of the current monthly price. Labor hours do drop with the visits. Supplies, equipment, and travel stay on the job, so the price that still holds your margin is higher than a linear cut. Why 60% of a 5-day price is not a 3-day bid.

If they want to buy the paper

A facility manager who says “we’ll buy the paper, soap, and liners — take the supplies off” is not asking you to drop the whole line. Restroom stock is only a share of it. Chemicals, finish, and glass stay yours. And if they run out, the emergency fill you still make can cost more than stocking it yourself. Should I let the building buy the paper?

If they want the initial thrown in

A neglected or vacant building’s first visit is several regular cleans of labor plus extra chemicals. Prospects ask to “just include it.” Month 1 then carries a project on a periodic price — and if they cancel after 30 days, that giveaway is the whole relationship. Should I throw in the initial clean?

Your bid

$—
monthly contract price
Labor hours per visit
Visit capacity
Visit utilization
Day-porter hours per month
Labor hours per month
Loaded labor cost
Supplies
Periodic work (monthly average)
Equipment & other
Overhead
Total monthly cost
Monthly profit
Minimum charge floor
Price per sq ft / month
Effective hourly rate
Walk-away price
Annual contract value

A bid link carries your own rates — wage, burden, overhead, and target margin — so the page reopens exactly as you left it. Send it to yourself or your crew. The numbers ride after the #, which is never sent to a server, so copying a link uploads nothing. The customer should get the price, not the link.


Where the labor goes


    Transparent arithmetic from your own inputs. The starting production rates are common ballpark figures, not an industry standard, a benchmark, or a guarantee — time your own crews and replace them.

    Hand the customer a proposal

    The price above is for you. This is the page you print or save as a PDF and give to the customer — your details, their details, the scope, the deposit split, and a line for them to sign. Your business details are saved on this device so you only type them once; the customer’s details are never saved.

    Everything on the printed page is text you typed or a number this calculator worked out. It contains no warranty, lien, or cancellation wording — those depend on your jurisdiction and your contract, and this tool is not the place to invent them.

    Common bidding questions

    How do I price a day porter on a janitorial contract? Price the person, not the floor. Hours = people × hours per shift × shifts per week × 52/12, then the same loaded wage, overhead, and margin as the night clean. An 8-hour weekday porter is about 173 hours a month — usually more labor than the entire after-hours production clean.

    Should I bake the day porter into the monthly cleaning price? No. The night clean is production-rate work; the day porter is coverage during business hours. Combining them hides how much of the bid is a body on site. This calculator keeps the two numbers separate and adds them into one monthly contract price.

    How do I price strip and wax with a janitorial contract? Treat it as one-time project work. Hours are the floor area divided by a production rate, times the number of finish coats. Add finish, stripper, and pads as materials. Keep that total off the monthly service price so you are not giving away eleven months of wax after the first invoice.

    Should the initial deep clean be in the monthly price? Usually no. An initial or post-construction clean is a different production rate and a one-time invoice. Mixing it into the recurring bid is how a contract that looked fine in month one loses money for the rest of the year.

    Why not bid the whole building by square foot? Restrooms, kitchens, and exam rooms take several times the labor of open office. Two 8,000 sq ft buildings can differ by 30% in hours. The labor split is there so that mix is visible before the price goes out.

    Common questions

    How do I price a day porter on a janitorial contract?

    Price the day porter as scheduled coverage: people × hours per shift × shifts per week × 52/12, then the same loaded wage, overhead, and margin as the night clean. Do not convert the porter into extra square feet or a faster production rate.

    Should I bake the day porter into the monthly cleaning price?

    No. The night clean is production-rate work; the day porter is a person on site during business hours. Combining them hides how much of the bid is coverage.

    How do I price strip and wax with a janitorial contract?

    Treat strip and wax as one-time project work invoiced separately from the monthly service so the remaining months are not underpriced.

    Want the margin, walk-away price and overrun headroom as well, or pricing a different trade? Price this job in the Bid Price Engine, one calculator for 121 trades.