How much to charge for commercial cleaning

There is no going rate. There is only what a site costs you to clean, plus the margin you intend to make. Here is the formula, and a 12,000 sq ft office worked all the way through it.

11 August 2026 12 min read Figures in USD

Almost everyone asks this question the wrong way round. They ask what other cleaners charge, find a range somewhere between five and twenty-five cents a square foot, pick a number in the middle and hope.

That is not pricing. That is guessing with extra steps, and it is why so many cleaning companies are busy and broke at the same time. A price copied from someone else carries their labour rates, their production rates and their overhead — none of which are yours.

The useful question is narrower: what does this specific building cost me to clean, and what do I need to add to make the money I intend to make? Answer that and the price falls out on its own. Everything below is how to answer it.

The formula

Monthly price = (Labour + Supplies + Overhead) ÷ (1 − target margin)

Note the division. Adding your margin as a percentage on top of cost is the single most common arithmetic error in this industry, and it quietly costs you money on every job. More on that below.

Step 1 — Measure the cleanable area, not the floor area

The number on the lease is gross floor area. It includes the lift shafts, the plant room, the server cupboard, the tenant's locked storage and whatever else you will never set foot in. Pricing off it means pricing work you do not do.

What you want is cleanable area: the space your team actually covers. In a typical office that lands somewhere around 80–90% of gross. Measure it if you can; estimate at 85% if you cannot and note that you have estimated.

For our example, a 12,000 sq ft suburban office at 85% gives 10,200 sq ft of cleanable area.

Step 2 — Turn area into hours with a production rate

A production rate is how much area one cleaner covers in an hour. It is the hinge the whole price swings on, and it varies enormously by surface and task. Open carpet is fast. Restrooms are slow — often under 400 sq ft an hour once you count fixtures. Kitchens and stairwells sit somewhere in between.

Published industry benchmarks (ISSA's cleaning times are the most widely cited) put general office cleaning around 3,000–5,000 sq ft per hour once you blend the fast and slow areas together. For a standard office with a normal share of restrooms and a kitchen, 3,200 sq ft per hour is a defensible blended rate.

So: 10,200 ÷ 3,200 = 3.19 hours per visit. Round to 3.25 hours, because nobody in the history of cleaning has finished a site in exactly 3.19 hours.

Published rates are a starting point, not an answer

The moment you have your own timesheets, use those instead. Your crew, your equipment and your standards produce a rate that no published table can know. Benchmarks are for sites you have not cleaned yet.

Step 3 — Cost the labour properly, including the burden

Five nights a week is 260 visits a year, which is 21.67 visits in an average month. At 3.25 hours a visit that is 70.4 hours a month.

Now the part people get wrong. A cleaner on $17.00 an hour does not cost you $17.00 an hour. On top of the wage sit payroll taxes, workers' compensation or ACC, holiday pay, sick leave, training time and the cover you pay when someone does not show. That is the labour burden, and in most markets it runs 20–30% on top of the raw wage.

At 25% burden, a $17.00 wage is a true cost of $21.25 an hour. Multiply through: 70.4 × $21.25 = $1,496 a month in labour.

Price off the raw wage instead and your labour line reads $1,197 rather than $1,496. That is $299 a month unaccounted for on this one site — close to $3,600 a year — while you believe you are profitable.

Step 4 — Supplies and equipment

Chemicals, liners, mop heads, vacuum bags, and the slow death of the equipment itself. On a standard office this typically runs around 5% of labour cost. Here that is roughly $75 a month.

Consumables — paper towels, toilet tissue, hand soap — are a separate decision. If you supply them, they are a line item of their own and they scale with building occupancy, not floor area. In this example we have assumed the client supplies their own, which is worth stating explicitly in the proposal so nobody is surprised later.

Step 5 — Overhead

Everything that keeps the company running whether or not you win this job: insurance, supervision and quality checks, vehicles and fuel, uniforms, admin, phones, software, the office. Allocate it as a percentage of labour — most small to mid-size operators land somewhere between 15% and 25%.

At 18%, our site carries $269 a month of overhead.

If you have never worked out your real overhead rate, do it once a year: total annual overhead divided by total annual direct labour. It is an afternoon's work and it makes every quote you write afterwards more accurate.

Step 6 — Add margin by dividing, not by adding

Our total monthly cost is $1,496 + $75 + $269 = $1,840.

Say you want a 20% net margin. Here is the trap. Adding 20% to $1,840 gives $2,208 — and the margin on that price is not 20%, it is 16.7%. The percentage has to be taken out of the selling price, not added to the cost.

Divide instead: $1,840 ÷ (1 − 0.20) = $1,840 ÷ 0.80 = $2,300 a month.

The difference is $92 a month on a single site. Across ten sites that is $11,040 a year, lost to an arithmetic habit.

The whole thing on one page

12,000 sq ft office · cleaned 5 nights a week · figures in USD
LineWorkingAmount
Cleanable area12,000 sq ft × 85%10,200 sq ft
Hours per visit10,200 ÷ 3,200 sq ft/hr, rounded3.25 hr
Visits per month5 nights × 52 ÷ 1221.67
Hours per month3.25 × 21.6770.4 hr
True labour rate$17.00 wage + 25% burden$21.25/hr
Labour70.4 hr × $21.25$1,496
Supplies & equipment5% of labour$75
Overhead18% of labour$269
Total costLabour + supplies + overhead$1,840
Monthly price$1,840 ÷ 0.80 (20% margin)$2,300

Two sanity checks before you send it

The formula can still produce nonsense if an input is wrong, so check the answer two ways before it goes out.

Price per square foot. $2,300 ÷ 12,000 = $0.19 per sq ft per month. Commercial cleaning generally lands between about $0.05 and $0.25 per sq ft per month depending on frequency and building type, so this sits comfortably inside the range. A five-nights-a-week office should be at the upper end — and it is. There is a full rate chart by building type and frequency if you want to check a site against its own category rather than the whole industry.

Effective hourly rate. $2,300 ÷ 70.4 hours = $32.66 an hour. Charge-out rates for commercial cleaning typically run somewhere around $25–$45 an hour. Also fine.

If either check lands outside the normal range, do not adjust the price to fit — go back and find the input that is wrong. Usually it is the production rate, occasionally it is an overhead percentage someone guessed at three years ago.

What this price does not include

The monthly figure covers the routine nightly scope and nothing else. Quote these separately or you will end up absorbing them:

  • Periodic work — carpet extraction, hard floor stripping and sealing, window cleaning, high dusting. Either a separate schedule with its own prices, or built into the monthly rate deliberately with the frequency stated.
  • Consumables, if you are supplying them.
  • Day porter or daytime cover, which is a different labour line at a different rate.
  • One-off reactive callouts — spills, floods, post-event cleans.
  • Public holidays, if the building still needs servicing on them.

Working in square metres

The arithmetic is identical outside North America; only the units change. The same site in metric:

MeasureImperialMetric
Gross area12,000 sq ft1,115 m²
Cleanable area10,200 sq ft948 m²
Production rate3,200 sq ft/hr297 m²/hr
Resulting price$0.19/sq ft/mo$2.06/m²/mo

Conversion: 1 m² = 10.764 sq ft. If your market quotes per square metre, run the whole calculation in metric rather than converting at the end — it avoids compounding rounding errors through the production rate.

The five mistakes that cost the most

  1. Pricing off the raw wage. The burden is real money and it is 20–30% of your largest cost line.
  2. Adding margin instead of dividing. Costs you a fifth of the margin you thought you had.
  3. Using gross floor area. You are pricing rooms you will never enter — or worse, under-pricing because you assumed the opposite.
  4. Forgetting drive time and supervision. If a supervisor visits weekly and the crew drives 25 minutes each way, that is labour. Put it in overhead or put it in hours, but put it somewhere. There are seven of these invisible costs, and together they are worth more than the whole margin.
  5. Quoting a number the rep invented on site. If two of your people would price the same building differently, you do not have a price, you have an opinion.

Then do it the same way every time

None of this is difficult. It is just tedious enough that under pressure people skip a step, and the steps people skip are always the burden and the overhead — the two invisible ones.

The fix is to stop treating each quote as a fresh calculation. Set your production rates, your labour rates, your overhead percentage and your target margin once, as a rate card, and have every quote run through them. Then the number stops depending on who walked the building or how late in the day they wrote it up.

Want this done for you?

The commercial cleaning bid calculator runs every step on this page automatically — change any input and watch the price move. Free, and it works in square feet or square metres.

This is exactly what Wonn does.

Scope a site on your phone, and your own formulas turn the measurements into hours, cost and price — the same way, every time, whoever is holding the phone. Then it writes the proposal. Wonn is in beta now and opening in batches.

Join the waitlist

Notes on the figures

Wages, burden rates, overhead percentages and charge-out ranges vary widely by country and by market. The numbers here are illustrative US figures chosen to make the arithmetic followable — the method is the point, not the inputs. Substitute your own and the formula holds. Production rate benchmarks are drawn from widely published industry cleaning times; your own logged times will always beat them.