Pricing HVAC work is harder than most trades, and the reason is simple: the spread between a $4,000 furnace swap and a $25,000 full-system changeout is enormous, and both jobs require roughly the same sales process. Your pricing has to be sharp enough to win competitive residential bids but profitable enough to cover your truck, your warranty exposure, and the callbacks that come with every heating season.
Most HVAC contractors price by feel. They know what the equipment costs, they add "something" on top, and they send a number that feels right. That works until it doesn't — usually around December when the bank account is thinner than the weather forecast.
Here's how to price HVAC work properly, whether you're quoting a $200 diagnostic or a $20,000 commercial rooftop unit replacement.
The Four Layers of HVAC Job Cost
Every HVAC job has four cost layers, and you need to account for all of them before you touch your margin.
1. Equipment Cost
This is the big variable. A single-stage 80% AFUE furnace from your distributor might cost you $900. A modulating 98% AFUE unit from the same supplier could be $3,200. The customer doesn't see your cost, but the price gap between Good and Best tiers is where your equipment margin lives.
Know your distributor pricing cold. Build relationships with at least two suppliers so you have leverage. Many distributors offer volume pricing tiers — if you're buying 30+ furnaces a year, you should be on a contractor pricing program that's 15-25% below list.
Equipment markup ranges for HVAC:
- Furnaces: 40-60% markup (29-38% margin)
- Air conditioners / heat pumps: 35-55% markup (26-35% margin)
- Tankless water heaters: 45-65% markup (31-39% margin)
- Mini-splits / ductless: 50-70% markup (33-41% margin)
- Parts and components (service): 100-200% markup (50-67% margin)
Parts markup on service calls should be significantly higher than install equipment markup. A $45 capacitor sold at $135 isn't gouging — it accounts for your truck inventory, your diagnostic time, and the fact that you showed up within two hours on a Saturday.
2. Labor Cost (The Real Number)
This is where HVAC contractors make their biggest pricing mistake. They quote labor at what they pay the tech, not what the tech actually costs.
If you pay a journeyman HVAC tech $38/hour, your actual cost for that tech is closer to $52-58/hour once you add:
- Workers' compensation insurance (HVAC is a higher rate class — 6-9% of payroll in most provinces/states)
- Employer CPP/EI (Canada) or FICA/unemployment (US) — roughly 10-12%
- Benefits (health, dental, RRSP/401k match) — $3-8/hour depending on your plan
- Paid time off and stat holidays — effectively 5-8% of hourly rate
- Training and certifications (TSSA, EPA 608, manufacturer certifications)
That's your burdened labor rate. Use this number for job costing, not the wage on the pay stub.
Now, what you charge for labor should be 2x-3x the burdened rate. If your burdened cost is $55/hour, your billing rate should be $110-165/hour depending on the job type.
| Job Type | Labor Billing Rate | Notes |
|---|---|---|
| Emergency / after-hours service | $175-250/hr | Premium for availability |
| Standard service / diagnostic | $120-165/hr | Flat-rate pricing common |
| Residential install (furnace, AC) | $100-140/hr | Often quoted as flat per job |
| Commercial install | $95-135/hr | Higher volume, lower per-hour rate acceptable |
| Maintenance / tune-up | $90-120/hr | Often sold as flat-rate packages |
3. Overhead Allocation
Your overhead is every cost that isn't tied to a specific job: rent, office staff, trucks, insurance, software, marketing, cell phones, fuel, licensing fees, accounting.
For most HVAC companies, overhead runs 25-40% of revenue. A healthy target is 30%. That means for every $100 in revenue, $30 goes to keeping the lights on before you've paid for a single install.
Here's how to allocate it to individual jobs:
- Add up your total annual overhead
- Divide by your total billable hours (or total expected revenue)
- Apply that rate per hour (or as a percentage of job cost)
Example: If your overhead is $180,000/year and your team bills 4,000 hours/year, your overhead rate is $45/hour. Every hour your tech is on a job, $45 of the revenue goes to overhead before profit.
4. Profit Margin
After equipment, labor, and overhead, what's left is your gross profit. This is the number that determines whether you're building a business or running a charity with trucks.
Target gross margins for HVAC work:
- Service calls: 55-70% gross margin (your highest-margin work — protect it)
- Residential installs: 35-50% gross margin
- Commercial installs: 20-35% gross margin
- Maintenance contracts: 45-60% gross margin (low labor intensity per visit)
If your blended gross margin across all work types is below 35%, you're either underpricing or your overhead is too high. Find out which one and fix it.
Flat-Rate vs. Time-and-Material Pricing
The HVAC industry has been moving toward flat-rate pricing for service and residential installs for years, and for good reason: it protects your margin from slow days and sets clear expectations with the customer.
Flat-rate advantages:
- The customer knows the price before work starts — no anxiety about the meter running
- Your revenue per job is predictable regardless of how fast or slow the tech works
- Faster techs are rewarded (they complete more jobs per day at the same per-job revenue)
- Easier to present Good/Better/Best options
Flat-rate risks:
- You can underprice if your flat rates don't account for travel time, diagnostic time, and callbacks
- Complex jobs can eat your margin if the scope creeps beyond the flat rate
- You need a solid pricebook with rates for every common repair — building one takes time upfront
The rule of thumb: flat-rate for service and residential installs, time-and-material for commercial and custom work. Commercial clients understand T&M pricing and often prefer it because their procurement process requires cost transparency.
Seasonal Pricing: When to Adjust and When to Hold
HVAC is one of the most seasonal trades, and your pricing should reflect that — but not the way most contractors think.
Peak season (June-August for cooling, November-February for heating)
Demand is high. Your schedule is full. Customers are calling you, not the other way around.
This is not the time to discount. If anything, your pricing should be at the top of your range during peak season. You don't need to gouge, but you don't need to be the cheapest bid when every HVAC company in the city is booked out two weeks.
Peak-season strategies:
- Quote at full margin — no "competitive adjustment" discounts
- Offer priority scheduling as a premium add-on
- Push maintenance agreements for off-season revenue
- Use the backlog to raise prices on lower-priority jobs
Shoulder season (March-May, September-October)
This is when most HVAC companies feel the squeeze. The emergency calls stop and the install pipeline thins out.
Shoulder-season strategies:
- Promote "pre-season tune-ups" (spring for AC, fall for furnaces) at a fixed package price
- Offer financing promotions on new installs — the customer pays the same price, but the financing reduces their decision friction
- Bundle: "Replace your furnace AND AC this spring and save $X" — you fill your schedule, they get a package deal
- Target property managers and commercial clients who plan replacements in off-season
Do NOT cut your margin in shoulder season. Cut your marketing cost per lead by targeting customers who plan ahead (maintenance agreement holders, previous quote declines, referrals). Lower cost-per-acquisition is better than lower margin on every job.
Off-season (if it applies in your market)
Some HVAC companies in moderate climates have a genuine dead season. If that's you, the off-season is for maintenance contracts, duct cleaning, indoor air quality upsells, and commercial service agreements. Price these at full margin — don't use off-season as an excuse to take any job at any price.
Equipment Margins: Where the Real Money Is
The equipment is often 40-55% of the total job cost on a residential install. That makes your equipment markup the single biggest lever on your profitability.
How to set equipment markup
Most HVAC contractors multiply their cost by 1.5-1.7x (50-70% markup) for standard equipment. Here's a more nuanced approach:
| Equipment Type | Your Cost (Example) | Recommended Markup | Selling Price | Gross Profit |
|---|---|---|---|---|
| Budget furnace (80% AFUE) | $900 | 55% | $1,395 | $495 |
| Mid-range furnace (96% AFUE) | $1,600 | 50% | $2,400 | $800 |
| Premium furnace (98% modulating) | $3,200 | 45% | $4,640 | $1,440 |
| Central AC (14 SEER2) | $1,800 | 50% | $2,700 | $900 |
| Heat pump (cold climate) | $4,500 | 40% | $6,300 | $1,800 |
| Ductless mini-split | $2,000 | 60% | $3,200 | $1,200 |
Notice the pattern: lower-cost equipment gets a higher markup percentage, higher-cost equipment gets a lower percentage but higher dollar profit. A 45% markup on a $3,200 furnace puts $1,440 in your pocket. A 55% markup on a $900 furnace only gives you $495. Both feel fair to the customer because the premium unit already has a premium price tag.
The rebate and incentive angle
Government rebates (like Canada Greener Homes, US IRA tax credits, and provincial/state incentive programs) don't reduce your job cost — they reduce the customer's out-of-pocket. Your price stays the same. The rebate makes the customer's decision easier, not your margin thinner.
When presenting quotes, show the full price AND the after-rebate price. Let the rebate do the selling. Don't pre-discount your work because a rebate exists.
Pricing Service Calls: The Diagnostic Fee Debate
The most common HVAC pricing question: "Should I charge a diagnostic fee?"
Yes. Always.
A diagnostic fee ($89-149 is standard in most markets) does three things:
- It filters out tire-kickers. Someone willing to pay $99 for a diagnostic is serious about getting the repair done. Someone looking for a free diagnosis is calling five companies hoping one of them will show up for free.
- It pays for your tech's time. Even if the customer declines the repair, you've covered the truck roll, diagnostic labor, and scheduling slot.
- It anchors the repair price. "The diagnostic is $99. If you approve the repair, the diagnostic fee is applied to the total." Now the customer feels like the diagnostic was free, and they're more likely to approve the repair on the spot.
For the repair itself, use flat-rate pricing pulled from your pricebook. The customer sees one number — not an hourly rate with parts added on. Flat-rate repairs close faster and generate fewer disputes.
Building a Pricebook That Actually Works
A pricebook is a pre-calculated list of flat-rate prices for every common repair and install scenario your company handles. It's the difference between pricing by gut feel and pricing by system.
Your pricebook should include:
- Service repairs: Capacitor replacement, blower motor, igniter, flame sensor, control board, contactor, TXV, refrigerant top-up, thermostat replacement — every common repair with parts, labor, and overhead baked into a single flat rate
- Install packages: Furnace only, AC only, furnace + AC combo, heat pump, ductless, boiler — at Good/Better/Best tiers with equipment, labor, and permit costs included
- Add-ons: Duct sealing, UV air purifier, humidifier, smart thermostat, surge protector — items your tech can upsell on every call
- Maintenance: Tune-up packages for furnace, AC, heat pump, and combo — annual and semi-annual pricing
Review your pricebook quarterly. Material costs change. Distributor pricing changes. Your overhead changes. A pricebook that's 18 months old is underpricing half your work.
The Pricing Mistakes That Eat Your Profit
Not charging for the permit
In Ontario, a furnace install requires a gas permit (TSSA) that costs $175-250+. Many jurisdictions in the US have similar mechanical permit requirements. If you're eating that cost to look competitive, you're giving away $200 on every install for no reason. Add it as a line item — the customer expects it.
Quoting labor as a single line
"Labor — $2,400" tells the customer nothing. Break it into scope items: "Remove existing equipment — $X," "Install new furnace — $X," "Connect ductwork — $X," "Startup and commissioning — $X." Detailed labor builds trust and makes your price feel justified.
Not pricing the callback into the job
Every install has a warranty period. During that period, you'll get at least one callback — the thermostat needs adjusting, the filter wasn't seated right, the customer thinks the furnace sounds different. That callback costs you a truck roll and a tech's time. Price it into the original job. Most HVAC companies add 2-5% to cover warranty service. If you don't, every callback is a direct hit to your margin.
Competing on price instead of speed and trust
The HVAC customer whose furnace died in January doesn't care if you're $300 cheaper. They care if you can come tomorrow. Speed, professionalism, and a clear quote beat a lower number every time in emergency and comfort-critical situations. Price to your value, not to the lowest bidder in the market.
Putting It Together: Pricing a Furnace Install
Here's a real example of a residential furnace replacement priced correctly:
| Cost Component | Amount |
|---|---|
| Equipment: 96% AFUE two-stage furnace (distributor cost) | $1,600 |
| Materials: venting, gas pipe, fittings, filter, thermostat wire | $280 |
| Labor: 2 techs x 5 hours x $55/hr burdened | $550 |
| Permit (TSSA gas permit) | $200 |
| Truck roll / mobilization | $85 |
| Disposal of old equipment | $75 |
| Total job cost | $2,790 |
| Overhead allocation (30%) | $837 |
| Total cost + overhead | $3,627 |
| Target margin: 40% | |
| Selling price = $3,627 / (1 - 0.40) | $6,045 |
Round that to $5,995 and you have a price that covers your costs, pays your overhead, and leaves a healthy 40% gross margin. Now build Good ($4,800 with a basic unit) and Best ($8,200 with a modulating unit + smart thermostat + duct sealing) tiers around it.
HAMMER does this math automatically. Enter the equipment, the labor hours, and your target margin. Hammer builds three tiers, formats the quote, and sends it to the customer in 60 seconds. No spreadsheets, no guessing. Try it free.