How to Price HVAC Jobs and Bid Installs Without Losing Margin
From a $29 wage to a $7,090 install bid: one 3-ton AC swap priced line by line, plus flat rates for service calls and the bid checklist.

To price HVAC jobs, count every labor hour the job takes (drive, startup and the inspection trip included), multiply by what an hour really costs you with overhead, and divide by one minus your margin. Price the equipment and materials the same way with their own margin, then add the permit at cost. For service calls you run every week, turn that math into a flat-rate price book.
Price = cost ÷ (1 − margin), applied to labor and overhead, equipment and materials separately, plus the permit.
A 3-ton AC condenser and coil swap: $924 of labor and overhead ÷ 0.60 = $1,540, $3,600 of equipment ÷ 0.75 = $4,800, $420 of materials ÷ 0.70 = $600, plus a $150 permit. $7,090.
The formula is the easy part. HVAC bids go sideways on the hours nobody wrote down: the return trip for the inspection, the attic coil in August, the line set that turned out to be the wrong size.
This guide is for residential HVAC contractors with one to three trucks doing service calls and change-outs. All amounts are in US dollars and the worked example is hypothetical.
The wage and benefit numbers come from the Bureau of Labor Statistics, linked as we go. Overhead, equipment cost, materials and the permit fee are assumptions you'll swap for your own.
1. What goes into the price of an HVAC job?
Six things: labor hours, what each hour costs you, the overhead each hour carries, equipment, materials, and the profit you decide to keep. Permits ride on top at cost.
It's the same method we use to price a 50 amp garage circuit, with one big difference: on an HVAC install, the equipment is most of the ticket. Get its margin wrong and nothing else saves the job.
2. What does an HVAC labor hour really cost you?
Take the wage, add benefits and payroll costs, then add your overhead per billable hour. With the numbers below, that's $77 of cost for every hour on the job, before any profit.
The BLS median wage for HVAC mechanics and installers was $29.33 an hour in May 2025.
On top of wages, private employers spent $14.07 an hour on benefits for every $32.82 in wages in June 2026, per the BLS employer costs release. That's about 43% on top of pay.
$29.33 plus 43% is $41.90. Call it $42 an hour loaded.
Then overhead: trucks, insurance, license, tools, recovery machine, phones, software, the office. We'll assume $35 per billable hour. Yours depends on how many hours you actually bill, so work it out once with the contractor hourly rate calculator.
$42 loaded plus $35 overhead is $77 an hour of cost. That's the number every labor line starts from.
3. Flat rate or bid: which pricing method fits which HVAC job?
Flat rate for repairs you do over and over. A written bid for every install and replacement. Time and materials only for diagnosis you can't scope yet.
- Flat rate (service and repair). Capacitors, contactors, motors, drain lines, tune-ups. Price each task once: book hours × $77 ÷ (1 − your labor margin), plus the part ÷ (1 − your parts margin). The customer gets one number and you keep the upside when you're fast.
- Bid (installs and change-outs). Every house is different, so every install gets its own line items: labor hours, equipment, materials, permit, and the "if we find" items.
- Diagnostic fee. Charge it separately for no-cool and no-heat calls, because the drive costs the same whether the fix takes ten minutes or two hours. Decide whether you credit it toward the repair when the customer books it, and say so upfront.
4. What margin should you put on HVAC equipment?
Pick a margin per category and use it every time. The example uses 40% on labor, 25% on equipment and 30% on materials. Lower on equipment because it's the biggest number and the easiest one for a customer to look up.
Watch the markup trap. A 25% markup on $3,600 of equipment is $4,500, which is only a 20% margin. A real 25% margin is $3,600 ÷ 0.75 = $4,800.
That's $300 gone on one condenser because of a word. The profit margin calculator converts markup to margin if you'd rather not do it in your head.
5. Worked example: pricing a 3-ton AC condenser and coil swap
The job (hypothetical): replace a failed 3-ton split AC condenser and its matching indoor coil on an existing gas furnace, same locations, existing line set reused after the manufacturer's checks. Two-person crew, single-story house, coil in a basement.
First, the hours (person-hours for both techs):
| Time | Basis | Hours |
|---|---|---|
| Recover refrigerant, disconnect and remove old condenser and coil | assumption | 3.0 |
| Set pad and condenser, install coil, braze, pressure test, evacuate | assumption | 5.0 |
| Startup, charge check, thermostat check, cleanup | assumption | 1.5 |
| Drive, both techs, both ways | assumption | 1.5 |
| Return trip for the inspection | assumption | 1.0 |
| Billed hours | 12.0 |
Then the price:
| Line | Basis | Amount |
|---|---|---|
| Labor and overhead | 12.0 hr × ($42 + $35) | $924 |
| At 40% margin | $924 ÷ 0.60 | $1,540 |
| Equipment: condenser and matching coil | your cost; assumption | $3,600 |
| At 25% margin | $3,600 ÷ 0.75 | $4,800 |
| Materials: pad, disconnect, whip, fittings, filter drier, nitrogen, refrigerant trim | your cost; assumption | $420 |
| At 30% margin | $420 ÷ 0.70 | $600 |
| Permit | pass-through at cost; assumption | $150 |
| Price | $7,090 |
Your cost is $5,094 and the price is $7,090, so you keep $1,996. That's about 28% of the ticket: $616 from labor, $1,200 from equipment and $180 from materials.
If a customer asks for the hourly equivalent: $1,540 over 12 hours is about $128 an hour for labor, overhead and profit together.
Now run the version where the attic coil was a surprise and the job took 16 hours instead of 12. Four more hours at $77 is $308 of cost you didn't price. On a flat bid with no exclusion, that comes straight out of the $616 you planned to make on labor.
6. How to bid HVAC jobs so the surprises don't come out of your margin
See the equipment, the ductwork and the electrical before you price. Put the likely surprises on the bid as separate lines, list the permit, and put an expiry date on it.
- Size it from a load calculation. Not from the old unit's nameplate. If you're changing tonnage, an ACCA Manual J load calculation is the number you can defend.
- Check the line set. Size, length, condition, and whether the new equipment's install instructions allow reuse. If it's coming out, that's its own line.
- Price refrigerant at today's cost. The rules keep moving. In May 2026, EPA lifted the January 1, 2026 installation cutoff for residential R-410A equipment made or imported before 2025, and ACCA expects refrigerant prices to rise as a result. Price it per pound from your last invoice, never from memory.
- Look at the electrical. Breaker and disconnect sized to the new unit's nameplate. If the panel or the circuit needs work, quote it separately.
- Access and conditions. Attic coil in summer, crawlspace, roof unit, crane. Each one changes the hours.
- Recovery and disposal. The old refrigerant gets recovered, and EPA requires nearly all HVAC technicians to be certified in proper refrigerant handling. Count the recovery time and the haul-away.
- Permit and inspection as lines. Check your city's fee schedule and count the return trip.
- Leave tax credits off the bid. The federal energy efficient home improvement credit is for improvements made through December 31, 2025, per the IRS. Don't promise a 2026 customer a credit that's gone.
- Deposit for the equipment. If you're ordering a system before the job, write the deposit into your payment terms, within your state's limits.
- Expiry date. Equipment and refrigerant prices move. Thirty days is plenty.
7. Should you give good, better, best options?
Yes, on replacements. Price each option with the same formula, so the only thing that changes between them is the equipment and the hours it takes.
Three options let the customer pick a number instead of saying no to yours. Keep the scope identical on all three except the equipment, and say what each one includes in plain words. If the best option needs ductwork or electrical changes, those are lines, not a footnote.
Common questions about pricing HVAC work
How do you price HVAC jobs?
Multiply billable hours by your loaded wage plus overhead per hour and divide by one minus your labor margin. Price equipment and materials at cost divided by one minus their margins, and add the permit at cost. For repeat repairs, turn the math into flat rates. The worked example prices a 3-ton AC swap at $7,090.
How much should an HVAC tech charge per hour?
Work it out from cost. The BLS median wage of $29.33 plus about 43% for benefits is roughly $42, plus $35 of overhead per billable hour makes $77 of cost. At a 40% labor margin that's about $128 an hour. Your overhead and billable hours change the answer.
How do you bid an HVAC install?
Size the system from a load calculation, check the line set, electrical and access, then price labor hours, equipment, materials and the permit with the formula above. List the likely surprises as priced options, give good, better and best choices on replacements, and add an expiry date.
What profit margin should HVAC contractors use?
Pick one per category and apply it the same way every time. The example uses 40% on labor, 25% on equipment and 30% on materials, which came out to about 28% on the whole job. Remember that a 25% markup is only a 20% margin.
Should HVAC contractors charge a diagnostic fee?
Yes, for no-cool and no-heat calls. The drive and the diagnosis cost you the same whether the fix is a $20 part or a new system. Charge it separately and say upfront whether you credit it toward the repair when the customer books it.
What to do on your next HVAC bid
Count the hours including the drive and the inspection trip. Multiply by your loaded cost plus overhead, divide by one minus your labor margin.
Equipment and materials at cost divided by one minus theirs. Permit as a line, expiry date at the bottom.
When the job's done, here's how to invoice it so you get paid.
Sent a bid last week and not sure it was priced right? Upload it to the estimate checker and find out.


