Lesson 1 of 7 · The Profitable HVAC Shop
Busy But Not Profitable: Where Your HVAC Revenue Actually Goes
Separate busy from profitable and calculate what your work actually produced after direct costs and overhead.
- Free
- No signup
- Work at your pace
| Who it is for | Owners and owner-operators, Stage 1–4 (one to ten technicians) |
|---|---|
| Time | 15 minutes to read, 30 minutes to do |
| You will need | A profit-and-loss statement for the last 12 months, or your bank and card statements |
| Tool | HVAC Profit Margin Calculator |
The painful truth
Being busy does not mean being profitable. A shop can run every technician flat out for eleven months, invoice more than it ever has, and still finish the year with a smaller bank balance than it started with.
Most owners discover this in February, from an accountant, about eight months too late to do anything about it.
Why this happens
Revenue is the only number that shows up daily. You see it on every invoice, in every payment notification, in the deposit total on Friday. Profit shows up once a year, in a document you did not write, using words nobody explained.
So owners manage what they can see. They chase revenue, because revenue is visible and profit is not. The visible number starts lying as soon as revenue and profit stop moving in the same direction, which can happen when you add a technician, a van, or a discount.
There is a second reason, and it is quieter. Many small HVAC companies do not pay the owner a real wage. The money the owner takes out gets recorded as a draw or a distribution rather than a cost. That makes the business look more profitable than it is, and it makes the owner’s labor look free. It is not free. It is the most expensive labor in the company.
The core idea: four numbers, in order
You only need four numbers to know whether last year worked. They stack, and the order matters.
1. Revenue
Everything you invoiced. Not everything you collected, that is cash, and we will come back to it. Revenue is what you billed for work you did.
2. Direct job costs
Costs that exist because a specific job existed. Equipment, materials, parts, permits, subcontractors, equipment rental for that job, and the loaded wages of the technicians doing the work. If you did not run the job, the cost would not exist.
The word doing a lot of work in that paragraph is loaded. A technician’s cost is not their wage. It is their wage plus payroll taxes, plus workers’ compensation, plus benefits, plus the things you buy so they can do the job. Lesson 3 builds that number properly.
3. Gross profit and gross margin
Revenue minus direct job costs. Gross profit is what the work itself produced, before the business existed around it. Gross margin is the same thing as a percentage of revenue.
Gross margin = (Revenue − Direct job costs) ÷ Revenue
This is the single most useful number in the company, because it is the only one that tells you whether the work is priced correctly. Overhead, growth, and your own pay all come out of it.
4. Overhead and net operating profit
Overhead is what it costs to keep the doors open whether or not a single call comes in: rent, insurance, software, phones, advertising, office wages, professional fees, licenses, vehicle payments, your own wage. Gross profit minus overhead is net operating profit: the money the business actually made.
Worked example: Ridgeline Heating & Air
Ridgeline is a fictional company. Every figure below is illustrative and chosen to make the arithmetic clear. These are not averages, benchmarks, or targets.
Ridgeline is a residential service and replacement shop with four technicians. Dale owns it, manages the company full time, no longer runs regular billable calls, and pays himself $85,200 a year through payroll. Last year Ridgeline invoiced more than ever.
| Line | Amount | % of revenue |
|---|---|---|
| Revenue | $840,000 | 100% |
| Equipment, parts, and materials | ($268,000) | 31.9% |
| Field labor: 4 technicians, fully loaded | ($319,040) | 38.0% |
| Gross profit | $252,960 | 30.1% |
| Overhead (including Dale’s $85,200 wage) | ($216,000) | 25.7% |
| Net operating profit | $36,960 | 4.4% |
Dale’s read on the year: record revenue, all four techs busy, phone never stopped. The business’s read on the year: after paying everyone including Dale, $36,960 was left to cover a truck replacement, a slow February, a bad debt, or a tax bill. One of those things happening consumes the entire year of profit.
Now watch what growth does
Dale’s plan is to hire a fifth technician and grow revenue by twenty percent. This is a ramp-year scenario, not a same-margin scenario. Field labor rises 25% because a four-technician payroll becomes a five-technician payroll, while revenue and materials rise 20% because the new hire has not reached the existing crew’s average production.
| Line | Last year | This year, +20% |
|---|---|---|
| Revenue | $840,000 | $1,008,000 |
| Equipment, parts, materials | ($268,000) | ($321,600) |
| Field labor | ($319,040) | ($398,800) |
| Gross profit | $252,960 (30.1%) | $287,600 (28.5%) |
| Overhead (+ $18,000 technician support; + $24,000 office and capacity step-up) | ($216,000) | ($258,000) |
| Net operating profit | $36,960 (4.4%) | $29,600 (2.9%) |
Revenue rises $168,000 while profit falls $7,360. The $42,000 overhead increase is an explicit scenario assumption: $18,000 of technician-specific support carried into Lesson 3, plus an illustrative $24,000 step-up in office coverage and operating capacity. That additional step-up is not an HVAC benchmark; replace it with the commitment your own hire would trigger.
For comparison, if the fifth technician produced a full 25% increase in revenue immediately and revenue, materials, and field labor all scaled 25%, gross margin would remain 30.1%. With the same $42,000 overhead step-up, net profit would be $58,200, only $21,240 more profit from $210,000 more revenue.
Nothing in that table is a mistake. It is arithmetic. Growth multiplies whatever margin you already have. If the margin is thin, growth multiplies thin.
What changes the result
- Where you draw the line between direct cost and overhead. Move technician wages into overhead and your gross margin looks fantastic and tells you nothing. Pick one treatment, write it down, and use it every time.
- Whether the owner is paid. If Dale removed his wage and associated employer taxes from the operating statement and paid himself only through distributions, reported profit would look dramatically higher. It would still be the same business with the same owner-replacement cost.
- Job mix. Replacements, service, and maintenance usually carry different margins. A shop that shifted toward equipment sales can grow revenue while gross margin falls, because equipment revenue carries equipment cost with it.
- Unbilled labor. Callbacks, warranty work, and drive time are real costs that generate no revenue. They sit inside your labor cost and quietly reduce gross margin. Lesson 4 deals with this.
- Cash is not profit. A profitable company can run out of money, and an unprofitable one can look flush for months if customers pay fast and suppliers wait. Never diagnose profit from your bank balance.
Common mistakes
- Using the bank balance as the scoreboard. It reflects timing, not performance.
- Leaving the owner’s pay out. If you would have to hire someone to do what you do, that is a cost whether or not you write yourself a check.
- Using wages instead of loaded labor. At Ridgeline’s scale, understating field labor by roughly $80,000 inflates gross margin by about 9.5 percentage points.
- Judging the year by the busy months. July does not pay for February. The year does.
- Comparing your margin to a number you heard at a supply house. You do not know how they classified their costs, whether they paid themselves, or whether they were telling the truth.
- Deciding to grow before knowing the margin. This is the mistake that turns a small problem into a payroll-sized one.
Do this now
- Pull the last twelve months. A full year, not a quarter, so seasonality cannot flatter you.
- Write down total revenue.
- Add up equipment, parts, materials, permits, and subcontractors. That is your material side of direct cost.
- Add up field technician wages plus payroll taxes, workers’ compensation, and benefits. If you do not have this cleanly separated, use your best honest estimate and mark it as an estimate. Lesson 3 will replace it with a real figure.
- Subtract both from revenue. That is gross profit. Divide by revenue for gross margin.
- Add up everything else you spent to stay open, including a realistic wage for yourself. That is overhead.
- Subtract overhead from gross profit. That is your net operating profit. Write both percentages on a sticky note and put it where you do payroll.
If the answer is uncomfortable, you have just done the most valuable thirty minutes of work available to you this month. An uncomfortable number you know is worth more than a comfortable one you assumed.
Check yourself
- Your revenue grew 25% and your gross margin fell from 34% to 27%. Did the business get better or worse, and what is the first thing you would look at?
- Why does leaving the owner’s wage out of the numbers make a company harder to sell, hire into, or borrow against?
- A technician spends three hours on a warranty callback and bills nothing. Which number does that cost land in, and what happens to gross margin?
- Your bank balance is the highest it has been all year. What are two reasons that could be true in an unprofitable company?
- A supplier tells you “everyone in this market runs 45% gross margin.” What three questions do you need answered before that number means anything?
Check your answers
- Not enough information yet. Calculate gross-profit dollars in both periods, then inspect which direct cost or job-mix change drove the margin from 34% to 27%. More revenue can still produce more or less profit.
- It removes the cost of replacing the owner. Profit looks higher than the return available to a buyer, lender, or manager-led company. That makes earnings harder to trust and the business harder to operate without the owner.
- The technician time belongs in direct field labor or warranty cost. Because it produces no revenue while adding cost, gross profit dollars and gross margin both fall.
- Cash and profit measure different things. The balance may include a loan, customer deposits, sales-tax money, recently collected receivables, or cash that has not yet paid suppliers and payroll taxes.
- Ask for matching definitions. At minimum confirm the period, which costs sit above gross profit, whether owner and field labor are included consistently, and the company’s job mix. Without those definitions, 45% is not comparable.
Your tool
Run your own figures through the HVAC Profit Margin Calculator to get gross margin, contribution margin, and markup from your revenue and costs. Contribution margin is the revenue left after the variable costs you entered; it is not the same as net profit after overhead.
Then use the HVAC Break-Even Calculator to see how much revenue you need before the business starts keeping anything.
Key takeaway
Revenue tells you how busy you were. Gross margin tells you whether the work is priced correctly. Net operating profit tells you whether the business is worth owning. You need all three, and growth will multiply whichever one you are not watching.
Next lesson
Your net profit came out of overhead. Owners can underestimate overhead when they leave out costs that do not arrive as obvious invoices.
Lesson 2: What It Costs to Open the Doors Every Month →
Sources and assumptions
The definitions used here (revenue, direct cost, gross profit, gross margin, overhead, and net operating profit) follow standard small-business accounting practice. How your specific expenses should be classified depends on how your books are kept; confirm the treatment with your bookkeeper or accountant. General guidance on deductible business expenses for small businesses is published by the IRS in Publication 334, Tax Guide for Small Business.
All Ridgeline Heating & Air figures are illustrative assumptions created for this lesson. They are not survey data, industry averages, or recommended targets.
Disclaimer
Educational content only. Not accounting, tax, legal, or financial advice. Confirm anything consequential with a qualified professional who knows your business and your state.
Editorial status
Published by ClimaCall. Independent technical review is pending. No outside reviewer is attributed to this lesson.