How to Bid Commercial Cleaning Jobs: Pricing, Margins & Winning Strategies
Most cleaning business owners price jobs the same way: walk the space, guess at hours, round up a little, and hope the number sounds right. It's not a system — it's intuition dressed up as a quote.
The problem with intuition-based pricing: you win jobs that lose money and lose jobs that would have been profitable. You can't scale what you can't measure, and you can't measure what you never calculated.
This guide gives you the actual system — how to walk a site, which of the three pricing models to use for which jobs, the exact cost breakdown structure, and how to price for margin, not just to win. We'll also cover the psychology side: when to hold firm, when to flex, and which jobs to walk away from entirely.
The Site Walkthrough: Where Accurate Bids Start
A bid is only as accurate as your walkthrough. Every cleaning business owner who's lost money on a contract can trace it back to a detail they missed during the site visit.
Close deals faster with Roopi.
Generate a professional proposal in under 60 seconds — no templates, no formatting.
Here's the walkthrough checklist — work through it on every site before you quote a number:
Walkthrough Checklist
Square footage and layout:
- Total sq ft (ask for floor plan if available — it's faster than measuring)
- Number of floors and whether you have elevator access
- Open plan vs. private offices vs. cubicle farms (density affects production rate)
- Number of rooms/offices that need individual attention
Floor types:
- Carpet (type — loop pile is faster than cut pile)
- Hard floors: VCT tile, hardwood, polished concrete (each requires different equipment)
- High-gloss floors that require periodic buffing or waxing
Restrooms:
- Number of restrooms and stalls per restroom
- Urinals vs. toilets only
- Presence of showers (gyms, fitness centers — major time adder)
- Hand dryers vs. paper towels (paper = restocking task)
Specialty areas:
- Break rooms and kitchens (appliance cleaning, sink frequency)
- Server rooms or IT closets (dust-sensitive, must use specific equipment)
- Medical exam rooms (disinfection protocol required)
- Warehouse or loading dock attached to office (usually excluded)
Access and logistics:
- After-hours vs. daytime cleaning (after-hours adds complexity but reduces disruption)
- Key card or code access — what's the process?
- Parking for your vehicle and equipment
- Storage space for your supplies on-site
- Security cameras or check-in requirements
Frequency:
- How many days per week
- Any areas that need daily attention vs. weekly
- Periodic deep cleans included or separate?
Take photos during the walkthrough. They protect you in disputes ("the carpet was stained when we started") and help you build the scope back at the office without relying on memory.
The Three Pricing Models: Which One to Use When
There's no single right way to price a commercial cleaning job. The three main models each have situations where they're the right tool.
Model 1: Per-Square-Foot Pricing
Best for: Large open-plan offices, warehouses, standard commercial spaces where layout is uniform.
You charge a flat rate per square foot per cleaning visit (or per month). The prospect gets a number they can easily understand and compare. You get predictability.
2026 per-square-foot benchmark rates:
| Facility Type | Rate per sq ft |
|---|---|
| Light office (open plan, low traffic) | $0.08–$0.12 |
| Standard office (moderate density) | $0.12–$0.15 |
| Medical/dental/high-traffic | $0.15–$0.25 |
| Food service/commercial kitchen | $0.20–$0.35 |
| Industrial/warehouse | $0.05–$0.08 |
Watch out for: Unusually high restroom counts, multiple specialty areas, or complex layouts that add hours without adding square footage. Adjust the rate up or add a flat fee for those factors.
Model 2: Labor-Hour Pricing
Best for: Complex facilities, custom scopes, jobs where the square footage doesn't capture the real work.
You estimate the hours required, multiply by your billable rate, and price accordingly. More transparent, easier to justify — but it requires you to know your production rates cold.
Production rate benchmarks:
- Standard office cleaning: 3,000–4,000 sq ft per labor-hour
- Dense office / cubicle farms: 2,000–3,000 sq ft per labor-hour
- Medical facilities: 1,500–2,500 sq ft per labor-hour (disinfection protocols slow you down)
- Restrooms: 15–20 minutes per restroom, regardless of size
Your billable rate covers loaded labor cost + supplies + overhead + margin. See the cost breakdown section below for how to calculate it.
Model 3: Flat-Rate Pricing
Best for: Recurring contracts on well-understood facilities, clients who want total cost predictability.
You quote a flat monthly (or per-visit) rate regardless of actual hours. The client gets simplicity. You get margin upside if you run efficiently.
The risk: if the scope expands informally — "while you're here, can you also..." — your margin evaporates. Flat-rate contracts require the tightest scope-of-work language. The "What's Not Included" section isn't optional; it's existential.
Which model to use:
| Situation | Use |
|---|---|
| Large, uniform, open space | Per-square-foot |
| Complex/specialty facility | Labor-hour |
| Established recurring client | Flat-rate |
| First-time client, uncertain scope | Labor-hour (protects you) |
The Cost Breakdown: What a Commercial Cleaning Job Actually Costs You
Every cleaning business owner should be able to break any job into these four buckets. If you can't, you're pricing blind.
1. Labor (50–60% of total job cost)
This is your biggest cost and the one most often underestimated. Don't use base wage — use loaded labor cost.
Loaded labor cost = base wage + payroll taxes + workers' comp + benefits
Typically, add 25–35% on top of the base hourly wage to get loaded cost.
Example: $18/hr base × 1.30 = $23.40/hr loaded
Also factor in: travel time between jobs, time to load and unload equipment, unpaid break time that still costs you if you're paying hourly. These "invisible hours" add 15–20% to your effective labor cost on most jobs.
2. Supplies (15–20% of total job cost)
Cleaning chemicals, paper products, trash liners, mop heads, microfiber cloths. The number that surprises most new cleaning business owners: supply costs scale faster than you expect when restrooms are involved.
Standard office without restroom supply provision: $0.02–$0.04/sq ft/month
With restroom supplies (paper towels, soap, toilet paper): add $40–$80/restroom/month depending on traffic
Track your supply costs per job for 90 days. You'll likely find you've been undercharging by 10–15%.
3. Overhead (20–30% of total job cost)
This is the category that sinks cleaning businesses. Overhead is real, it's constant, and it doesn't stop when a client cancels.
What goes in overhead:
- Insurance premiums (General Liability, Workers' Comp, bonding)
- Vehicle costs (payment, insurance, fuel, maintenance)
- Equipment depreciation (commercial vacuums, floor machines)
- Administrative costs (software, phone, accounting)
- Owner time for sales, scheduling, and quality control
Most cleaning businesses underestimate overhead by assuming it's zero because "I already paid for the equipment." Equipment depreciates. Vehicles need maintenance. Insurance renews. Add 20–30% of your direct costs as an overhead allocation.
4. Profit Margin (15–28%)
Margin is not what's left over. Margin is what you price in from the start.
Industry benchmarks:
- Survival: 10–14% net margin (you're not growing)
- Healthy: 15–20% net margin (you can reinvest)
- Strong: 20–28% net margin (you're building a real business)
If you're at 10% margin, a single lost contract or equipment failure wipes your month. Price for 20%+ and you have room to absorb reality.
The Full Pricing Formula: Worked Example
Let's price a real job: a 6,000 sq ft medical office, 3 restrooms, cleaned 3x/week.
Step 1: Estimate hours per visit
6,000 sq ft at 2,500 sq ft/hr (medical rate) = 2.4 hours of cleaning time
3 restrooms × 18 min each = 54 min = 0.9 hours
Total per visit: 3.3 hours
Step 2: Calculate direct labor cost per visit
3.3 hours × $24/hr loaded = $79.20 per visit
Step 3: Add supplies
$79.20 × 18% = $14.26 per visit
Step 4: Direct cost per visit
$79.20 + $14.26 = $93.46
Step 5: Add overhead (25%)
$93.46 × 1.25 = $116.83 per visit (fully loaded cost)
Step 6: Add margin (22%)
$116.83 ÷ (1 - 0.22) = $149.78 per visit → round to $150
Step 7: Monthly price
3 visits/week × 4.33 weeks = 13 visits/month
13 × $150 = $1,950/month
Cross-check against per-sq-ft: $1,950 ÷ 6,000 sq ft = $0.325/sq ft/month. Medical office benchmark is $0.15–$0.25. We're at the top end for good reason — medical disinfection protocol slows production. That's correct.
Pricing Psychology: How to Present the Number
How you present the price matters almost as much as the number itself.
Lead With Value, Not Price
Spend the first two-thirds of your proposal on scope, qualifications, and what you'll do. Price comes after the prospect understands what they're getting. If you lead with the number, everything after it is just justification for sticker shock.
Always Offer Three Tiers
Single-price proposals force a yes/no decision. Three tiers shift the question to "which option?" — and most clients choose the middle one.
Structure: Essential (2x/week, core service) / Professional (3x/week + extras) / Premium (full service + periodic deep cleans). Price the middle tier at your actual target margin.
Anchor High Before Adjusting
If you give a prospect three tiers and they ask for a lower price, you have room to move to the Essential tier without cutting your margin. If you started with one price and they push back, you're negotiating against yourself.
Don't Apologize for Your Price
The moment you say "I know it's a bit high but..." you've signaled that you don't believe the price is fair. State it flat: "Based on the scope, frequency, and our service guarantee, the Professional package is $1,950/month." Silence after that is fine. Rushing to fill silence with discounts is not.
When to Walk Away
Not every job is worth winning. Here are the situations where walking away protects your business:
- The prospect's budget is below your cost floor. If they tell you their current service costs $400/month and your math says the job costs $600, you cannot make it work without losing money. Politely explain that you can't deliver your service standard at that price point.
- They want to start immediately with no contract. "Let's try it for a month and see" is not a commercial relationship. It's free labor until they cancel. Require a minimum term.
- They've fired three cleaning companies in the last year. Ask about their previous vendors. If they can't name anything the previous company did right, the problem is likely on their end.
- The scope keeps expanding during the walkthrough. "Oh, and we'd also need..." is fine once. If it happens four times, they're not clear on what they want and will never be satisfied with what you deliver.
- They ask you to match a price that can't be real. If a competitor is quoting 40% below market, either they're cutting corners or they'll be out of business in six months. You don't want to compete there.
Walking away from a bad job is not losing business. It's protecting the capacity you need for the clients who value your work.
The Follow-Up System: Why Most Bids Die in the Inbox
You can price perfectly and still lose the job because you didn't follow up.
Data from B2B sales research consistently shows that 80% of service businesses send a proposal and wait. The businesses that follow up within 24 hours close at 40–60% higher rates — not because the prospect rewards speed, but because proposals pile up and whoever reaches back out first gets the response.
The sequence:
| Day | Action |
|---|---|
| Day 0 | Send proposal with personal email (reference the walkthrough) |
| Day 1 | "Just confirming you received it — happy to answer any questions." |
| Day 5 | "Have you had a chance to review? We can start within 1–2 weeks." |
| Day 10 | "Any concerns about the scope or price? Happy to walk through it — even if you're going a different direction." |
| Day 14 | "This pricing is valid through [DATE] — supply costs may require an update after that." |
The Day 10 message explicitly invites "no." This sounds counterintuitive, but it dramatically increases response rate. Prospects who are avoiding you because they don't want to deliver bad news will often respond when you give them permission to say no.
Tools That Make Bidding Faster
The math in this guide isn't complicated, but doing it correctly for every bid takes time. Tools that help:
- Spreadsheet estimator: Build a template once with all your rates pre-loaded. Estimate hours, plug in sq ft, get a price. Free but requires setup and discipline.
- Jobber or ServiceTitan: Field service management with quoting. Good for businesses with multiple crews. $50–$200/month.
- Roopi: Built specifically for service businesses like commercial cleaning. Describe the job, get a complete proposal with tiered pricing, scope of work, and follow-up reminders — in under 5 minutes. No spreadsheet, no formatting, no forgetting the annual increase clause.
At 15+ bids per month, the time savings alone justify the tool cost. The real ROI is in the bids you'd otherwise skip because they take too long to quote.
Start Bidding With Confidence
The cleaning business owners who win the most contracts aren't the ones with the lowest prices — they're the ones who know their costs, present their value clearly, and follow up consistently.
Use the walkthrough checklist on every site visit. Pick the right pricing model for the job. Build in your full cost stack — labor loaded, supplies, overhead, margin. Present in tiers. Follow up four times.
That's the system. Everything else is execution.
Want to generate a complete bid in under 5 minutes?
Try Roopi free — describe the job, get a professional tiered proposal with all the math done for you. No credit card required.