If you run a multi-crew home services franchise — HVAC, plumbing, cleaning, pest control, lawn care — there’s a good chance your bookkeeping is treating your technicians’ pay the same way it treats your office manager’s pay. That single decision is one of the most common and most damaging errors we find when we clean up a new client’s books, because it silently erases the one number you need most: which jobs, crews, or locations are actually making money.
Here’s the mistake, why it happens, and exactly how to fix it — with the journal entries side by side.
The Mistake: Treating Technician Labor as a Flat Operating Expense
Most off-the-shelf bookkeeping setups (and a lot of generalist bookkeepers) post all payroll to a single “Payroll Expense” account. Office staff, the owner’s salary, and field technician wages all land in the same bucket, below the gross profit line.
Incorrect treatment (what we typically find):
| Account | Debit | Credit |
|---|---|---|
| Payroll Expense | $28,400 | |
| Cash / Payroll Clearing | $28,400 |
That $28,400 includes $19,600 of technician wages tied directly to completed jobs and $8,800 of office, sales, and admin salaries — all blended into one line.
The problem: your P&L now shows a single payroll expense with no way to tell how much labor it actually took to deliver $61,000 of service revenue. Your gross margin is meaningless because the biggest direct cost of delivering the service — the technician standing in the customer’s driveway — isn’t in COGS at all.
The Correct Treatment: Split Direct Labor Into COGS
Technician or crew labor tied directly to completing jobs is a direct cost of the service you sold — it belongs in COGS, right alongside materials and subcontractor costs. Office, sales, and admin payroll stays below the line as an operating expense, because that cost exists whether you ran one job or fifty this month.
Correct treatment:
| Account | Debit | Credit |
|---|---|---|
| COGS – Field Labor | $19,600 | |
| Operating Expense – Admin Payroll | $8,800 | |
| Cash / Payroll Clearing | $28,400 |
Same total cash outflow, same $28,400 — but now your P&L can actually tell you something. Revenue of $61,000 minus direct costs (field labor $19,600 plus materials/parts $9,150) gives you a true gross profit of $32,250, a 52.9% gross margin. Compare that to a blended payroll model where the “margin” number doesn’t isolate delivery cost at all, and you can see why franchisors and lenders specifically ask for this breakout.
Why This Error Is So Common in Home Services
Three structural reasons this mistake shows up constantly in this vertical: technicians are often paid a mix of hourly base plus commission or per-job bonus, which makes it tempting to just dump the whole payroll run into one account rather than split it; QuickBooks Online’s default chart of accounts doesn’t separate field labor from admin labor out of the box — someone has to build that structure intentionally; and payroll providers (Gusto, ADP, ADP-adjacent platforms) report by employee, not by job type, so the split has to happen at the bookkeeping level, not the payroll level.
How to Fix It Without a Full Payroll Overhaul
You don’t need to change how you run payroll to fix this. You need your bookkeeper to tag each payroll run by employee role before it posts, splitting the journal entry the way we did above. In practice this means:
Building two payroll accounts in your chart of accounts — COGS: Field Labor, and Operating Expense: Admin/Office Payroll.
Getting a role list from your payroll provider (field techs vs. everyone else) once, then updating it only when staff changes.
Allocating each pay run between the two accounts based on that role list before it’s coded, not after.
If you run multiple locations, this same split needs to happen per location so you can compare crew efficiency location to location — a crew running 54% gross margin next to one running 41% is a conversation worth having, and you can’t have it if labor is buried in one number.
What This Number Actually Tells You Once It’s Fixed
Once field labor lives in COGS, three things become visible that weren’t before: your true gross margin per job type (installs typically carry different margins than repair calls — you can finally see the gap), your break-even point on a slow week (fixed operating costs don’t move with job volume, so you know exactly how many jobs cover your admin overhead), and crew-level efficiency across locations, which is often the single biggest lever multi-unit home services operators have for improving profit without raising prices.
Get This Checked Before It Costs You a Decision
This is a five-minute fix once someone builds the structure — but it’s the kind of error that compounds every month it goes uncorrected, because every financial decision you make off a blended payroll number (pricing a job, hiring another crew, opening a new territory) is built on a number that isn’t telling you the truth.
Book a free 20-minute call and we’ll take a look at how your current payroll is coded — no obligation, just a straight answer on whether your margins are real.
