At month end
The number arrives after the month it describes. By then the hours are spent and the only remaining option is to accept it.
Written for commercial cleaning contractors and for the people who put work out to tender. A contract is sold as a price and delivered as hours. Everything interesting happens in the gap between the two.
Which means only one half of the equation can move, and it moves every week.
A cleaning contract is sold as an annual price. It is delivered in labour hours. From the moment the contract starts, the money coming in is settled and the cost of delivering it is not.
So when a contract disappoints, the cause is rarely the client. It is almost always that the site absorbs more labour than the quote allowed for. Scope creeps by a room at a time. Access is slower than assumed. Cover for an absence costs more than the person being covered. Supervision takes longer at the difficult sites, which are exactly the sites where nobody has time to check.
The uncomfortable part is that none of that shows up anywhere. Every one of those is small enough to be invisible on its own, and the ledger reports the total, months later, with no explanation attached. A contractor is then left with a number and no idea what caused it.
Which produces the pattern most contractors will recognise. Two sites at the same annual value, one comfortable and one exhausting, and no way to say why beyond a feeling that one of them is harder work.
The number arrives after the month it describes. By then the hours are spent and the only remaining option is to accept it.
A contract comes up and the honest answer to whether it was worth holding is a guess dressed up as experience.
An award increase lands across the whole book at once. Sites that were thin become unviable, and there is no list of which ones they are.
Growth multiplies whatever the estimating error already was. A quoting habit that is slightly optimistic is survivable at ten sites and serious at fifty.
Those are the four moments the problem becomes visible, and all four are too late to do anything about it. That is the actual problem. Not that contracts lose money, but that they finish losing money before anybody can act.
Accounting software is not failing at this. It was never the tool for it.
| What you have | What it establishes | What it does not establish |
|---|---|---|
| Contract value | What the client agreed to pay for the year. | Whether that price was ever the right one for this site. |
| Invoices issued | What was billed, and when. | Whether the work behind the invoice was actually delivered. |
| Payroll total | What the workforce cost across the business. | Which contract each of those hours belonged to. |
| Company gross margin | Whether the business as a whole is working. | Which sites are carrying the others, which is the only version that is actionable. |
| Year end profit | What happened. | Why it happened, or what to change before it happens again. |
| A quote or tender | The hours somebody once assumed the site would take. | Whether that assumption ever turned out to be true. |
Read the last row again. Almost every contractor holds an estimate of the hours a site should take, and almost none of them ever compare it to what the site took. The estimate is treated as a document for winning work rather than a forecast to be checked, which is why the same error repeats through every tender that follows it.
Not a system design. The principles underneath any operation that keeps its contracts honest.
Money is the outcome. Labour hours are the thing that actually moves, and the only thing you can still influence once the contract is signed.
Watch the hoursEvery tender contains an assumption about how long the site will take. A forecast nobody checks against the outcome is a guess that gets repeated at the next tender, and the one after that.
Close the loopContracts rarely fail suddenly. They absorb a little more each month, and every individual month is small enough to explain away. The pattern is only visible if somebody is looking at the pattern.
Look while it is smallAdded scope is a conversation with the client. Slow access is a conversation with the site. A poor estimate is a lesson for the next quote. All three look identical in a total, and all three need a different response.
A total is not a diagnosisThere is a growth argument here as well as a margin one. A contractor who knows what their sites actually take can quote the next one with confidence rather than hope, and can walk away from work that will not pay. Both of those are harder to do on instinct than most people admit.
Not a warning about bad contractors. A warning about how tenders are compared.
Every bid quotes a number. Few evaluations ask how many labour hours sit behind it, which is the part that determines whether the service can actually be delivered.
Materially fewer hours for the same scope means better productivity, a different method, or an unrealistic estimate. The tender process should establish which, because two of those outcomes are fine and one is not.
A single labour figure across a portfolio hides everything. Per site is where an unrealistic assumption becomes visible before you sign rather than afterwards.
If bidders are interpreting the scope differently, the cheapest number is measuring interpretation rather than value. Normalise the scope first and the comparison becomes real.
A contractor who cannot make the numbers work does not absorb it quietly. It appears as turnover, thin cover, missed periodic work and a service that decays through the year.
A contractor who can tell you what a site actually took, rather than what was quoted, is running an operation rather than hoping. That answer is worth more than a discount.
None of this argues for paying more. It argues for comparing the right thing. A contract awarded on price alone tends to be renegotiated, varied or replaced within its own term, and all three of those cost the client time that never appears on any invoice.
The difference between the columns is not sophistication and it is not budget. It is whether anybody is looking at the right level. Company margin is the wrong level, because it averages a good contract and a bad one into a number that describes neither.
Not from the ledger. A cleaning contract is sold as a price and delivered as hours, so profitability is decided by the gap between the hours that were priced and the hours actually used. Revenue is fixed the day the contract is signed. Hours are not, and they move every week.
Almost never because the client is underpaying. Far more often because the site absorbs more labour than the quote allowed for. Scope creeps, access is slower than assumed, supervision takes longer, cover costs more than the original cleaner, or the estimate was simply optimistic. Each is small. Together they are the margin.
No. Two sites at the same annual value can be a good contract and a bad one, and they look identical on an invoice. Revenue tells you what was sold. It says nothing about what it cost to deliver, which is the only half that changes.
Frequently enough to act while a correction is still possible. Reviewing at year end tells you what happened. Reviewing while the contract is running lets you do something about it, which is a different exercise entirely.
Because price and labour hours are quoted separately and only price gets compared. A materially lower bid for the same scope usually means fewer hours have been allowed. Those hours either appear later as a variation, or they do not appear at all and the service quietly falls short.
Find out why before changing anything. Overrun caused by scope that was added is a pricing conversation with the client. Overrun caused by access delays is a site conversation. Overrun caused by an unrealistic original estimate is a lesson for the next quote. The three look identical in a total and need completely different responses.
Price it against what the last comparable site actually took, rather than what the last quote assumed. Most contractors estimate from experience and never close the loop by checking the estimate against the outcome, which is why the same error repeats across every tender.
StandardsIQ is an operations platform for commercial cleaning contractors in Australia. It exists so a contractor can answer the questions on this page about a site they name, in the month it matters, rather than at year end. Related reading: how cleaning work is proved.
Book a demonstrationContractors, and the clients assessing them, are both welcome to ask.