HVAC profit margins can look great in July and terrifying in October, same business, same year. A shop can show strong gross margin on a $2M operation and still come up short on next week's distributor invoice.
The problem is that one blended number hides what service mix, pricing, and seasonality are doing. This article covers target HVAC profit margins by service type, the leaks that hit $1M-$6M shops hardest, and how Profit First allocations help protect what you keep.
Gross vs. Net: Which HVAC Profit Margin Are You Actually Targeting?
Before targeting a number, it helps to know which number you're targeting. Most HVAC operators talking about margin are actually talking about two different things, and the gap between them is where the real trouble lives.
That gap usually shows up when the books look fine but cash still feels tight. In HVAC, it happens when gross and net get lumped together, even though they tell you very different things. If you want a useful target, separate what the job produced from what the business kept after overhead.
Gross margin is what's left after direct job costs: the tech's time and the parts on that specific call or changeout. Net margin is what remains after everything else, including trucks, insurance, office staff, marketing, rent, and your salary. A contractor can run strong gross margin and still end up with a thin net because overhead is doing the damage.
The split usually shows up between shops that price with discipline and track margins by service line, and shops that stay busy without knowing which work actually makes money.
The Average HVAC Profit Margin by Service Type
Useful targets start with separating the work before setting a number. A blended goal hides what each division should actually produce. Here's a useful way to frame gross margin targets as a starting point for a conversation with your bookkeeper or accountant:
Service Type | Gross Margin Target |
Service and repair | 50-60% |
Install and changeout | 35-45% |
Maintenance agreements | 40-50% |
Commercial service contracts | 30-40%, steadier net |
Actual results vary with local market, technician mix, and how overhead is allocated. Treat these as operator-reported ranges, not universal benchmarks.
Net margin is where the real answer lives. Many residential HVAC shops land in the single digits after overhead and owner pay, with stronger operators commonly reaching double digits once maintenance agreements, flat rate pricing, and overhead discipline are all working together. Net targets should also account for reasonable owner compensation pulled as salary, not left as "whatever's in the account."
Maintenance agreements deserve their own look. The agreement itself may run a modest gross margin per visit, but it lowers customer acquisition cost on every future repair and changeout, keeps techs productive in shoulder season, and shortens the path to priority calls with higher average tickets. Pricing an agreement below the loaded cost of two tune-ups plus a reasonable parts allowance turns it into a loss leader instead of a margin tool.
Which HVAC Division Is Actually Carrying the Shop?
Running service, install, and maintenance under one P&L line makes the whole-company margin look acceptable without telling you which division is carrying the load. A 48% blended gross margin can hide a service division running closer to 55% and an install division dragging closer to 38%. That gap matters when you're deciding where to hire, where to market, and whether adding another install crew actually helps.
The math also behaves differently by department:
Division | Example Economics | What It Produces |
Service truck | 4 calls/day, $350 avg ticket, ~65% gross | Fast cash timing, higher margin per hour |
Install crew | Steady changeout volume, ~35-45% gross | Slower cash, lower margin, higher ticket |
Commercial PM | Recurring visits, net-30 to net-60 terms | Steadier margin, slower collections |
These figures are illustrative operator-reported ranges, not guaranteed benchmarks.
Commercial work changes the math the most. Net-30 to net-60 payment terms mean margin that looks locked in on paper can sit unpaid for two months while payroll and fleet costs keep running. Commercial PM contracts hold steadier margin than one-off residential work only when the contract price fully covers travel time between sites, routing across multiple locations, and callback response. Leave any of those out and the service division absorbs the gap.
Seasonality runs through every part of this business. Heat waves and cold snaps pull most of the year's work into a few months, while fleet, insurance, and office payroll keep running through spring and fall regardless of how the phone's ringing. The underlying demand pattern is structural: space heating and air conditioning together account for more than half of the average U.S. household's annual energy consumption, and that demand is highly seasonal. That pattern makes departmental visibility essential: without it, peak-month revenue masks the divisions that actually carry the shop through shoulder season.
Two tools make departmentalized tracking practical:
QuickBooks Online class or location tracking splits the P&L by service, install, and maintenance. A simple HVAC profit margin calculator built in a spreadsheet can sit on top of that split, pulling invoiced revenue and direct costs by division to surface gross margin per line.
FSM platforms (ServiceTitan, Housecall Pro, FieldEdge) tag revenue and direct costs at the job level, then feed the split back into accounting.
If your margin guide shows install lagging while service stays strong, the fix may be mix, not more volume.
Should Your Shop Take on More Commercial HVAC Work?
Commercial work pays off for shops that can float the cash gap and price the contract correctly. For shops that can't, it creates more margin pressure than it solves.
Three conditions decide the answer: a 45-60 day reserve to cover slower-paying AR without stalling payroll, contract pricing that fully covers travel between sites, multi-location routing, and callback response, and separate P&L tracking for commercial versus residential. With those in place, bigger contracts and a steadier PM pipeline lift total profit and smooth out residential seasonality.
Without them, a $40K commercial install can sit unpaid through two payroll cycles while commercial-specific costs get absorbed by the service division. Commercial margin looks fine on paper, but residential service margin quietly erodes underneath it.
The practical test: can the shop float 45-60 days of commercial AR, price every trip and callback into the contract, and see commercial margin separately on the P&L? If not, the fix isn't more volume. It's the reserve, the pricing discipline, and the tracking first.
Where Do HVAC Profit Margins Actually Leak?
Most margin leaks come from structure, not one dramatic mistake. A full board in summer hides them; October exposes them in cash.
These four leaks commonly hit $1M-$6M HVAC shops hardest.
Pricing and Stale Markup
Flat rate pricing gives most shops better margin control than time-and-materials because the price book sets the target before the truck rolls. The price book also carries equipment and parts markup inside it, often well above distributor cost. Stale pricing means stale markup, and stale markup quietly eats margin every month it sits.
Overhead Math and Loaded Tech Rate
A lot of contractors divide total overhead by total hours worked, but that muddies the number. The hours that matter are revenue-producing hours, not vacation, training, meetings, drive time, or shop time.
A fully loaded tech rate comes together in three steps:
Start with wage plus payroll tax and benefits.
Add allocated truck, fuel, tools, uniforms, and training.
Divide the total by billable hours, not paid hours.
For instance, a tech paid $30/hour can land at a meaningfully higher loaded rate once a realistic billable ratio is factored in.
For reference, the BLS reports a median annual wage of $59,810 for HVAC and refrigeration technicians as of May 2024, with the top 10% earning over $91,000. That's before benefits, payroll tax, truck cost, and non-billable hours get layered in, which is where the loaded rate climbs. If service call pricing doesn't fully cover that loaded rate, the job looks fine in the dashboard while still coming up short.
Callbacks and Warranty Work
Every callback burns another truck roll, more tech time, and often more parts, with no new dollars attached. Warranty callbacks belong in the same bucket. Many HVAC shops aim for single-digit callback rates as a percentage of completed calls.
The common tracking mistake is tying the callback to the tech who showed up for the fix instead of the tech who caused it. Without the source, you can't coach the right person or see how much margin the problem is costing you.
Customer Financing Dealer Fees
Third-party financing platforms commonly charge dealer fees in the mid-to-high single digits of the financed amount, and sometimes higher on promotional or zero-interest programs. On a $12K changeout, that can mean hundreds of dollars off the top before a tech swings a tool. Building that fee into the flat rate price book, instead of absorbing it, keeps financed jobs from dragging install margin below the rest.
Protecting margin from leaks is half the job. The other half is lifting it.
Lift HVAC Profit Margins Without Raising Every Price
Once the leaks are plugged, the next move is lifting margin on the work already coming in. Two levers do most of the work: mix and average ticket.
Mix shows up when install dominates the schedule while service carries the better gross margin. A shop running 80% install at ~38% gross and 20% service at ~55% gross has that exact problem. Shifting toward recurring service work lifts margin without an across-the-board price jump, and it gives you better cash visibility when the phone isn't ringing on its own.
Moving average ticket, the second lever, from $300 to $400 on the same call volume lifts gross margin without adding trucks, techs, or marketing spend. Presenting multiple options on replacement proposals helps: when customers compare a standard system with higher-end equipment, they more often choose up.
IAQ add-ons (UV lights, air purifiers, humidifiers) add dollars without adding much job time, and a current flat rate price book keeps discounting on those add-ons under control.
How Does Cash Separation Protect HVAC Profit Margins in Peak Season?
Peak season is when paper margin disappears in the account fastest. A big July deposit makes everything look available. Then payroll, fleet costs, equipment bills, and taxes keep pulling from the same checking account until the number you trusted isn't real anymore.
Owner compensation is where this gets personal. A contractor doing $2.3M and taking home $60K after paying everyone else is not seeing the business clearly. If owner's pay stays buried inside overhead, the P&L can still look healthy while the owner gets whatever cash happens to be left. Pulling owner's pay into its own account forces that number into the open.
The Profit First method needs one HVAC adjustment: Real Revenue. On a $12K changeout with $7K in equipment cost, running allocations on the full $12K overstates what's really available for Profit, Owner's Pay, Tax, and Operating Expenses. A common workaround is moving equipment or materials money to a dedicated account first, then running Profit First percentages on what's left.
A workable starting allocation on Real Revenue looks like this:
Account | Allocation (% of Real Revenue) |
Profit | 5-10% |
Owner's Pay | 10-15% |
Tax | 15% |
Operating Expenses | 60-70% |
These are illustrative ranges, not universal benchmarks. Actual percentages vary with job mix, cost structure, and how equipment money is handled inside Real Revenue.
Service-heavy shops can usually support the higher end of the Profit range because less equipment money passes straight through the job. A separate seasonal reserve account matters too. Funding it during peak months gives you a way to cover fleet costs, payroll, and rent when October or March gets quiet.
Separating accounts by purpose keeps paper margin and the real account balance pointing at the same number. Look for a banking platform that lets you open multiple checking accounts without monthly maintenance fees to help protect your margins.
Once a $10K service payment clears, scheduled transfer rules move the tax allocation, profit percentage, and owner's pay into their own accounts before the balance gets spent on parts.
Protect What the Work Actually Earns
Margin problems in HVAC usually aren't about one bad month or one bad price. They're about not seeing clearly enough to separate service from install, direct job costs from overhead, and committed cash from money you can actually spend.
Relay lets you separate equipment, tax, profit, owner's pay, and seasonal reserves into dedicated accounts1 with automated percentage-based transfers on every deposit. Open an account to protect HVAC profit margins through peak season and the slower months that follow.
1Relay is a financial technology company and is not an FDIC-insured bank. Banking services provided by Thread Bank, Member FDIC. FDIC deposit insurance covers the failure of an insured bank.
Frequently Asked Questions
What's the Average HVAC Profit Margin for a Residential Company?
Many residential HVAC shops land in the single digits of net margin after overhead and owner pay, with stronger operators commonly reaching double digits once pricing, mix, and overhead discipline are all working together. The bigger point is targeting a number that holds up after seasonality, overhead, and owner compensation are fully accounted for, not just a decent-looking gross.
How Do I Calculate Gross Margin on an Install vs. a Service Call?
Use the same formula for both: invoiced amount minus direct costs, divided by invoiced amount. On a service call, direct costs usually mean the tech's time and parts. On an install, direct costs usually include equipment, labor, and any third-party financing dealer fees. The useful step is running that math by division instead of blending everything together.
How Do I Calculate a Loaded Tech Rate?
Add up the tech's wage, payroll tax, benefits, and any bonus or spiff costs, then layer in allocated truck cost, fuel, tools, uniforms, and training. Divide that total by billable hours, not paid hours. A tech paid $30 an hour can land at a meaningfully higher loaded rate once a realistic billable ratio is factored in. Your flat rate pricing should fully cover that loaded rate on every job.
How Do Commercial HVAC Profit Margins Compare to Residential?
Commercial work usually runs tighter gross margins than residential service and repair, but steadier than one-off residential install work, especially once PM contracts are in place. The bigger difference is payment timing: net-30 to net-60 terms mean margin that looks booked can sit uncollected for two months. Pricing also has to account for multi-location routing, after-hours coverage, and callback response built into the contract.
Why Do My Margins Look Strong but I'm Still Short on Cash in October?
Fixed costs run all year while a large share of revenue commonly lands in peak heating and cooling months. If that peak-month money stays in one checking account, it gets spent long before shoulder season arrives. A seasonal reserve account helps bridge that gap.




