Five bids land in your procurement inbox for a cleaning contract. Monthly prices: $3,800, $4,600, $5,200, $6,400, and $7,200.
That’s an 89% spread on what should be the same job. It happens because there was no commercial cleaning specification, forcing every bidder to quote against the same scope.
You scan the scope descriptions. They read nearly identical. “Daily janitorial services including restrooms, common areas, and office space.” “Floor care, trash removal, restroom sanitation.” “Comprehensive nightly cleaning.” Nothing tells you why the top bid is almost twice the bottom.
So you do what procurement teams do. You build a comparison matrix, weight a few criteria, ask for references, and pick the middle. It feels defensible. A month in, the complaints start. Six months in, you’re running a new RFP.
This is the quiet problem at the centre of most commercial cleaning procurement: the issue isn’t that bids vary wildly. The issue is that none of them are quoting the same thing. When the commercial cleaning specification is vague, every vendor fills in the blanks differently. One price for 30 labour hours a week; another price for 18. One includes a supervisor; another doesn’t. One uses hospital-grade disinfectants; another uses diluted all-purpose cleaner. The numbers aren’t wrong. They’re just answers to five different questions.
In Part 1 of this series, we looked at why the lowest bid is usually a trap. This post is the practical follow-up. If the first post told you what to avoid, this one tells you what to send. Specifically, the 12-point commercial cleaning specification forces every bidder to quote against the same scope, using the same assumptions, measured against the same standards. A tight commercial cleaning specification is the single tool that makes apples-to-apples bid comparison possible.
Once you send a commercial cleaning specification built this way, two things change. The bid spread collapses. And you can finally tell which vendor is actually the best value, not just the lowest number.
Before running a cleaning company, I spent most of my career in finance and operations, including time as a CFO. Procurement teams know how to source complex services. Cleaning just doesn’t usually get the same rigour, which is exactly how buyers end up with bids they can’t compare.
The hidden cost of a vague specification
Procurement teams have a rigorous process for sourcing IT systems, legal services, even office furniture. Detailed requirements, weighted evaluation criteria, sample scoring rubrics. Cleaning, somehow, tends to skip that discipline. The RFP goes out with a one-page scope description, bids come back, a decision gets made on price.
That’s not a procurement process. It’s a shopping trip. The cost of skipping the rigour shows up in three places.
The comparison problem
When a commercial cleaning specification is vague, every vendor reads the same document and imagines a different job. One prices for five cleaning nights a week with a supervisor on site. Another price for three nights a week with a rotating crew. Both bids appear to cover “daily janitorial services.” Procurement has no way to tell them apart until month four, when one of them starts missing tasks.
Industry production rate data illustrates the problem. ISSA’s 540 Cleaning Times reference, the industry standard for estimating how long cleaning tasks take, shows typical office production rates of 4,500 to 5,000 cleanable square feet per hour. For a 50,000 square foot office cleaned five nights a week, that translates to roughly 50 labour hours per week if the scope is standard office janitorial. A vendor quoting 30 hours per week at the same scope isn’t more efficient. They’re quoting a different job.
Without a commercial cleaning specification that locks down scope and productivity assumptions, you can’t see that difference. You just see the price.
The change-order problem
Vague contracts produce change orders. Every task that wasn’t explicitly scoped becomes a negotiation. Window sills weren’t in the spec, so now they’re extra. Exterior glass wasn’t mentioned, so it’s out of scope. The monthly floor scrub you assumed was included gets invoiced as a separate line item.
None of this is the vendor being unreasonable. They priced what was written. The problem is that the cost of everything not written down in the commercial cleaning specification migrates from the original monthly fee into a stream of unbudgeted add-ons that show up in your AP system one at a time. By the end of year one, the “winning” bid often costs 15 to 25 percent more than the contracted rate.
The lemon problem
Economist George Akerlof won a Nobel Prize for describing what happens in markets where buyers can’t distinguish quality before they buy. The short version: good vendors get pushed out, bad vendors survive.
Cleaning RFPs produce the same dynamic. When the commercial cleaning specification is loose, the disciplined vendor with real supervision, proper wages, and a quality program quotes what the work actually costs. The under-capitalized vendor quotes whatever it takes to win. The buyer, looking only at price, chooses the low number. The disciplined vendor loses. They adjust by either cutting their own standards to stay competitive or walking away from that segment of the market.
The result, compounded across hundreds of RFPs, is a supplier pool trained to race to the bottom. Every buyer who runs a loose RFP contributes to that dynamic, then wonders why it’s so hard to find a reliable cleaning vendor.
Why this matters more than it looks
Labour accounts for 50 to 70 percent of a commercial cleaning contract, and when you include labour-related costs like payroll taxes, benefits, workers’ compensation, and supervision, the all-in labour share climbs to roughly 75 to 80 percent. That means commercial cleaning specification quality directly controls your largest operating variable. A loose commercial cleaning specification doesn’t save money. It obscures where the money goes and makes the biggest line item in the contract invisible.
| Vague RFP | Specified RFP | |
|---|---|---|
| Scope | Daily cleaning | Monday to Friday, 6:00 PM to 11:00 PM, minimum 50 labour hours per week |
| Frequency | Regular dusting | Horizontal surfaces daily, vertical surfaces weekly, high dusting monthly |
| Quality | Maintain clean appearance | APPA Level 2 across all common areas, verified by monthly inspection |
| Staffing | Experienced cleaners | Minimum 2 cleaners on site nightly, 1 working supervisor, all WHMIS trained |
| Reporting | Periodic updates | Monthly inspection report with photos, quarterly business review, named account manager |
The next section lays out the 12 points that make it visible.
The 12-point commercial cleaning specification
A real commercial cleaning specification has three jobs. It has to define the work with enough precision that every bidder quotes the same scope. It has to set quality standards that can be measured after the contract is signed. And it has to create accountability that survives turnover on both sides.
The 12 points below cover all three parts of a proper commercial cleaning specification. They are grouped into three categories: scope and scale, service level, and accountability. Skip any one of them and the ambiguity returns.
|
1
Cleanable sq ft by area
Gross vs. cleanable, broken down by zone
|
2
Surface inventory
Floor finishes and material types
|
3
Occupancy and access
Headcount, hours, cleaning windows
|
|
4
Task and frequency matrix
Every task, explicit cadence
|
5
APPA or ISSA level target
Measurable cleanliness standard
|
6
Supplies and chemicals
Certified products, minimum specs
|
|
7
Staffing and supervision
Positions, hours, training
|
8
Production rate transparency
Bidders must show their math
|
|
9
QA and inspection
Who audits, how often
|
10
Reporting cadence
Monthly performance package
|
11
Issue escalation SLAs
Response times, 24/7 protocol
|
12
Contract governance
Review rhythm, change control
|
Part A: Scope and scale
These three points establish the physical facts of the building. Every effective commercial cleaning specification starts here, because if bidders don’t have these facts, every downstream number in their proposal is a guess.
1. Cleanable square footage by area type
Gross square footage is not cleanable square footage. A 50,000 square foot building might have 42,000 cleanable square feet after you subtract walls, elevator shafts, mechanical rooms, and unoccupied space. Vague RFPs state only the gross number, and vendors either guess at the cleanable figure or pad their bid to cover the risk.
2. Surface and finish inventory
A 4,000 square foot lobby with polished concrete is a different job than the same space in commercial-grade carpet. Hard surface restrooms take a different time than ceramic tile. LVT floors require different chemicals than waxed VCT. When the commercial cleaning specification is silent on finishes, bidders either assume the easiest case or the hardest case, and neither produces an honest bid.
3. Occupancy profile and access windows
A building with 300 occupants produces more waste, restroom cycles, and high-touch contamination than the same square footage with 80 occupants. A building that allows cleaning between 6:00 PM and midnight is a different labour model than one that requires daytime cleaning around staff. Most RFPs state the building hours and skip everything else that drives cost.
Part B: Service level
The next five points define what “cleaning” actually means. This is where most RFPs collapse into adjectives. A real commercial cleaning specification replaces adjectives with measurable standards.
4. Task list with explicit frequency
“Regular cleaning” is not a frequency. Every task in scope needs a specific cadence: daily, three times per week, weekly, monthly, quarterly, or annually. Every task out of scope needs to be named and priced separately. Without this structure inside the commercial cleaning specification, every undefined task becomes a change order.
5. APPA or ISSA cleanliness level target
The APPA 5 Levels of Clean framework gives buyers and vendors a shared vocabulary for what “clean” means. Level 1 is showpiece. Level 2 is ordinary tidiness, the target for most professional office environments. Level 3 is casual inattention, which describes most budget-driven cleaning contracts. When you specify a target level, bidders can cost their labour hours against a defined standard. When you don’t, “clean” means whatever each vendor assumes it means.
6. Supplies and chemicals standard
Supplies and chemicals typically run 4 to 5 percent of contract cost, but they’re the first place where underpricing shows up. A vendor cutting corners uses diluted all-purpose cleaner instead of an EPA-registered disinfectant. Paper products downgrade from two-ply to one-ply. Microfibre gets replaced with cotton rags. Specifying the standard inside the commercial cleaning specification closes that gap before the contract starts.
7. Staffing and supervision structure
A cleaning contract is a labour contract. Specifying staffing inside the commercial cleaning specification makes the labour economics visible: how many cleaners on site per shift, whether they are the same people every night or a rotating pool, whether there is a working supervisor and whether those hours are in scope or separate, who the named account manager is, and how often they walk the site. Vague RFPs skip staffing entirely, which is exactly how a vendor quotes 30 hours of labour against a job that requires 50.
8. Production rate transparency
Require every bidder to state their assumed production rate in cleanable square feet per hour, and their total weekly labour hours for the facility. Industry-standard production rates for commercial office work sit between 4,000 and 5,000 cleanable square feet per hour. A vendor claiming 7,000 is either wrong or cutting corners, the spec doesn’t yet see. When bidders show their math, you can tell whether they’re quoting a realistic job or a fantasy one.
Point 8 is the single highest-leverage line item in the entire specification. Most vendors will resist it because stating a production rate exposes their labour model to direct comparison. That resistance is itself the signal: the vendors who quote confidently against a stated production rate are the ones whose math holds up.
Part C: Accountability
The final four points define what happens after the contract is signed. This is where most RFPs go silent, which is exactly why so many cleaning contracts start well and drift over 12 months.
9. Quality assurance and inspection protocol
Who inspects the work, how often, and against what standard? A commercial cleaning specification without a defined QA protocol is a contract where quality is whatever the vendor wants it to be on any given night.
10. Reporting cadence and format
What does the client receive each month to verify the contract is being delivered? A summary email is not a report. A monthly report written against the commercial cleaning specification should include inspection scores, issue logs, corrective actions, labour hour reconciliation, and any scope variations.
11. Issue escalation and response times
When something goes wrong at 2:00 AM, who does the building manager call? What is the guaranteed response time for routine issues, urgent issues, and emergencies? Without defined service levels inside the commercial cleaning specification, every issue becomes a negotiation.
12. Contract governance and review rhythm
Cleaning contracts are typically 2 to 3 years. Without a governance rhythm, the relationship drifts. Quality erodes quietly, scope changes accumulate, and by year two, neither side remembers what was originally agreed.
What this looks like in practice
The framework is easier to understand in dollars than in theory. Here’s the same 50,000 square foot office, run through an RFP twice: once with a vague scope description, once with a proper commercial cleaning specification built from the 12-point framework.
The building. 50,000 gross square feet, 42,000 cleanable. About 220 staff on site Monday to Friday. Standard commercial office mix: open workstations, private offices, four restroom blocks, a kitchen, a lobby. Cleaning access from 6:00 PM to 11:00 PM. The kind of mid-market office any procurement team in Southern Ontario would recognise.
Before looking at any bids, work out what the job actually requires. ISSA’s published production rates put commercial office cleaning at roughly 4,500 cleanable square feet per hour. That translates to about 9.3 labour hours per night, or 47 weekly labour hours to deliver APPA Level 2 across the building. In the Ontario market, a quality vendor pays frontline cleaners around $20 per hour. Add roughly 30 percent in statutory loading for CPP, EI, WSIB, EHT, vacation, and basic benefits, and the loaded cleaner cost lands near $26 per hour before supervision, overhead, supplies, or margin.
Run those numbers and a realistic monthly price for this building sits somewhere in the mid-$7,000s. Hold that figure in mind, because it’s the number the two RFP approaches below either converge on or fail to find.
Round 1: The vague RFP
The RFP that goes out is one page. Scope is described as “daily janitorial services including common areas, restrooms, and office space, five nights per week.” No production rate requirement. No staffing specification. No quality standard. No reporting requirements. Just a square footage figure and a request for monthly pricing.
Three bids come back.
| Vendor | Monthly bid | What they actually quoted (not disclosed) |
|---|---|---|
| Vendor A | $4,200 | 22 hrs/week, 1 cleaner, no supervisor, rotating crew, generic chemicals |
| Vendor B | $5,800 | 35 hrs/week, 1–2 cleaners, supervisor 1 night/week, mixed-quality chemicals |
| Vendor C | $7,800 | 47 hrs/week, 2 cleaners + working supervisor 4 nights/week, DIN-registered disinfectants, Green Seal cleaners |
The spread between the lowest and highest bid is 86 percent. Without a commercial cleaning specification forcing disclosure, procurement has three monthly numbers, three nearly identical scope descriptions, and no structural way to tell them apart. The most common decision from here is to split the difference and pick Vendor B. The second most common is to pick Vendor A because the savings are too large to ignore.
Either decision is a coin flip. Neither one is based on what the vendors will actually deliver.
Round 2: The specified RFP
Now run the same building with the 12-point specification. Every bidder must state their assumed production rate, weekly labour hours, staffing plan, APPA level target, chemicals standard, inspection protocol, reporting cadence, and issue escalation process. Proposals without this information will not be evaluated.
Three responses come back, but one of them is a decline.
| Vendor | Monthly bid | Production rate | Weekly hours |
|---|---|---|---|
| Vendor A | Declined to bid — could not commit to APPA Level 2 at their pricing model | ||
| Vendor B | $7,100 | 4,800 sq ft/hr | 44 hrs/week |
| Vendor C | $7,650 | 4,500 sq ft/hr | 47 hrs/week |
Vendor A declines. Their internal review shows they cannot deliver APPA Level 2 at their pricing model, and they are unwilling to state a production rate and weekly labour hours that would contradict their usual assumptions. The commercial cleaning specification has effectively filtered them out before they could misrepresent their capacity.
Vendor B bids $7,100 per month. Their stated production rate is 4,800 cleanable square feet per hour, and their stated weekly labour is 44 hours with a working supervisor three nights per week. Their number came up because the commercial cleaning specification forced them to quote the actual job, not their usual compressed version of it.
Vendor C bids $7,650 per month. Production rate: 4,500 sq ft per hour. Weekly labour: 47 hours with a supervisor on site four nights per week. Their price barely moved from Round 1 because their original bid was already priced for the real job. They were the discipline that the loose RFP would have rejected, and the commercial cleaning specification rewarded.
The spread is now 8 percent. Two comparable proposals, with transparent assumptions. Procurement can evaluate the trade-off on its merits: slightly fewer hours at a modestly higher production rate, or more hours at a conservative rate with stronger supervision coverage. That’s a defensible vendor selection conversation. The Round 1 version wasn’t.
The three things that changed
The comparison is easier to evaluate once you see what actually shifted between rounds, once a real commercial cleaning specification replaced the vague RFP.
First, Vendor A disappeared. The spec didn’t fix Vendor A. It exposed Vendor A. Procurement now knows that a vendor who cannot commit to APPA Level 2 and 47 weekly labour hours also cannot deliver them, regardless of what they’d have said in an interview. That’s information the vague RFP never surfaced, and it’s worth more than the bid Vendor A would have submitted.
Second, Vendor B’s bid rose 22 percent, from $5,800 to $7,100. Not because the work got more expensive, but because the spec no longer let them quote a compressed version of the job. Their Round 1 bid assumed 35 weekly labour hours. Their Round 2 bid had to assume 44. The gap between those two numbers is the difference between a contract that looks affordable on paper and one that actually gets delivered.
Third, Vendor C barely moved. Their bid went from $7,800 to $7,650, effectively flat. That’s the tell: a disciplined vendor quotes roughly the same number whether the RFP is loose or tight, because they priced the real work from the start. A vague RFP would have made them look overpriced compared to Vendor A. A specified RFP revealed they were the only honest bid in Round 1.
|
1 of 3
Vendors self-eliminated rather than commit to the spec
|
+22%
Vendor B bid increase when forced to quote the real job
|
86% → 8%
Bid spread compression between Round 1 and Round 2
|
The specified RFP didn’t save money in the short term. Vendor B’s number went up. But procurement ended up with two honest proposals instead of three mislabelled ones, and a selection defensible on operational merit rather than on price alone.
That’s the point of a specification. Not to lower bids. To make them real.
What happens when you actually send this
Sending an RFP backed by a full commercial cleaning specification is not painless. Two things tend to happen that procurement teams should expect.
The first is that some vendors won’t bid. That’s not a problem. It’s the point. A vendor who cannot state their production rate, commit to an APPA level, or staff to the hours the building requires is a vendor you cannot evaluate anyway. Their absence from your inbox is the cheapest vendor reference check you will ever run.
The second is that the vendors who do bid will quote higher than they would have against a loose RFP. Also, not a problem. The higher number isn’t the commercial cleaning specification, making the work more expensive. It’s the specification making the real cost of the work visible for the first time. A building that actually requires 47 weekly labour hours costs what 47 weekly labour hours costs, in any market. The loose RFP didn’t save money on that building. It just moved the cost somewhere else: into change orders, into scope creep, into the facility manager’s calendar, into the tenant experience.
This is the same lesson the first post in this series landed on. The goal isn’t to pay less for cleaning. The goal is to pay a defensible price for cleaning that actually happens. A specification is how you get there.
A template you can use
We built the 12-point framework into a fillable commercial cleaning specification template that procurement and facility teams can adapt to any building. It covers all three parts of the framework: scope and scale, service level, and accountability. It includes sample language, a task and frequency matrix, and a production rate disclosure worksheet that every bidder must complete.
It’s free. Use it for your next RFP, modify it for your specific facility, or hand it to your existing cleaning vendor and ask them to fill it out for the contract you already have. The second option often reveals more than the first.
Fillable PDF. Adapt it to any commercial facility. Built by Precise Commercial Solutions from the framework in this post.
One last thing
Most cleaning contracts aren’t lost on price. They’re lost in ambiguity. Two years into a vague contract, neither the client nor the vendor can quite remember what was agreed, and both sides are frustrated for different reasons. A commercial cleaning specification is the document that prevents that. It turns a handshake into a scorecard, and a scorecard is what makes accountability possible.
If the first post in this series was about recognising a bad contract, this one is about writing a good one. A solid commercial cleaning specification is the single highest-leverage document in the entire procurement process. Download the template, send it with your next RFP, and see what changes in the responses.
The bids you get back will tell you more about your vendor pool than the vendors ever would on their own. That’s the quiet power of a proper commercial cleaning specification.
Precise Commercial Solutions works with procurement and facility teams across Southern Ontario. We welcome tight specifications because they reward disciplined operators. If you’re running an RFP, we’d rather be compared on what’s in the contract than what’s in the pitch.



