New: See Costs and Profit With Overhead in Your Stats
A $135 job can look like 53% profit or 20% profit once you load in overhead. See the honest, fully-loaded number GCCT now calculates for you automatically.
Chris Wilson
Last Updated: 2026-09-11 — GCCT now turns your monthly overhead into a real per-hour rate, automatically, right inside your calendar stats.
In this guide:
- The Profit Number That Lies to You
- A Job That Looks Profitable Until You Load In Overhead
- How GCCT Calculates Your Overhead Rate
- Where You'll See It: Week Stats and Date Stats
- Setting It Up
- FAQ: Overhead Cost Per Hour
The Profit Number That Lies to You
For years, the profit number I looked at every week was labor-only. Revenue for the day, minus what I paid my cleaners for the hours they worked. If that number was positive, I called it a good day.
It's not a bad number. It's just an incomplete one. Rent on the office doesn't show up in it. Neither does the liability insurance policy, the software subscriptions running the business, the vehicles, or the supplies restocking every week. None of that goes away just because it's not tied to a specific job on the calendar — it still has to get paid, every single month, whether you cleaned 40 houses or 4.
Ask most cleaning business owners what they charge per hour and they'll tell you fast. Ask what a job actually costs once you load in a fair share of overhead, and most go quiet. That gap is where businesses that look profitable on paper quietly bleed cash.
I've written before about the seven hidden costs that eat cleaning business profit — payroll burden, drive time, supplies, and yes, overhead among them. That post walks through the manual math. This one is about something different: GCCT now does that overhead math for you, automatically, every month, and shows it right next to your regular stats.
A Job That Looks Profitable Until You Load In Overhead
Here's a real shape of the problem. Say you run a two-cleaner crew and last month you had 320 scheduled hours across the team. Your average monthly overhead — rent, insurance, software, supplies, vehicles, everything except labor — runs $4,800.
Now look at a single 3-hour recurring clean priced at $135, with $63 in wages paid to the cleaner on the job (an hourly rate plus a few minutes of drive time).
| Metric | Labor-Only View | With Overhead Loaded In |
|---|---|---|
| Job revenue | $135.00 | $135.00 |
| Wages paid | $63.00 | $63.00 |
| Overhead rate ($4,800 ÷ 320 hrs) | — | $15.00/hr |
| Overhead cost for this job (3 hrs) | — | $45.00 |
| Total cost | $63.00 | $108.00 |
| Profit | $72.00 (53%) | $27.00 (20%) |
Same job. Same $135 invoice. One version says you're clearing 53% margin, the other says 20%. Neither number is wrong — they're just answering different questions. "What did I pay this cleaner today" is a real number. "What does running this business actually cost per hour of work performed" is a different, more honest one. If you're pricing off the first number, you're pricing against a business that doesn't exist.
This is exactly the kind of gap I described in why your cleaning business might not be as profitable as you think — it's rarely one catastrophic mistake. It's a handful of numbers quietly running 15-30 points lower than the owner assumed, compounding across every job on the calendar.
How GCCT Calculates Your Overhead Rate
Here's the mechanism, plainly, because I don't want to oversell it: you enter one number, and GCCT does simple division with it.
In Settings → Organization → Company Info, there's now a field called Average Monthly Overhead Expenses. Pull this straight from your P&L — add up every operating expense for a typical month, excluding labor (rent, insurance, software, supplies, vehicles, and so on), and enter that total.
GCCT turns that single number into a real per-hour rate automatically. Each calendar month, it divides your Average Monthly Overhead Expenses by that month's own total scheduled hours across your whole team — the actual hours on your calendar for that month, not an estimate or a rolling average. That per-hour rate gets added on top of wages anywhere GCCT shows you a "with Overhead" figure, giving you a true, fully-loaded cost instead of a labor-only one.
Because the rate is based on scheduled hours rather than hours actually clocked, it stays steady through the month instead of swinging wildly in the first few days before timesheets are complete. A slow first week doesn't suddenly make your overhead rate look artificial — it's grounded in what's actually on the books for the month.
One nuance worth knowing: a week that spans two calendar months (say, the last two days of one month and the first five of the next) blends two different monthly rates, since each month gets its own scheduled-hours denominator. GCCT flags this with an info icon right in the popover so it's never a mystery why a week's overhead number looks slightly different than you'd expect from eyeballing a flat monthly figure.
Where You'll See It: Week Stats and Date Stats
Once you've entered an overhead figure, four new line items show up in both the Week Stats and Date Stats calendar popovers:
- Scheduled Costs with Overhead — what the jobs on the calendar are projected to cost once overhead is loaded in
- Scheduled Profit with Overhead — projected revenue minus that fully-loaded cost
- Actual Costs with Overhead — the same calculation using real clocked hours and wages once jobs are complete
- Actual Profit with Overhead — your true bottom line for the period
These sit right alongside the labor-only numbers you're already used to, so you're not choosing one view over the other — you get both, side by side, and can see exactly how much daylight there is between "what I paid cleaners" and "what this actually cost me to run." If you haven't entered an overhead figure yet, none of this changes — the fields simply don't appear, so nothing about your existing reports changes until you opt in.
This ties directly into the KPI reports most cleaning businesses should already be tracking — profitability being one of the seven categories I'd point every owner toward. Overhead-loaded profit is the more honest version of that same number, viewable at the week or day level without pulling a separate report.
Setting It Up
If you want to see this on your own calendar, here's what's actually involved — it's a five-minute setup, not a project:
- Pull last month's total operating expenses from QuickBooks (or wherever you track your P&L) — everything except labor.
- Go to Settings → Organization → Company Info and enter that figure in Average Monthly Overhead Expenses.
- Save. That's it — GCCT recalculates the per-hour rate automatically going forward, based on each month's own scheduled hours.
- Open Week Stats or Date Stats on your calendar and look for the new "with Overhead" rows.
You can update the number any time your overhead shifts — a new lease, a new software subscription, adding a truck. There's no lock-in and no separate report to configure.
Want a walkthrough instead of figuring it out solo? I'll personally show you how the overhead rate plays into your existing stats, using your own numbers if you want. No sales pitch — just one owner showing another owner what's actually running under the hood.
If you're also trying to figure out profit at the individual employee level rather than the whole-business level, tracking profit per employee is the natural next step once your overhead-loaded numbers are in place.
FAQ: Overhead Cost Per Hour
How do I calculate my true cost per hour in a cleaning business?
Add up your total monthly overhead — rent, insurance, software, supplies, vehicles, everything except labor — and divide it by your total scheduled labor hours for that month. That gives you an overhead rate per hour. Add that rate to your loaded wage cost (hourly pay plus payroll taxes and workers comp, often 1.2-1.4x base pay) to get your true, fully-loaded cost per hour of work.
What counts as overhead in a cleaning business?
Overhead is everything you'd still have to pay even if you didn't clean a single house that month: rent or a home office allocation, general liability and bonding insurance, software subscriptions, marketing spend, vehicle payments and maintenance, and cleaning supplies bought in bulk rather than billed per job. Labor — wages, payroll taxes, workers comp — is usually tracked separately since it scales directly with hours worked.
Why does my cleaning business look profitable but I have no cash left at the end of the month?
This is almost always a sign you're looking at a labor-only or job-only profit number instead of a fully-loaded one. Individual jobs can each show a healthy margin against wages alone while the business as a whole is barely breaking even, because none of those job-level numbers ever accounted for rent, insurance, software, or vehicle costs. Loading a fair share of overhead onto every hour worked is usually what closes that gap in understanding.
How much overhead should a small cleaning business expect per month?
It varies a lot by size and whether you have a physical office, but many solo-to-10-employee residential operations land somewhere between $1,500 and $6,000/month once insurance, software, supplies, and vehicle costs are totaled. The number matters less than the habit of tracking it consistently and re-checking it whenever a major expense changes (a new lease, adding a vehicle, a software upgrade).
Is a $18/hour cleaner actually costing me $18 an hour?
No — almost never. Once you add payroll taxes, workers comp, and a share of overhead, a cleaner paid $18/hour commonly costs $24-32/hour in reality. That gap is exactly why pricing off base wage alone tends to under-price jobs; the fully-loaded number is the one that should drive your rates, not the number on the pay stub.
Should I calculate overhead per job or per month?
Overhead is inherently a monthly figure — rent doesn't come due per job. The useful move is converting that monthly total into a per-hour rate (monthly overhead divided by monthly scheduled or billable hours), which then lets you allocate a fair overhead cost onto any individual job based on how long it took. Trying to assign a literal dollar amount of "this job's share of the rent" without going through an hourly rate first usually produces numbers that don't hold up month to month.
Does adding overhead to my pricing make me less competitive?
Not if your competitors are pricing off a fully-loaded number too — and the ones running healthy businesses usually are, even if they've never put a name to it. What actually makes you less competitive is discovering six months from now that your "profitable" pricing was quietly running at a loss once overhead caught up with you, and having to raise rates sharply and defensively instead of building overhead into your pricing from the start.
What's the difference between gross profit and profit with overhead?
Gross profit typically means revenue minus direct job costs — labor and maybe supplies for that specific job. Profit with overhead (sometimes called net profit or fully-loaded profit) goes further and subtracts a fair share of the fixed costs that keep the business running regardless of any single job — rent, insurance, software, vehicles. Gross profit tells you if a job itself pencils out; profit with overhead tells you if the business as a whole does.



