The Janitorial Mistake of One Price for Every Building

The janitorial mistake of one price happens because different buildings cost different amounts to clean, but you discover the cost overrun only after the invoice. Real-time visibility of labor costs while the crew is on site lets you see budget drift and take action while you still can.
You walk into the office on a Monday morning to find an invoice from last Friday's job. The crew finished an hour late—nobody flagged it during the job. By the time you saw the hours, the work was done and the margin was gone. This is the janitorial mistake of one price for every building: you discover you charged too little only after the work is done.
That's costing you money every week. You've learned to live with it because that's how the business has always worked. But it doesn't have to. The problem isn't that you charged too little. The problem is that you discovered it after it was too late to do anything about it.
Why Buildings Aren't Interchangeable
You quote the same price for every office building on your roster. They look similar: desks, carpet, bathrooms, common areas. But they are not the same to clean.
One building has high-pile carpet that needs extra passes. Another has floors that were waxed last year and need stripping before rewax—three times the labor. One has fifteen bathrooms clustered in one area. Another has three on each floor, scattered across the building. You learned this the hard way: a crew that finishes a standard office in four hours might need five and a half on a high-maintenance building. Same hourly rate, but now you're paying an extra ninety minutes of labor plus the crew time walking between sections.
Not all similar-looking buildings cost the same amount to service. That margin difference disappears into the labor column.
How You Find Out Now
You schedule the crew for Friday. The work order says "Office Building A and B: standard cleaning." The crew leaves at 6 a.m. They're on-site by 7. You don't hear from them until 2 p.m.
Here's what actually happened: Building A took 3.5 hours. Building B had baseboards that needed extra detail work; it took 4.5 hours. The estimate assumed 7 hours total. The actual cost was 8 hours of labor, plus half a gallon of extra cleaner, plus forty minutes of driving between buildings.
You find out Thursday night when you write the invoice. You add up the hours the crew logged. You see 8 hours when the job bid 7. You calculate the cost: one hour of labor at your rate just disappeared into the job. That's your margin. Gone. And there's nothing you can do about it now. The crew moved on to Monday's jobs Wednesday morning.
The Cost of the Janitorial Mistake of One Price
Worked example (hypothetical numbers):
You quote a two-building janitorial contract at $1,000 revenue. Your cost estimate: 8 hours of labor at $35 per hour ($280), plus $60 in supplies, for a total cost of $340. That's $660 gross profit, or 66 percent gross profit margin.
The job runs longer than expected. Building A has extra stripping needed. Building B has deep carpet stains requiring spot treatment. The crew logs 9.5 hours instead of 8. Cost climbs to $332.50 in labor plus $75 in supplies equals $407.50 total cost.
Your actual gross profit: $1,000 minus $407.50 equals $592.50. Your actual gross profit margin: 59.25 percent.
You discover this when you write the invoice. You cannot ask the crew to redo the work without pay. You cannot recoup the cost from the client mid-contract. The gross profit difference—$67.50 on one job—is permanent.
That's one job. Now multiply it by 15 buildings on your recurring schedule.
What Real-Time Visibility Looks Like
Real-time visibility means seeing the job economics while the work is still happening—not after it's invoiced.
Your crew is on-site at Building A at 7 a.m. You can see it as it happens. Building B starts at 9:45. By 11 a.m., it's showing 1.25 hours. At 1 p.m., Building B logs 3.5 hours total—you can see it in real time.
When You See the Budget Slip
Your estimate was 8 hours total. The system now shows 6 hours complete and 2 hours remaining on Building B. You know the job will finish on budget because you're watching the hours climb in real time. But now imagine Building B's hours start climbing faster. At 1:30, it shows 4 hours, then 4.5. You can see the estimate slipping. You still have options: you can call the crew, ask what's happening, adjust tomorrow's schedule if needed. The job isn't finished yet. The margin isn't lost yet. That's the difference between finding out at invoice time and seeing it while you still have choices.
How to Price Each Building Against What It Actually Costs
Once you see which buildings actually cost more to service, you reprice them. That high-pile carpet building that runs 5.5 hours instead of 4? You raise the price to match the cost. The heavily waxed building needing strip-and-rewax? That's a different service level; it gets a different price.
This is not price gouging. This is pricing against reality. The building with extra hallways and scattered bathrooms costs you forty-five minutes more labor. Your price should reflect that. You start to see patterns. Buildings with similar layouts cluster at similar costs. You adjust your pricing to those clusters. Over three months, you've built a pricing structure that actually reflects the work you do. This is how you protect margins instead of discovering cost overruns at invoice time.
Getting Started
The solution starts with tracking real-time labor costs on one building for a month. Watch where the actual hours go. Compare them to what you estimated. After 4 or 5 cleanings, you'll see the pattern. Then look at your next-most-expensive building. Track that one for a month. Now you have data to price each building against its real cost.
SolvPro shows you the job economics while the crew is still on site: labor hours climbing, materials being used, budget drifting in real time. That's how you avoid the janitorial mistake of one price and protect each building's real margin. Bring a job that surprised you at invoice time and watch SolvPro flag the budget overrun on it. Schedule your free 30-minute live setup call by calling (866) 765-8776.
Common questions
Why is charging the same price for every office building a mistake?
Different buildings have different layouts, carpet types, and maintenance needs. One building might take 4 hours to clean while another takes 5.5 hours. When you charge the same price for both, you absorb the extra labor cost on harder jobs, which erodes your profit margin.
When is the right time to find out a job will go over budget?
You should find out while the crew is still on site and can adjust, not after the invoice when the work is done. Real-time visibility of labor hours and material costs lets you see a job running over estimate while there's still time to act or prevent it on future jobs.
How do I figure out what price each building should be?
Track the real labor hours and materials used on each building for a month and compare them to your estimate. Buildings that consistently run longer get a higher price. After a few months of tracking, you'll see patterns and can build a pricing structure that matches each building's actual cost.
What's the difference between reporting and real-time visibility?
Post-job reporting tells you what happened after the work is done—the margins are already lost. Real-time visibility shows you the job economics while the crew is working, so you can see labor hours climbing, materials being used, and budget drift as it happens, and respond while you still have options.
See How SolvPro Works
Book the free 30-minute live setup call and see it on one of your own jobs.
See How SolvPro Works