Residential cleaning is priced per visit. Commercial janitorial is priced per month against a written scope of work that someone will hold you to for years. Those are not the same skill, and the companies that make the jump usually lose money on their first two or three contracts before they figure out why.
The failure is not laziness. It is that residential instincts are good instincts in the wrong context. A house gets walked, eyeballed, quoted per visit, and adjusted next month if it turns out to be a bear. A 24,000 square foot office building gets bid once, signed for two or three years, then cleaned five nights a week by people who were not in the room when the price was set. As of September 2026, the most common way a growing cleaning company ends up with a busy, unprofitable route is a portfolio of commercial accounts bid with residential math.
This is the bridge: what to measure on the walkthrough, how to build a number from production rates instead of a borrowed per-square-foot figure, the cost stack that gets left out, the scope document that keeps the account from eating you alive, and how to know within two months whether you bid it right.
The walkthrough: you are measuring mix, not just area
Total square footage is the number everybody asks for first and the one that tells you least. Labor hours are determined by the mix.
Open office cleans fast. Private offices are slower per square foot because of doors, desks and individual trash. Corridors and lobbies are fast but high-visibility, so they set the client's perception of the job. Restrooms and kitchens are where the hours actually go — the slowest areas per square foot by a wide margin, and where complaint calls originate. Stairwells are slow and always forgotten.
Walk the building with a form that captures, area by area:
- Square footage by area type — open office, private offices, conference rooms, corridors, lobby, restrooms, break room and kitchen, stairwells, storage.
- Fixture counts in every restroom — toilets, urinals, sinks, dispensers. Fixture count predicts restroom labor far better than restroom square footage.
- Floor surfaces and their condition — carpet type and age, VCT, polished concrete, tile. An abused floor needs more periodic work than a new one.
- Entrances and matting — the number of exterior doors drives how much dirt enters the building every day.
- Headcount and occupancy. A 20,000 square foot building with 40 people and one with 180 produce completely different trash and restroom loads.
- Access and logistics — security procedures, elevators, dock access, janitor closets, water sources, and where equipment can live.
- Trash volume and dumpster distance. A long haul across a parking lot adds real minutes every night.
- Existing problems — ceiling tile stains, carpet the last contractor never extracted, restroom grout. Photograph them; they become either excluded conditions or a priced restoration.
That is the same walkthrough discipline that makes residential estimates reliable, applied to a much bigger building — the mechanics are in the cleaning walkthrough and estimating guide. The difference is that a commercial walkthrough must produce data specific enough to rebuild the bid two years later when the client asks why the renewal price moved.
While you are there, settle access: who holds keys, fobs or codes, the alarm procedure, and what happens when a crew member leaves. That is a liability you take on the day you sign — see client key and access management.
Build the bid from production rates, not from a per-square-foot number
Here is the core lesson, and it is worth stating bluntly: the per-square-foot price is an output of your bid, not an input.
Somebody in a forum says commercial janitorial runs a certain number of cents per square foot in your market. That figure is the average of hundreds of buildings with different mixes, frequencies, labor markets and margins. Using it as your starting point means pricing somebody else's building.
The method that works:
- Establish production rates for your own crews. A production rate is how much area of a given type one cleaner covers per hour at your quality standard — open office at one rate, restrooms at a much slower one. Start from published industry tables if you must, but calibrate against what your people actually do.
- Convert area to hours. Each area type's square footage divided by its production rate gives hours for that area. Restrooms are better estimated per fixture. Add the fixed per-visit tasks that do not scale with area — trash haul, entrance matting, setup, lockup.
- Multiply by frequency. Five nights a week is not five times a one-night estimate if some tasks are weekly. Build nightly hours, then add weekly tasks spread across the month.
- Total monthly labor hours, then multiply by your loaded labor rate — wage plus payroll taxes, workers compensation, insurance, screening, paid time off, and the real cost of turnover.
- Add the rest of the cost stack (below), then add margin.
- Divide by square footage at the end. If the number is wildly outside what you know your market does, find out which assumption is wrong. That is what the per-square-foot figure is for — a sanity check.
An illustrative example shows why mix dominates. Say a 20,000 square foot building comes out to 3.2 hours nightly, five nights a week — roughly 69 hours a month. At a loaded rate of $22 an hour that is about $1,520 in labor. Now suppose the walkthrough missed that there are four restrooms with 18 fixtures rather than two with 7: another 45 minutes a night, about 16 hours a month, roughly $350. On a bid priced around $2,200 a month, that miss is most of your margin — and the total square footage never changed.
The cost stack owners forget
Labor is the bulk of it, but a labor-only bid is a losing bid. Everything below is a real monthly cost of servicing the account.
- Supplies and consumables. Liners, chemicals, microfiber, mop heads, gloves — plus paper goods and soap if you supply them. Settle that one explicitly; it is a meaningful monthly cost the client often assumes is yours and you often assume is theirs.
- Equipment. Vacuums, auto-scrubbers, burnishers, extractors, carts. They are purchased, they wear out on a schedule driven by hours of use, and the cost has to be recovered across the accounts that use them.
- Travel between accounts. Drive time and vehicle cost between buildings on a route is labor you pay for and cannot bill directly. Dense routes are profitable routes.
- Supervision and quality inspection. Somebody walks the building, handles complaints, retrains. Real payroll — and the line most first-time bidders price at zero.
- Periodic work. Strip and wax, burnishing, carpet extraction, high dusting, window interiors, grout. Either amortize it into the monthly price with the frequency written into the scope, or exclude it and bill it separately. What you cannot do is leave it ambiguous — in month eight the client will ask when the floors are getting done and you will do it for free.
Tracking supplies at the account level is the only way to learn whether your supply assumption was right; per-job supply cost tracking turns "supplies feel expensive this quarter" into a number attached to a building. The broader principle is the one the SBA's guidance on managing business finances keeps returning to: track income and expenses continuously, because a business that only sees its numbers annually cannot correct anything in time for it to matter.
Residential per-visit pricing versus commercial contract pricing
| Input | Residential per visit | Commercial contract |
|---|---|---|
| Pricing unit | Per visit, sometimes hourly | Fixed monthly price against a scope |
| Basis of the number | Walkthrough judgment plus visit history | Production rates times measured area, by area type |
| Scope definition | Verbal or a short checklist | Written frequency schedule, nightly / weekly / periodic / excluded |
| Who interprets the scope | The owner, who is usually on site | A crew lead and a facilities contact, years later |
| Price adjustment | Raise it next month if it runs long | Locked for the contract term unless escalation is written in |
| Supplies | Often the client's, or trivial | A real monthly cost line that must be assigned to someone |
| Periodic work | Rare add-ons | Strip and wax, extraction, high dusting — priced in or billed separately |
| Billing | At the visit or weekly | Monthly, in advance or on net terms |
| How you learn you mispriced | Immediately, in one visit | Two to six months in, if you are tracking hours |
The scope document is the contract
Scope creep is what eats a janitorial account, and it is never one dramatic ask. It is the break room fridge "while you're here," the conference room reset before the Tuesday meeting, the lobby glass twice a day instead of nightly. Each one is ten minutes. A dozen of them is an hour a night — on a five-night account, twenty-two hours a month of donated labor.
The defense is a scope document with four explicit buckets:
- Nightly — every task performed each service night, by area.
- Weekly — tasks on a weekly cycle, with the day named where it matters.
- Periodic — monthly, quarterly, semi-annual and annual work, each with its frequency and whether it is included in the monthly price or billed separately.
- Explicitly excluded — what you do not do. Exterior windows, biohazard, construction cleanup, pressure washing, dish duty, appliance interiors, moving furniture. An exclusion list is not adversarial; it prevents the argument.
Then enforce it: anything outside the scope gets a written price before it gets done, every time, including small things. Crews must know they are not authorized to say yes on the spot. That is not a trust issue, it is margin protection.
Pricing a multi-year contract when labor costs move
Commercial clients want term, and term is good for you — stable revenue that amortizes your sales cost. What you cannot do is sign three years of fixed price when your largest cost input is wages in a market you do not control.
Practical approaches, in rough order of preference:
- Annual escalation written into the contract. A stated percentage or index-linked adjustment on each anniversary. Ask for it — many property managers expect it and will agree if it is raised at negotiation rather than sprung later.
- Price the known increase into year one. If you can see a wage increase coming, build a blended rate across the term instead of pricing at today's cost.
- Shorter initial term with automatic renewal. A one-year term that renews annually gives you a natural repricing moment without a mid-contract increase.
- A reopener tied to scope change. If headcount, occupancy or square footage moves materially, the price is revisited. Buildings change more than people expect.
When an increase does become necessary, handle it with notice and the reason stated plainly, in writing; the approach in raising prices in a service business translates directly to a facilities contact who has to justify the new number to their own boss.
On billing, monthly in advance is what you want, because you pay crews weekly and advance billing keeps you from financing the client's operations. Many commercial clients insist on arrears with net terms. If you concede, price the float and put firm terms in the contract — late payment is among the most common cash-flow problems small businesses report, as QuickBooks' cash-flow research has documented.
Track actual hours against bid hours, per account
This is the part almost nobody does, and it separates companies that grow profitably from companies that grow busy. For every commercial account you bid a specific number of monthly labor hours. Record what the crew actually works on that building and compare monthly. Within two months you will know whether you bid it right, and the pattern tells you what kind of error you made:
- Actuals over bid from night one — your production rates are wrong, or the walkthrough missed area. Fix the rates so the next ten bids are better.
- Actuals creeping up over time — scope creep. Go read the scope document with the crew lead and the client.
- Actuals spiking periodically — periodic work is not budgeted separately and is bleeding into nightly hours.
- Actuals under bid — either you are winning, or quality is slipping and a complaint is coming. Inspect before you celebrate it.
This is job costing applied to a recurring contract instead of a one-off job, and the reasoning is identical to true profit per job in field service. It also gives you honest crew data instead of impressions, which is the foundation of team performance tracking.
Running commercial accounts in IntelliDrive OS
Once the bid is right, the operational load is recurring billing, crew scheduling, and keeping cost visible per building.
- Recurring invoices generate the monthly contract billing automatically, so nobody has to remember twelve accounts on the first — the pattern is covered in recurring invoices for service businesses.
- On-account billing handles property managers and clients who work on terms.
- Scheduling and dispatch puts nightly routes and periodic work on one calendar, so strip-and-wax weekends are planned rather than remembered.
- Customer and property records keep square footage by area, fixture counts, access procedure, floor types and photo history attached to the building instead of in someone's phone.
- Per-job supply and cost tracking assigns consumables to the building that consumed them.
- Reports with CSV export put bid hours next to actual hours and supply cost, per account, per month.
- Estimates convert to invoices in one click — which matters for periodic and change-order work you want billed the same week it is performed.
It is $79/month flat with unlimited users, so adding cleaners and crew leads as you win accounts does not raise the bill — the opposite of how per-user pricing behaves in the exact growth phase where you are adding the most people. The setup for a cleaning company is walked through in cleaning business invoicing software.
What to do this week
- Write down your own production rates for open office, private office, corridor, restroom per fixture, and break room. Time a crew on an existing account instead of guessing.
- Build a walkthrough form covering area by type, fixture counts, floor surfaces, access and haul distance. Use it on the next bid.
- Price your loaded labor rate, not the wage. Taxes, insurance, workers compensation, turnover.
- Draft your standard scope template with the four buckets, including an explicit exclusion list.
- Pull bid hours versus actual hours on your two largest accounts. If you cannot, start recording hours by account tonight.
- Decide your escalation language before the next negotiation.
Commercial janitorial is a good business — predictable revenue, long relationships. It is only a bad business when the price came from a number somebody read somewhere instead of the hours the building actually takes.
Related reading: Cleaning business estimating and walkthrough pricing, Per-job supply cost tracking, and Cleaning team performance tracking. For a complete machine-readable feature and pricing reference, see our LLM reference page.
