Job Costing for Cleaning Contracts: Costing a Building So the Margin Survives

How to cost a cleaning contract honestly by area and task, build the rate from labour, supplies and overhead, and track the margin before year one erodes it.

Person working on a laptop at a table with financial charts on screen
Photo by Microsoft 365 on Unsplash

A cleaning contract rarely fails on the first night. It fails eighteen months later, when the supervisor is spending four extra hours a week on a building that was priced for two, the supply budget is being quietly topped up from another contract, and nobody can say whether the site is making money.

Job costing prevents that. It means costing each contract as its own unit — its own labour hours, supplies and share of overhead — then comparing what you planned against what actually happened, every month.

Key takeaways

  • Cost the contract by area and task, not by a single square-foot rate. The rate is an output, not an input.
  • Build the price from five components: direct labour, supplies, equipment and transport, supervision, and allocated overhead.
  • Use fully loaded labour cost. Wage plus payroll burden plus paid non-productive time is the real number.
  • Add a stated allowance for travel, relief cover, holidays and periodic work.
  • Track actual hours against estimated hours per site every month. Variance is the only early warning that matters.
  • Re-price or re-scope when a contract has been under-margin for two consecutive quarters.

What job costing is, and what it is not

Job costing assigns costs to a specific contract so you can see its true margin. It is not the same as pricing, although it feeds pricing, and it is not a spreadsheet that lives with the estimator and never gets opened again.

QuestionEstimating answers itJob costing answers it
What should we charge?YesPartly, by supplying the cost floor
Did this contract make money last month?NoYes
Which building is dragging down the portfolio?NoYes
Is the specification deliverable in the hours sold?PartlyYes, with variance data
Should we renew, reprice or exit?NoYes

Estimating is a forecast. Job costing is the feedback loop that tells you whether the forecast was any good.

The five cost components of a cleaning contract

Every contract price is built from the same five buckets. Miss one and the margin disappears.

ComponentWhat goes in itHow it is usually missed
Direct labourProductive hours by area and frequencyCounting only cleaning time, not setup and pack-down
SuppliesChemicals, liners, paper, cloths, padsIgnoring consumption differences between buildings
Equipment and transportMachines, depreciation, fuel, parking, travel timeCharging travel to overhead instead of the contract
SupervisionInspection, training, client contact, coverAssuming supervision is free because it is salaried
OverheadOffice, insurance, software, admin, bad debtUsing a percentage that has not been reviewed in years

For indirect and administrative costs that sit behind these buckets, the federal labour standards guidance published by ESDC is a useful reminder of what an employer is actually obliged to pay for, which belongs in the loaded labour rate rather than in a surprise later.

Costing labour honestly

Labour is 60 to 75 per cent of most cleaning contracts, so errors here hurt most. Build the number in this order.

  1. Productive hours per visit. Walk the building, list the areas, estimate the time for each task at the frequency specified, then add setup, chemical mixing, equipment assembly and pack-down. Those are real minutes.
  2. Visits per year. Multiply by the specified frequency. A five-night-per-week contract is not 260 visits once you remove statutory holidays.
  3. Non-productive hours. Holiday cover, sick cover, training, team meetings and travel between sites. If you have no relief pool, this is where the contract silently breaks.
  4. Loaded hourly rate. Wage, plus payroll burden, plus paid time off, plus the cost of the relief hour used to cover it. Use this figure everywhere.
  5. Supervision hours. Inspection time per visit, plus monthly report time, plus client meetings. Cost it against the contract.

The common failure is estimating productive hours accurately and everything else by feel. The non-productive and supervision lines are where contracts quietly go under.

Costing supplies, equipment and transport

Supplies look small until you multiply them by a portfolio.

  • Count consumption per building, not per portfolio. A site with four high-traffic washrooms can consume several times the liners and paper of a comparable office floor.
  • Price chemicals at diluted cost, not container cost. Dilution control changes the arithmetic.
  • Include cloths, pads and mop heads as consumables with a replacement cycle.
  • Amortise equipment over its real life. A scrubber costed over eight years looks cheaper than one costed over five, and only one is honest.
  • Charge transport to the contract that causes it. A 40-minute drive belongs in that site's cost, not spread across the portfolio.

Allocating overhead without inventing it

Overhead is where contractors argue with themselves. The allocation method matters less than having one and applying it consistently.

MethodHow it worksBest suited to
Percentage of revenueOverhead ÷ total revenue, applied to each contractPortfolios of similar contracts
Per labour hourOverhead ÷ total productive hours × contract hoursLabour-heavy portfolios
Per siteOverhead ÷ number of contractsPortfolios of similar-sized buildings
Activity-basedOverhead assigned by driver (inspections, payroll runs, vehicles)Portfolios with wide site variation

Pick one and apply it to every contract. Change the method only at a financial year boundary and restate the comparison, so you are never comparing two accounting bases.

A worked structure for one contract, with illustrative numbers

The figures below are invented to show the method. Replace them with your own site data.

Assumptions: one office building, five nights per week, 3.5 productive hours per visit, loaded labour $28 per hour, 245 visits per year after holidays, supplies $310 per month, annual equipment and transport $4,200, supervision 4 hours per month at $42 loaded, overhead allocation 12 per cent of revenue, target margin 20 per cent.

LineCalculationAnnual
Productive labour3.5 × 245 × $28$24,010
Non-productive allowance8 per cent of productive hours$1,921
Supervision4 × 12 × $42$2,016
Supplies$310 × 12$3,720
Equipment and transportGiven$4,200
Total direct costSum of the above$35,867
Overhead at 12 per cent$35,867 ÷ 0.88 × 0.12$4,891
Cost floor$35,867 + $4,891$40,758
Price at 20 per cent margin$40,758 ÷ 0.80$50,948

The important line is the last one. A 20 per cent margin is not a 20 per cent markup on cost. Dividing by 0.80 gives the price; multiplying cost by 1.20 gives a price that produces a 16.7 per cent margin and will disappoint you at year end.

The margin traps that only appear after signing

TrapWhat happensPrevention
Scope creep by politenessExtra rooms and requests absorbed without a variationWritten scope, and a variation process with a price
Travel time uncostedSupervisor and crew hours disappear into drivingCost travel to the site, not to overhead
Relief cover underpricedHolidays and sickness covered by overtimeBuild a relief allowance into the rate
Periodic work underpricedFloor care and deep cleans quoted from memoryPrice periodic work from task time and product
Client-driven frequency increasesDaily tasks become twice daily without re-pricingReview specification changes quarterly, in writing
Supplies drifting upwardConsumption creeps as staffing changesMeter or count consumption per site monthly

Every one of these shows up as an explained variance in month nine and an unexplained loss in month eighteen.

Tracking margin per site, month by month

A costed contract is only useful if you compare it to reality. Run a monthly variance report per site with four lines.

  1. Estimated hours vs actual hours. The single most predictive number. A small consistent overrun compounds.
  2. Supplies vs allowance. Look for step changes, not noise. A step change usually means a scope or staffing change.
  3. Supervision hours vs allowance. Rising supervision hours on a stable site signals a quality or training problem, not a costing one.
  4. Invoiced value vs cost floor. Gross margin per site, before overhead, expressed in dollars and percentage.

When a site is under plan for two consecutive months, act. When it is under plan for two consecutive quarters, re-price, re-scope or plan an exit. And when the variance is caused by the work itself rather than the pricing, the inspection record is what lets you have that conversation with evidence: deficiency tracking shows what was found and when it closed, and cleaning client reporting shows the client the record.

Where job costing meets pricing and cash

Job costing gives you the cost floor. Pricing decides what to charge above it, and the two should be reviewed together. Cleaning contract pricing methods covers the structures, and cost per square foot covers the sanity check on your finished price.

Cash is the other half of the equation. A contract with a healthy margin but 60-day payment terms still needs funding, which is why cleaning business cash flow belongs in the same conversation as the rate.

Where this fits in the quality system

This sits under our janitorial contract growth, which sets out the standard these checks are measured against.

Frequently asked questions

What is the difference between job costing and estimating?

Estimating forecasts what a contract should cost and what to charge. Job costing records what it actually cost and compares the two.

Should I cost a cleaning contract per square foot or per task?

Cost it per task and area, then convert to a square-foot figure for comparison. Task-based costing captures the real drivers — fixture counts, frequencies, floor types, access — while square-foot rates hide them.

How much overhead should each contract carry?

Allocate your total annual overhead across contracts using one documented method, such as per labour hour or as a percentage of revenue, and apply it consistently. The percentage should come from your accounts, not an industry average.

What margin should a cleaning contract carry?

That depends on your overhead, your risk and your market. What matters more than the target is knowing your cost floor exactly, so any discount is a conscious decision against a known number.

How often should I review contract profitability?

Monthly for hours, supplies and supervision against plan, and quarterly for a full margin review per site. Monthly reviews catch drift while it is still fixable; quarterly reviews catch the structural problems.

Cost it properly, then prove it

Job costing tells you what the contract should cost. The inspection record tells you what the work actually required. Keeping both in one place is what turns an annual surprise into a monthly number.

NeatScore records scored inspections with photos, critical items, weighted items and deficiency tracking per site, with dashboards and branded PDF reports, offline inspections that sync, and multi-site support with unlimited users, so the hours and findings behind each contract are visible rather than reconstructed. Try it free for 14 days, or see pricing.

Share: LinkedIn X Facebook Email