How to Find Where Profit Is Being Lost in Your HVAC Business
You’re busy.
Crews are booked out. Jobs are getting done. Revenue looks fine.
But the numbers don’t line up with how the business feels.
You finish a month and think:
“We did a lot of work… where did it go?”
“Installs should be making money… I think.”
“We’re not losing money, but we’re not really keeping it either.”
You look at your P&L, and it shows a profit.
But your bank account tells a different story.
A Simple Question
If you had to pick your last 5 jobs…
Could you say which ones actually made money—and exactly why?
Most owners can’t.
Which means you’re likely running jobs without knowing what they actually produced.
The Real Problem
Most HVAC businesses don’t have a profit problem.
They have a visibility problem.
You price jobs based on what you think will happen:
how long it should take
what materials should cost
how the job should run
But almost no one compares that to what actually happened.
So the business runs on assumptions.
Not feedback.
Which means you’re making decisions—pricing, staffing, scheduling—without knowing how your jobs actually perform.
That’s how you end up in a situation where:
jobs look fine on paper
but margins are quietly breaking down in the field
Most businesses assume installs are profitable because there’s no clear way to prove otherwise.
And if you can’t trace why a job missed margin, you can’t correct it.
So the same issues repeat on the next job.
What Most Businesses Do
When something feels off, most owners don’t look at jobs.
They look at totals.
They:
raise prices
push for more volume
check the monthly P&L
rely on QuickBooks summaries
assume installs are profitable
The problem is—
none of those show where profit is actually being lost.
They only show the result.
Not the cause.
So decisions get made without seeing what’s really happening underneath.
What Actually Needs to Be in Place
To find where profit is being lost, you need to see jobs clearly.
Not just revenue.
Not just totals.
Each job needs to connect:
what you charged
how many hours were worked
what materials were used
what you expected vs what actually happened
Without that, there’s no way to diagnose anything.
You’re just looking at outcomes after the fact.
What to Look For
(Where Profit Usually Breaks)
Once you can see jobs this way, patterns start to show up quickly.
Not theories—patterns.
And this is where it gets uncomfortable.
Because individually, each job looks close enough.
Across 20–30 jobs, that’s where profit disappears.
Jobs that look big but don’t produce margin
High-revenue installs with low or thin margins.
Usually caused by:
labor running longer
materials coming in higher
scope expanding without being priced
Wide swings between similar jobs
Two similar installs:
one makes 45%
one makes 20%
Same type of work. Different result.
That’s not random.
That’s inconsistency you can’t currently see clearly.
Labor that never matches the estimate
Jobs planned for:
2 techs over 2 days
Turning into:
3 techs over 3 days
But the price doesn’t change.
The job still looks fine.
But the margin is already gone.
Time that never gets tied to jobs
Techs are on payroll for 40 hours.
But only 22–25 hours show up on actual jobs.
The rest sits in:
drive time
shop time
callbacks
“misc”
Which means your pricing assumes a level of productivity that doesn’t exist.
Materials that don’t match what was billed
Parts get used.
But not always billed.
Or they get buried in “misc.”
Small gaps, repeated across jobs—that’s where profit disappears.
Jobs that take longer—but don’t bill more
Scope expands in the field.
“While we’re here…”
No change order.
No updated invoice.
Work increases.
Revenue doesn’t.
Callbacks that don’t show up in job profit
A job looks profitable.
Until a callback eats half a day.
That time rarely gets tied back.
So the job still looks fine.
But it wasn’t.
A Simple Example
A residential AC install is quoted at:
$12,000
2 techs
2 days
What actually happens:
it turns into 3 days
a third tech helps for a day
extra fittings get used
a return visit is needed
The invoice stays at $12,000.
On paper, it looks like a normal job.
In reality, most of the margin is already gone.
And no one adjusts anything.
So the next job gets priced the same way.
What This Looks Like in Practice
When this becomes visible:
you can point to specific jobs and explain what they produced
you can see which job types consistently miss margin
estimating starts to reflect real job conditions
problem patterns become obvious
More importantly—
you stop repeating the same mistakes without realizing it.
Here’s Where This Breaks for Most Businesses
If you can’t trace why jobs miss margin, pricing becomes guesswork.
And when pricing is guesswork:
jobs feel busy but don’t produce cash
small gaps repeat across every job
more work creates more pressure, not more profit
This isn’t a reporting problem.
It’s why the same issues keep showing up every week.
What This Work Actually Is
This is not about adding more reports.
It’s about making the numbers line up with reality.
That usually starts with being able to clearly see profit per job.
The problem isn’t that the numbers don’t exist.
It’s that they don’t line up in a way that shows what’s actually happening.
And most owners don’t realize how much margin they’re losing until they see it clearly.
If You Want Help Finding It
This is exactly what we do.
We look at your actual jobs and trace:
where margin is holding
where it’s breaking
and what patterns are repeating
No theory.
Just your numbers, connected to real work.
If this isn’t visible today, the same pattern usually continues—just at a larger scale.
If you can’t point to your last few jobs and explain exactly what they made, this is where to start.
We’ll walk through your numbers and show you:
which jobs actually produced margin
which ones didn’t
and where it’s already being lost
So you can see it clearly—and stop carrying the same gaps into the next job.