How Much to Charge for HVAC: Tonnage, Hours, and Margin
Short answer: How much to charge for HVAC splits into two price books. Installed equipment sells by the matched system, sized in tons at 12,000 BTU per hour per ton and set by a Manual J load rather than floor area. Service sells as a dispatch fee plus a flat rate per task. Both are built from the same three inputs: loaded technician hour, equipment at distributor cost, overhead per billable hour. A 3-ton heat pump changeout at 20.5 technician hours and $5,110 of equipment lands near $11,400 at a 27 percent margin.
An HVAC ticket is unusual among the trades because the biggest number on it is something you bought rather than something you did. That single fact breaks most of the pricing habits borrowed from other trades, and it is why HVAC shops can run a full schedule all summer and still finish the year thin. This page builds the number from the bottom on both sides of the business, then shows the one metric that tells you whether an equipment-heavy job was worth doing.
Why can’t the price start with square footage?
Because the capacity you sell determines your own cost, and floor area does not determine capacity. A Manual J load calculation accounts for orientation, glazing, insulation, infiltration, ceiling height, duct location, and local design temperatures. Two identical 2,100 sq ft houses can legitimately land a full ton apart.
Guessing high is not the safe error. Oversized equipment short-cycles, never pulls humidity down, and generates a comfort complaint you will drive back to for free. Guessing low means the system runs flat out on the design day and still loses. Either way, you bought the wrong box and priced from it.
Residential capacity comes in half-ton steps — 1.5, 2, 2.5, 3, 3.5, 4, 5 tons, which is 18,000 to 60,000 BTU/h. A calculated load of 34,200 BTU/h is a 3-ton decision, and Manual S turns that into a specific model at specific indoor conditions. The HVAC estimate template covers how to put that arithmetic on the page in front of the homeowner.
Which of my two price books does this job belong in?
Pick the book before you pick a number. Mixing them is how a service call gets priced like a small install and loses money on drive time.
| Work | Unit it sells in | What actually moves the number |
|---|---|---|
| System changeout | Per matched system, by tonnage and SEER2 | Equipment cost, lineset length, plenum fabrication, electrical, permit, attic or crawl access |
| Ductless mini-split | Per indoor head, plus the condenser | Head height, wall penetrations, line hide, condensate lift |
| Ductwork | Per linear foot of trunk and branch, or per supply register | Rigid versus flex, attic height in August, sealing and testing |
| Service and repair | Dispatch fee, then flat rate per task | Part cost band, diagnostic minutes, after-hours window |
| Maintenance plan | Per visit per system, sold as a year | Visit count, filter sizes, roof access, what the plan promises |
| Commissioning and airflow correction | Hourly against a written cap | Static pressure findings, which nobody knows before the blower runs |
What does one technician hour actually cost me?
Not the wage. Build it in layers and stop at a number you can multiply.
| Layer | Example calculation | Per technician hour |
|---|---|---|
| Lead installer | $38.50 wage × 1.38 burden | $53.13 |
| Helper | $22.50 wage × 1.38 burden | $31.05 |
| Blended, one lead and one helper | ($53.13 + $31.05) ÷ 2 | $42.09 |
| Van and tooling | $19,440 a year — van, fuel, recovery machine, vacuum pump, micron gauge, manifolds, nitrogen, brazing — ÷ 3,240 technician hours the van carries | $6.00 |
| Operating cost | $48.09 |
Burden is trade-specific and yours to measure. Workers’ comp at the sheet metal and HVAC class rate moves this figure more than owners expect, and so does the paid time you spend on manufacturer recertification and on the EPA Section 608 technician certification that anyone handling refrigerant has to hold. Pull last year’s payroll and insurance statements rather than borrowing 1.38.
What does every billable hour have to carry in overhead?
Everything that happens when no one is on a roof: the shop and the sheet metal bench, equipment sitting in the warehouse waiting for a scheduled install, refrigerant cylinders in inventory, the dispatcher, the on-call phone rotation, license and bond renewals, unsold quotes, and the item HVAC carries that most trades do not — first- and second-year warranty labor. The manufacturer covers the part. You cover the trip, the hour, and the nitrogen.
A three-technician shop with $223,500 of annual overhead and 4,860 billable technician hours carries $46.00 of overhead on every hour it bills. The denominator matters more than the numerator: hours paid and hours invoiced are different numbers, and the gap is drive time, distributor runs, permit counters, and quoting.
Loaded technician hour: $48.09 + $46.00 = $94.09.
What does the math look like on a 3-ton heat pump changeout?
The job: 3-ton heat pump, matched air handler with 10 kW auxiliary heat, existing ducts retained, condenser on a side yard pad, 32 ft of new lineset, attic air handler with a 24 in scuttle.
| Step | Calculation | Amount |
|---|---|---|
| Field time | 2 techs × 9.5 hours on site, plus 1.5 hours for the distributor and permit run = 20.5 technician hours | |
| Labor and van | 20.5 × $48.09 | $985.85 |
| Equipment at distributor cost | Condenser $2,930, matched air handler with strip heat $1,760, pad and isolation $140, thermostat $185, disconnect and whip $95 | $5,110.00 |
| Installed material | Lineset 32 lin ft × $14.60 = $467.20, plenum and transition metal $210, condensate pan, float switch and PVC $88, nitrogen, brazing and flux $46, line hide $74 | $885.20 |
| Overhead | 20.5 × $46.00 | $943.00 |
| Warranty labor reserve | 3% of the above | $237.72 |
| Cost | $8,161.77 | |
| Price at 27% margin | $8,161.77 ÷ 0.73 | $11,180.51 |
| Permit, at cost | Pass-through, no markup | $210.00 |
| Quoted | Rounded | $11,400.00 |
The warranty reserve is the line most shops skip. Ten years of parts coverage with one or two years of labor on your side means every install carries a future callback you have not been paid for. Reserve for it on the ticket instead of discovering it in March.
Why is revenue per hour the wrong check on an install?
Because equipment inflates it. This job returns $11,400 across 20.5 technician hours, which reads as $556 an hour — a number that would look excellent and mean nothing, since $5,995 of it was bought at a counter.
Use gross profit per technician hour instead: price, minus equipment, minus installed material, minus the permit, divided by hours. Here that is ($11,400 − $5,110 − $885.20 − $210) ÷ 20.5 = $253.40. That figure is comparable across a changeout, a duct job, and a service day, and it is the number that tells you whether a big-ticket install was actually better than three service calls.
How do I price a service call so it isn’t a loss leader?
Split the money into the trip and the task. The dispatch fee buys the drive, the diagnostic minutes, and the truck stock; the flat rate buys the repair. Never quote the repair before diagnosis, and say that sequence at the door so it is not a surprise on the driveway.
Part markup should fall as the part gets more expensive, because the fixed cost of having the part on the van does not scale with its price.
| Part cost band | What the markup has to cover | Direction of the multiple |
|---|---|---|
| Capacitor, contactor, fuse, float switch | Stocking, shrink, and the trip to keep the van stocked — all the same regardless of part price | Highest multiple |
| Igniter, pressure switch, blower capacitor, TXV sensor | Stocking plus occasional special order | High |
| Blower motor, control board, inducer | Warranty exposure on the part and the labor | Moderate |
| Compressor, coil, heat exchanger | Real dollars already at risk; labor priced separately | Lowest multiple, labor carries the job |
Build your own ladder from your van stock cost and your shrink, then publish it internally so every tech quotes the same capacitor the same way. Also publish the after-hours premium and the exact window it starts, before the night it is needed — a tired crew the next morning and a closed supply house are real costs, and a premium invented at 11 p.m. reads as opportunism.
Am I adding markup or taking margin?
These are different arithmetic and the confusion is expensive, because HVAC has the largest material line of any residential trade.
Markup is a percentage of cost. Margin is a percentage of price. To get a margin, divide cost by one minus that margin.
| On the $2,930 condenser | Calculation | Result | Margin actually collected |
|---|---|---|---|
| 27% markup | $2,930 × 1.27 | $3,721.10 | 21.3% |
| 27% margin | $2,930 ÷ 0.73 | $4,013.70 | 27.0% |
| 35% markup | $2,930 × 1.35 | $3,955.50 | 25.9% |
| 35% margin | $2,930 ÷ 0.65 | $4,507.69 | 35.0% |
At 27 percent the gap is $292.60 on one condenser. Across forty changeouts that is $11,704, which is most of a van.
How do I price a maintenance plan without selling next winter at last year’s rate?
Cost the visits first, then decide what the promises are worth. One technician, 1.3 hours per visit, two visits a year is 2.6 technician hours at $94.09, or $244.63, plus roughly $38 of filters, coil cleaner, and condensate tablets. Cost of the plan is $282.63 per system per year. At a 25 percent margin that is $376.84, so it sells at $380.
Then price the promises separately in your own head. A 15 percent member discount on repairs is a real reduction in margin on every repair that member buys, and priority dispatch in August means displacing work you could have billed at full rate. Neither is free, and a plan sold at $199 because a competitor sells one at $199 is a year of labor you have already committed. Plan money is prepaid work, not profit — the same distinction that makes how much to set aside for 1099 taxes worth reading before the balance in the account starts feeling spendable.
How do I sanity-check the number for my market?
Three checks, in order. Reverse the price into gross profit per technician hour and see whether it clears what you need. Compare it against your last three jobs of the same configuration, including the ones that ran long. Then look at your close rate, because winning almost every bid is a pricing signal, not a compliment.
Published averages for a system replacement differ by more than a factor of two between metros and move with equipment availability, refrigerant transitions, permit regimes, and season. Use them only to catch an order-of-magnitude error. Your distributor pricing, your labor market, your drive times, and your overhead decide the answer. If your computed number sits far above what your area pays, look at billable hours and warranty callbacks before you touch the rate.
What do I have to record for next year’s rates to be real?
Three things, per job: actual technician hours, actual distributor cost including the parts you swapped in the field, and the model and serial numbers of everything installed. Shops that rebuild rates from memory rebuild them low, every time.
Keel is the version of that discipline that survives an attic in August. It is an iOS app running entirely on the device: no account, no bank connection, no cloud, no login, and an App Store privacy label that reads Data Not Collected. Distributor tickets and permit receipts get photographed at the counter and read on device by Apple Intelligence, so the $5,110 of equipment on that changeout is filed against the job instead of curling in a door pocket. The invoice goes out from the driveway the day the system runs, with your own numbering, your logo, the serial numbers typed into the description where they will still be findable in year seven, and a payment link the homeowner scans as a QR code — the same document discipline as the HVAC invoice template. Every distributor run is a logged mile, and the deductions worth capturing are listed in self-employed tax deductions. Freeboard shows cash minus tax reserve, minus committed invoices, minus a buffer, which matters when a single equipment order is five figures and the deposit is not yours yet. Keel is free with unlimited invoices, receipts, and mileage; Keel Pro is a one-time $249.99 Lifetime purchase, not a subscription.
Frequently asked questions
How do I calculate an HVAC installation price? Add four things and then apply margin. Technician hours times your operating cost per hour, equipment and material at distributor cost, overhead allocated per billable technician hour, and a reserve for the warranty labor you will owe in year two. Divide that total by one minus your target margin, then add the permit at cost with no markup.
Should HVAC service be flat rate or hourly? Flat rate per task for anything you have done fifty times, with a dispatch fee that covers the drive and the diagnostic. Hourly against a written cap for airflow correction, duct troubleshooting, and anything where the scope is unknown until the blower runs. Quote the diagnostic first, then quote the repair with the part named.
How much should I mark up HVAC equipment? Enough to produce the margin you actually want, since markup and margin are different numbers. A 27 percent margin needs a 37 percent markup on cost. Set the multiple so it also carries the distributor run, the equipment sitting in your warehouse before install day, and the warranty labor the manufacturer’s parts coverage does not include.
Why is my HVAC company busy in summer and broke in November? Usually warranty callbacks and billable hours, not rates. Count invoiced technician hours against payroll hours; the gap is drive time, distributor runs, permit counters, quoting, and free returns on jobs you already closed. Every one of those hours has to be carried by the hours you bill, which is exactly what overhead per billable hour is for.
What should I charge for an HVAC maintenance plan? Start from cost, not from the competitor’s sticker. Two visits at your timed visit length times your loaded technician hour, plus filters and consumables, then apply margin. Price the promises separately: a repair discount reduces margin on every future repair, and priority dispatch in peak season displaces work you could have billed at full rate.
How often should I re-price HVAC work? Check distributor pricing monthly, because equipment moves on manufacturer schedules and refrigerant transitions affect both cost and availability. Rebuild the full labor and overhead calculation annually, and immediately after any change in wages, insurance, or van costs. Put an expiration date on every equipment quote so a spring number is not honored in September.
This article is general information, not professional or tax advice.
How do I quote it?
While you are working out the number
Price against what you actually keep.
Freeboard takes your cash, sets aside a tax reserve, subtracts the bills you have committed to and a buffer you set, and shows what is genuinely yours. A planning estimate to price against, not tax advice.
On-device · No account · Data Not Collected