Why Margin Leaks Stay Invisible Until You Go Looking
An HVAC business can post its best revenue year ever and still be bleeding money on a growing share of its jobs. Revenue growth and profit health are two separate questions, and a P&L that only reports the top one will let a real problem run for years before anyone notices.
A profit leak doesn't show up where most owners look first. Our own audit methodology treats the P&L summary as the wrong altitude to spot one: it aggregates a hundred jobs into one number, and averaging is exactly what hides the leak. You can't fix what you can't see, and what's leaking is usually buried inside job types the summary line never breaks out.
Finding exactly where your HVAC margins are leaking means going down to the job-costing level, not staring harder at the same P&L. A maintenance agreement that quietly slips into unprofitable territory looks identical to a profitable one once its cost gets folded into total revenue. The leak in your HVAC business is real long before it's visible.
The leak in your HVAC business is real long before it's visible.
Where HVAC Margin Actually Starts: Gross Profit and Job Costing
Before you can find a leak, you need the right definition of margin to check it against. Gross margin is revenue minus direct job costs: labor, material, and any subcontractor cost tied to that specific job. It's the number closest to the job itself, before overhead gets layered on top.
Getting to a reliable gross margin figure requires job costing: assigning those direct job costs to a specific job and job type (service call, install, or maintenance agreement) instead of dumping them into one company-wide cost of goods sold figure. Job costing is what lets you compare a service call's real cost of goods against an install's, rather than blending them into a single average that describes neither.
Our audit methodology also treats an outdated pricebook as one of the most common, quietest sources of gross margin compression. Labor and material cost move every year. If the pricebook hasn't moved with them, the price charged on a job no longer covers what it actually costs to deliver, and HVAC profit erodes on every job sold at that stale price without a single line item ever flagging it.
If the pricebook hasn't moved with them, the price charged on a job no longer covers what it actually costs to deliver, and HVAC profit erodes on every job sold at that stale price without a single line item ever flagging it.
The Places Margin Actually Leaks in a Residential HVAC Shop
Once job costing is in place, five patterns account for most of what actually erodes margin.
Labor burden is the first place margin disappears. Payroll tax, insurance, and benefits loaded onto a technician's hourly cost are frequently left out of the number used to price a job, which means the job was priced against a labor cost that was never the real one.
Callbacks and rework are the second. A job that has to be revisited consumes labor hours a second time, but there's no second invoice to match it. The original price now has to absorb double the labor it was quoted against.
Average ticket size is the third, and it moves slower than the other two. If technicians on service calls aren't consistently presenting the full range of repair and replacement options, average ticket size erodes gradually, and an HVAC company can go a year without noticing because it doesn't show up as a single bad month.
Service agreements are the fourth. When a service agreement is priced below what it actually costs to fulfill - parts, labor hours, dispatch time - every member sold under that price scales the loss rather than the profit, and many HVAC companies mistake agreement volume for agreement health.
Marketing spend is the fifth. Spend that isn't tracked against the job type and revenue it actually produced leaves an owner with no way to tell which channel is profitable and which is money on the table. HVAC contractors often keep paying for a channel simply because it's been running for years, not because anyone traced revenue back to it.
When a service agreement is priced below what it actually costs to fulfill - parts, labor hours, dispatch time - every member sold under that price scales the loss rather than the profit, and many HVAC companies mistake agreement volume for agreement health.
What Field Service Software Shows You, and What It Doesn't
Field service software records dispatch, job history and technician time at the job level. That is the raw data a margin diagnostic works from.
But that data only shows a leak if it was categorized correctly by job type and cost center in the first place. If a tech's hours were logged under the wrong job type, or a service call's material cost was mis-tagged, every report built on that data repeats the mistake. A diagnostic checks what went into the software. It does not replace the software.
A diagnostic checks what went into the software.
Reading Your Own Financials Like an Auditor
Before paying for an outside audit, there's a cross-check an owner can run himself. Take what your bookkeeper or accountant classifies as cost of goods sold and compare it against what dispatch records show was actually spent in labor and material per job. Once job costing is applied consistently, the two often disagree, and the gap is worth chasing down before assuming the accounting is right.
Net profit margin (what's left after overhead like rent, marketing spend, and admin salaries) tells you less about where a leak is than gross margin by job type does. Net margin is already an average of your good jobs and your bad ones. It can look acceptable on total revenue while individual job types are losing money underneath it.
Cash flow health and profit margin health aren't the same check either. A business can be cash-flow positive purely from deposits coming in ahead of work performed, and still be losing margin on jobs it's already completed. Specific numbers by job type, not annual revenue or cash in the bank, are the levers to pull.
Net margin is already an average of your good jobs and your bad ones.
What a Margin Leak Diagnostic Checks That a Glance at the P&L Can't
The Anchorfield revenue audit is a margin leak diagnostic of this kind: it maps direct job costs and labor burden by job type across a sample of completed jobs, rather than relying on one aggregate P&L number. That's the structural difference from what most HVAC owners already do when they check their numbers: they look at the whole business, not the job type doing the damage.
The output names the specific job type, service line, or pricing gap where margin is being lost. Many HVAC owners already know their margins compress somewhere; what they don't have is the specific job type or service line responsible, and that's the difference between a feeling and something you can act on. Every dollar recovered this way comes from a decision an owner can actually make - repricing a service agreement, retraining a callback pattern, updating a pricebook - not from working harder on jobs that were already fine.
Many HVAC owners already know their margins compress somewhere; what they don't have is the specific job type or service line responsible, and that's the difference between a feeling and something you can act on.
What Is the Typical Profit Margin for HVAC Businesses?
There's no single reliable industry-wide figure to cite for typical HVAC profit margin. Margin varies too much by job mix (install-heavy versus service-heavy), by region, and by how consistently a shop applies job costing in the first place. That makes any one average close to meaningless for a specific business.
The more useful number isn't an industry benchmark but your own gross margin broken out by job type, measured against your own prior periods. That comparison is internally consistent in a way an industry average never is.
Is a 70% Gross Margin Good for a Company?
It depends on what the 70% is measuring. Gross margin is revenue minus direct job costs, so a 70% on one labor-heavy job type says little about the company as a whole, because overhead has not been subtracted yet.
The better check is your own gross margin by job type, compared against your own earlier periods and against what is left after overhead. A high figure on service calls can sit next to a weak one on installs, and both can be accurate.
Key Takeaways
Margin leaks live at the job-costing level, not on the summary P&L, so a business can look fine on paper while individual job types lose money.
Gross margin equals revenue minus direct job costs; net margin subtracts overhead on top and averages away where the actual leak is.
The five most common places HVAC margin leaks: unbooked labor burden, callbacks and rework, eroding average ticket size, underpriced service agreements, and untracked marketing spend by job type.
Field service software captures the raw job-level data a diagnostic needs, but its reports are only as reliable as how each job was categorized in the first place.
There's no dependable industry-average profit margin figure worth benchmarking against; comparing a shop's own gross margin by job type over time is the reliable check.
You already know something is wrong.
Ninety seconds will tell you how big it usually is.


