Cleaning Business

How to Bid Commercial Cleaning Jobs: A Step-by-Step Guide

Learn how to bid commercial cleaning jobs step by step: walkthrough, production rates, labor, overhead and profit, plus a worked office example.

How to bid commercial cleaning jobs: sample office cleaning bid with labor, supplies, overhead and profit

To bid a commercial cleaning job, walk the site, measure the cleanable square footage, estimate labor hours with production rates, then add labor burden, supplies, overhead and profit. Before you send the proposal, check that the price works out to a sensible hourly rate. A clear written scope that shows how you got to your price wins more contracts than a low number does.

Commercial contracts can steady a cleaning business with recurring monthly revenue, but a bad bid locks you into months of unprofitable work. This guide walks through how to bid commercial cleaning jobs step by step, with a worked office example you can copy.

What is a commercial cleaning bid?

A commercial cleaning bid is a written proposal that sets out the scope, schedule and monthly price for cleaning a business facility, such as an office, retail store or clinic. Unlike a one-off residential quote, a bid usually covers a recurring contract and often competes against other cleaning companies.

That competition is mostly small businesses like yours. According to CleanLink, 89 percent of US janitorial firms had no more than 20 employees in 2022. You win by being accurate, fast and professional, not by being the biggest.

How do you bid commercial cleaning jobs?

You bid commercial cleaning jobs in seven steps: walk the site, measure cleanable space, estimate time, cost the labor, add supplies and overhead, add profit and check the price, then send a clear proposal. The graphic below sums up the process.

Seven steps to bid a commercial cleaning job, from site walkthrough to proposal and follow-up

1. Book a walkthrough and ask the right questions

Never bid from a phone call alone. Visit the building, ideally at the time your crew would clean, and ask:

  • How often do you want cleaning, and at what hours can we get in?
  • What do you dislike about your current cleaner?
  • Who supplies paper goods, liners and soap?
  • Are there special areas such as kitchens, labs or high-traffic entrances?
  • How are keys, alarms and security handled?

The answer to “what do you dislike about your current cleaner” tells you exactly what your proposal needs to promise.

2. Measure the cleanable square footage

Cleanable square footage is the floor area your crew actually cleans, excluding storage rooms, mechanical spaces and areas the client keeps locked. Note floor types (carpet, tile, hardwood), the number of restroom fixtures, kitchens and anything that needs extra time.

3. Estimate cleaning time with production rates

A production rate is how many square feet (or units) a cleaner can finish per hour for a given task. ISSA gives the formula: square footage divided by the production rate per hour, multiplied by 60, equals minutes. Mopping 1,000 square feet at 5,355 square feet per hour takes about 11.2 minutes. Restrooms are easier to time by fixture: 10 fixtures at 3 minutes each is 30 minutes.

Use published rates as a starting point, then time your own crew on a few jobs. Your real numbers will always beat an average.

4. Calculate labor cost

Multiply labor hours per visit by visits per month and your hourly wage. Then add labor burden: payroll taxes, workers’ comp and insurance. Jobber suggests adding about 20 percent as a reliable estimate. For reference, CleanLink reports the BLS median wage for janitors and cleaners was $17.27 per hour in 2024.

5. Add supplies and overhead

Supplies include chemicals, liners and equipment wear. Overhead covers insurance, vehicles, software, admin time and your office. Jobber suggests adding 20 to 25 percent to your labor total for overhead.

6. Add profit and check the price

Add a markup for profit, then check the result. Divide the monthly price by monthly labor hours to see your effective hourly rate. Jobber puts typical US commercial rates at $25 to $50 per hour for experienced cleaners, or about $0.05 to $0.20 per square foot. If your price lands far outside the local range, recheck your time estimate before you change the price.

Building typeTypical rate per sq ft (Jobber)What drives the time
Office$0.05 to $0.15Desks, trash, restrooms, break rooms
Retail$0.07 to $0.20Floors, glass, fitting rooms
Restaurant$0.15 to $0.40Grease, kitchens, heavy traffic
Healthcare$0.20 to $0.40Disinfection standards, waste handling
Industrial$0.10 to $0.30Large floors, specialist equipment

7. Send a clear proposal and follow up

Send the proposal within a day or two of the walkthrough while you are still fresh in the client’s mind. Follow up a few days later, and if you lose, ask why. That feedback sharpens your next bid.

Worked example: bidding a 6,000 sq ft office

Here is how the steps come together for a 6,000 square foot office cleaned five nights a week (about 21.7 visits a month). Using production rates, the walkthrough comes out at 3 labor hours per visit, or about 65 hours a month. The numbers below are illustrative, so swap in your own wages and rates.

Line itemHow it is calculatedMonthly cost
Labor65 hours x $18/hour$1,170.00
Labor burden20% of labor$234.00
SuppliesEstimate for liners, chemicals, wear$90.00
Overhead20% of labor, burden and supplies$298.80
Profit25% markup on total cost$448.20
Monthly bidTotal$2,241.00

The bid works out to about $34.48 per labor hour, inside Jobber’s $25 to $50 range for experienced cleaners, with a profit margin of 20 percent. The graphic below shows where each dollar goes.

Cost breakdown of a $2,241 monthly commercial cleaning bid for a 6,000 sq ft office

Get early access to Cleannetic

Cleannetic is a WordPress booking plugin for cleaning companies, launching soon. Join the waitlist for an early-access invite and launch updates.

What should a commercial cleaning proposal include?

A strong commercial cleaning proposal shows the client exactly what they get, when, and for how much, so they can compare you fairly with other bids. Include:

  • A short summary of the client’s needs from the walkthrough
  • Scope of work by area (offices, restrooms, kitchen, entrances) and frequency (nightly, weekly, monthly)
  • Cleaning schedule and access arrangements
  • Monthly price and what it includes, plus optional add-ons such as window cleaning, carpet cleaning or pressure washing
  • Proof you are insured, plus references or reviews
  • Contract term, notice period and payment terms
  • Your cancellation and missed-visit policy (see our guide on writing a cleaning business cancellation policy)

What mistakes cost you commercial cleaning bids?

Most lost or unprofitable bids come from guessing instead of measuring. Watch for these:

  • Pricing by square foot alone. Two 5,000 square foot buildings can need very different hours.
  • Forgetting labor burden and overhead. A price that only covers wages loses money every month.
  • Underbidding to win. Clients who choose the cheapest bid often leave for a cheaper one.
  • Vague scope. “General cleaning” invites disputes. List tasks and frequency.
  • Slow replies. A walkthrough request that sits in your inbox for days goes to a faster competitor.

For residential and one-off pricing methods, see how to price cleaning services: hourly vs flat rate.

How does online booking help you win commercial cleaning work?

Online booking helps you win commercial work by capturing walkthrough requests the moment a facility manager is ready, along with the details you need to prepare. Instead of trading emails to learn the building size and schedule, a booking form on your website collects it up front.

That is the problem Wpfinity is building Cleannetic to solve. Cleannetic is an upcoming WordPress booking plugin for cleaning companies, launching soon as a free version on WordPress.org plus a pro version. It supports office cleaning alongside residential, deep cleaning, move-in/out, window, pressure washing, carpet, junk removal and your own custom service types, so commercial and residential clients can book from the same site.

If you are setting up booking for the first time, start with our online booking setup guide for cleaning businesses, or compare options in cleaning booking software vs a WordPress plugin.

Frequently asked questions

How much should I charge for commercial cleaning?

Most US cleaning businesses charge about $25 to $50 per hour or $0.05 to $0.20 per square foot, according to Jobber. Build your price from labor hours, labor burden, supplies, overhead and profit, then check it against local rates.

What is a good profit margin on a commercial cleaning bid?

Many cleaning businesses aim for a profit margin of roughly 10 to 30 percent after all costs. In the worked example above, a 25 percent markup on cost gives a 20 percent margin.

How do I calculate cleaning time for a bid?

Divide the square footage of each task by its production rate per hour and multiply by 60 to get minutes, as ISSA recommends. Time restrooms by fixture, then check the estimate against your own crew’s real times.

Should I bid commercial cleaning without a walkthrough?

No. A walkthrough shows you floor types, fixtures, clutter and access issues that drive labor time. Bidding blind usually means underpricing or overpricing the job.

How long should a commercial cleaning proposal be?

Two to four pages is usually enough: a summary, scope by area and frequency, schedule, price, terms and proof of insurance. Clear and specific beats long.

Can a WordPress booking plugin handle commercial cleaning requests?

Yes. A cleaning booking plugin such as Cleannetic, launching soon, can collect walkthrough requests with building details on your WordPress site, alongside residential and specialty services.

Be first to try Cleannetic

Want online booking for office, residential and specialty cleaning on your own WordPress site? Join the waitlist and we will send your early-access invite and launch news.

Wpfinity
Written by Wpfinity

Building focused, lightweight plugins for WordPress and WooCommerce at Wpfinity.

More articles by Wpfinity →
Stay in the loop

Get new articles & release notes in your inbox

Sign up for updates on our upcoming releases. No spam — unsubscribe anytime.

Subscription Form

Leave a Reply

Your email address will not be published. Required fields are marked *