A contract cleaning business gets a call on a Monday about a three-floor office in the suburbs. The operations manager drives out on the Wednesday, walks the site for forty minutes, takes photos, counts bins and amenities, notes that the kitchen is worse than the client admitted on the phone, and works out a price in the car.
The quote goes out Thursday afternoon.
Then nothing.
Not a rejection. Not a competitor. Nothing at all. Three weeks later somebody in the office asks whether that office job ever came through, and nobody is quite sure.
This is the single most expensive pattern in contract cleaning, and it is not a pricing problem.
The walkthrough is the easy part and it gets treated as the finish line
Winning a cleaning contract has four moments: getting asked to quote, seeing the site, pricing it, and getting a decision.
The first three are where all the effort goes. Someone drove out. Someone gave up an afternoon. Someone did the sums properly rather than guessing, because guessing on a site you have seen is how you lose money for two years.
The fourth gets nothing. The quote is emailed and the process stops, because sending the quote feels like completing the task. It is not. It is the point at which the work transfers to somebody who has no deadline, no urgency and, quite often, no authority.
The result is that most contract cleaning businesses lose more work to silence than to competitors. Losing to a competitor at least tells you something about your price or your pitch. Losing to silence tells you nothing, which is why it repeats.
What the client is actually doing while you wait
It is worth being honest about the other side of this, because the picture is less dramatic than it feels.
The person who asked for the quote is usually a facilities or office manager with a long list of things that are more urgent than cleaning, because cleaning is currently happening. However bad the incumbent is, the bins are being emptied. Nothing is on fire.
They may also need an approval they have not asked for yet. A cleaning contract is a recurring commitment, which in many organisations needs a different sign-off than one-off spending, and that conversation has not been had because nobody made it urgent.
And they are not comparing you against two other quotes as carefully as you imagine. In a lot of cases they got one quote, which is yours, and then got busy.
That last one matters enormously, because it changes what a follow-up is for. You are usually not fighting to be chosen. You are fighting to make a decision happen at all.
The four things that turn a quote into a contract
None of this is clever. It is just done consistently or not at all.
| What to attach to a quote | Why it changes the outcome |
|---|---|
| A named decision maker, not just a contact | The person who walked you around is often not the person who can commit recurring spend. If you do not know who signs, you are following up with somebody who cannot say yes |
| A start date you are holding | A quote with no date is an option with no expiry. "We can start the Monday after next and I am holding the crew until Friday" creates a real reason to answer |
| A next action with a date on it | Not "follow up sometime". A date that, when it passes, shows up as overdue somewhere other than in one person's memory |
| Something to say that is not "have you decided" | A scope change based on what you saw, a trial clean, a reference site nearby. Each touch should carry something, or it reads as pressure |
The third one is where the whole thing usually fails. The follow-up exists only in the head of the person who did the walkthrough, and that person spent this week covering a shift because somebody called in sick.
One site, one deal
A structural point that costs contract cleaners real money.
A client with six sites is not one opportunity. It is six, priced separately, often started separately, and sometimes decided by different people. Rolling them into a single deal worth a big number feels tidy and then does three bad things: it hides the sites that never started, it makes the account value wrong, and when one site quietly drops off after three months, nothing anywhere records that it did.
Sites also behave differently. A CBD office and a suburban warehouse for the same client have different margins, different labour problems and different renewal risks. Treating them as one line means you cannot see which part of the account is actually working.
Keep the client as the account. Keep each site as its own deal underneath it. It takes slightly more setup and it is the difference between knowing what you have and estimating it.
The contract you already lost is on a date you already know
The other half of contract cleaning revenue is not new business at all. It is contracts coming up for re-tender, and most of them are lost before the tender is issued.
If the first you hear about a contract being contested is a request for pricing, you are already behind. The incumbent has had a year or three of being on site every night. You have a spreadsheet and a deadline.
But contract end dates are knowable. They come up in conversation, they appear in tender portals, they are in the public record for government and education sites. A business that records them and starts a conversation four months out is in a different position from one that finds out on the day.
This is the same shape as the defect problem in fire protection: the opportunity is scheduled and predictable, and it still gets missed, because nothing in the business is built to hold a date that far out.
What this needs from a system
Very little, and more than most cleaning businesses have.
Every quoted site needs an owner, a value, a decision maker and a next date. Every multi-site client needs an account with its sites underneath it. Every known contract end date needs to start a conversation months ahead rather than triggering a scramble.
That is what Empiraa Signal is for on this side of the business. Quoted sites sit in a pipeline with a next action that goes overdue where somebody can see it, proposals are sent from inside the deal so you know when the facilities manager actually opened it, and sites hang off the client account rather than being collapsed into one number.
The pricing shape is worth a line, because it decides who gets to see any of this. Signal is A$99 a month including GST for the whole workspace, unlimited users on every plan. In contract cleaning the person who knows a site is unhappy is usually a supervisor, and the person who hears a contract is going to tender is usually on the floor. Per-seat pricing gives you a reason to keep them out of the system, which is how that information stays in a conversation in a car park.
The list to pull first
Before changing anything, pull every quote sent in the last six months that never became a contract and never became a no.
Sort them by value. You will find sites you had forgotten quoting, a few where the only thing that ever happened was one email, and probably one or two where the client has since gone to somebody else without ever telling you.
Ring them. Not to ask whether they have decided, which is a year too late to be a useful question, but because you priced the site, you saw the kitchen, and you can still start on a Monday. A meaningful share of that list is still open, because in most cases nobody ever decided anything.
Related reading: why sales follow-up breaks down in growing teams, what makes a sales proposal actually win, and sales pipeline management for growing teams.


