HVACToolsAITools
operations · 10 min read

How to Price HVAC Jobs Without Leaving Money on the Table

Most contractors price on gut feel and quietly erode their margins. Here is the loaded-cost math, the flat-rate formula, and the markup rules that protect profit.

EM
Reviewed by Edward Magruder
Independent HVAC software researcher · Verified June 19, 2026
Disclosure

This page contains affiliate links. If you click through and sign up for a tool, we may earn a commission at no cost to you. Affiliate relationships do not influence our rankings. How we review.

Most HVAC contractors price jobs the way they always have: gut feel, a quick glance at what a competitor charges, and a markup that feels about right. In 2026 that approach quietly bleeds margin. Equipment costs are up 15 to 25 percent since 2023, the A2L refrigerant transition is adding cost and complexity, and the technician shortage pushes loaded labor rates higher every quarter. If your pricing is not built on real numbers, your margins are eroding whether you can see it or not.

This guide walks through the math that protects profit: what your labor actually costs once it is fully loaded, the flat-rate formula that keeps every job profitable, how to mark up parts by category, and how presenting options lifts your average ticket without scaring customers off.

Key takeaways

  • True loaded labor cost runs 40-60% above the technician's wage once taxes, benefits, vehicle burden, and overhead are included.
  • Flat-rate pricing beats time-and-materials: customers get certainty, fast techs stop being penalized, and shops see 15-20% higher revenue per call.
  • Flat-rate formula: (task time × loaded rate) + (parts × markup) + overhead, divided by (1 − target margin). Target 60-70% gross margin on repairs.
  • Mark up parts by category — high multiples (3-4x) on small consumables, lower percentage but higher dollar margin on big-ticket components.
  • Good-better-best option pricing lifts average ticket size 15-25% versus single-option quotes.
  • Review your price book at least every 6 months; build it from your top 10 jobs first, then expand.

Your labor costs far more than the wage

The single most common pricing mistake is treating a technician's hourly wage as the cost of their labor. It is not close. Once you add payroll taxes, workers' compensation, benefits, vehicle and tool burden, and non-billable time, true loaded labor cost typically runs 40 to 60 percent above the base wage.

A concrete example: a technician earning $25 an hour actually costs roughly $35 to $36 an hour after payroll taxes and benefits alone. Layer in overhead — rent, software, admin, dispatch, marketing — allocated across billable hours, and the real cost per billable hour can exceed $75 before you have added a cent of profit. If you are billing $95 an hour thinking you are making good margin, you may be making almost none.

The fix: calculate your loaded labor rate from real numbers. Take the wage, add taxes, insurance, benefits, and vehicle burden to get true hourly cost, then add an overhead allocation (monthly overhead divided by actual billable hours). That number — not the wage — is the floor every price must clear.

Flat rate vs. time-and-materials

Time-and-materials billing — charging by the hour plus parts — has three problems that quietly cost you money. Customers hate open-ended pricing and hesitate to approve it. Fast, experienced technicians get penalized, earning you less for finishing quickly. And every tech quotes a little differently, so your pricing is inconsistent across the team.

Flat-rate pricing solves all three. You charge a fixed price per task regardless of how long it takes: a capacitor replacement is $220 whether it takes 30 minutes or 90. The customer gets price certainty, your efficient techs stop being punished for speed, and everyone quotes the same number from the same book. HVAC companies that switch to flat rate commonly report 15 to 20 percent higher revenue per call.

Most profitable shops run a hybrid: flat rate for standard, predictable repairs and maintenance, and time-and-materials for genuinely complex or unpredictable diagnostic work. Be clear with the customer about which applies before you start.

The flat-rate formula

The reliable formula for a flat-rate task price is: (average task time × loaded labor rate) + (parts cost × markup) + overhead allocation, then divide the whole thing by (1 − your target gross margin). The final division is the step most contractors skip, and it is what actually locks in your margin instead of leaving it to chance.

A worked example: a repair that averages 1.5 hours at a $95 loaded shop rate is $142.50 in labor. Add a $45 part marked up 50 percent ($67.50) and an overhead allocation, and you have your raw cost. Divide by one minus your target margin to reach the customer price. Most contractors target a 60 to 70 percent gross margin on flat-rate repair tasks, which sounds high until you remember how much of it overhead and non-billable time consume.

Critically, build task times from real job data — the average across multiple techs and multiple jobs, including setup, diagnosis, testing, and cleanup — not best-case speed. Pricing on best-case time is how shops end up underwater on every job that runs normal.

Mark up parts by category, not with one flat number

A single blanket markup leaves money on the table in both directions. The rule successful shops follow: markup should vary by part category and risk. Small, fast-turn consumables — capacitors, contactors, fuses — carry higher markup multipliers, often in the 3x to 4x range, because the dollar amounts are small and the convenience value is high. Large-ticket components like compressors and coils carry a lower percentage markup but a higher absolute dollar margin, because customers comparison-shop big parts and a 4x markup would price you out.

Typical residential part markups land anywhere from 40 percent to several times cost depending on category. A useful sanity check: if your repair margins are running below 50 percent, your markup multipliers or your labor rate are too low. Track actual job costs against your flat-rate prices monthly so you can see drift before it becomes a habit.

Present three options to lift your average ticket

For any larger repair or an install, presenting a single take-it-or-leave-it price leaves money on the table. Offering three tiers — good, better, best — consistently lifts average ticket size by 15 to 25 percent compared to single-option quotes, and it does it by giving the customer a choice between yeses rather than a yes-or-no decision.

The mechanics: anchor with the premium option, make the middle tier the one you actually expect most customers to pick, and let the entry tier exist mostly to make the middle look reasonable. This is not manipulation — it is letting customers self-select their comfort level, and many will choose up when given the room. Software with visual proposals and on-site financing makes this far easier to present cleanly in the field.

Price the service call deliberately

Your trip or diagnostic fee is one of your highest-leverage pricing decisions because it qualifies the customer and recovers the cost of simply showing up. A typical residential service-call fee runs anywhere from about $89 to $250 depending on market and scope. Setting it too low attracts price-shoppers and tire-kickers; setting it deliberately filters for customers who value your time.

Many shops roll the diagnostic fee into the repair if the customer proceeds, which removes the customer's objection while still protecting you on no-go calls. Whatever you choose, make it a deliberate decision tied to your real cost of dispatching a truck, not a number you copied from a competitor.

Keep the price book alive

A flat-rate price book is not a set-and-forget document. Labor, parts, and overhead shift faster than most operators expect, and a stale book silently erodes margin. Review it at least every six months, and immediately after any major supplier price increase or labor-rate change. Many contractors do a mid-year parts adjustment and an annual labor adjustment at minimum.

A practical way to start without boiling the ocean: build flat-rate pricing for your ten most common jobs first — the repairs that make up the bulk of your service calls — quote only those for 90 days, track approval rate and actual margin by job type, then expand to the next twenty. You will have a validated, profitable book in a quarter rather than trying to price everything at once and getting it wrong.

Tools mentioned in this guide

Related guides

Frequently asked questions

Q.How do you calculate a flat rate price for an HVAC job?

Use the formula: (average task time × your loaded labor rate) + (parts cost × markup) + overhead allocation, then divide by (1 − your target gross margin). Build task times from real average job data across your techs, not best-case speed, and target roughly a 60-70% gross margin on repair tasks.

Q.What is the true cost of HVAC labor per hour?

Far more than the wage. After payroll taxes, workers' comp, benefits, and vehicle burden, loaded labor typically runs 40-60% above base wage — a $25/hr tech costs about $35-$36/hr. Add overhead allocated across billable hours and your real cost per billable hour can exceed $75 before any profit.

Q.How much should HVAC contractors mark up parts?

Markup should vary by category. Small fast-turn consumables (capacitors, contactors) often carry 3-4x markup, while large-ticket components like compressors carry a lower percentage but higher dollar margin because customers comparison-shop them. If your repair margins fall below 50%, your markup or labor rate is too low.

Q.Should HVAC contractors use flat rate or hourly pricing?

Most profitable shops use a hybrid: flat rate for standard, predictable repairs and maintenance, and time-and-materials for genuinely complex or unpredictable diagnostic work. Flat rate gives customers price certainty and protects your margin on efficient jobs, while hourly covers the unpredictable ones.

Updated: June 2026