ProSheet Studio

HVAC Flat Rate Pricing: Build a Price Book on Sellable Hours

By Roger Ramey· Updated · 10 min read· Every number shows its working

Short answer

An HVAC flat rate is (task hours x loaded labour rate + parts + task hours x overhead per sellable hour) / (1 - margin). With a $30 wage at 32% burden ($39.60) and $74.04 of overhead per sold hour, a 1-hour capacitor swap with $30 of parts breaks even at $143.64 and sells for $239.40 at 40% margin.

On this page
  1. What is HVAC flat rate pricing?
  2. HVAC pricing calculator: price one task
  3. Why flat rates must be built on sellable hours, not paid hours
  4. Worked example: one HVAC flat-rate price book entry
  5. HVAC flat rate price book: a sample built with the formula
  6. How much should I charge for an HVAC service call?
  7. Pricing a system replacement, and the markup mistake
  8. HVAC flat rate price book in Excel: formulas
  9. Flat-rate pricing app vs a spreadsheet price book
  10. Step-by-step
  11. FAQ

What is HVAC flat rate pricing?

HVAC flat rate pricing quotes a fixed price per repair task, taken from a price book, before the work starts. The customer sees the price up front; the shop carries the risk that the task runs long. Behind every flat price is the same hourly cost maths, done once per task instead of once per invoice.

Flat rate = (task hours x loaded labour rate + parts + task hours x overhead per hour) / (1 - margin)

Overhead in that formula is spread per sellable hour: an hour a technician spends on a task a customer pays for. That one word is where most homemade price books go wrong, and it is the subject of the next sections.

I'm not an HVAC technician; I build pricing math. Every wage, part cost and task time below is an assumption you replace with your payroll, your distributor invoices and your own timed jobs.

Time and materials vs flat-rate pricing
Time and materialsFlat-rate price book
Customer sees the priceAfter the workBefore the work
Who carries time riskCustomerShop
A faster tech earns the shopLessMore
What it needs from youAn honest hourly rateTimed task hours and an honest hourly cost

HVAC pricing calculator: price one task

Enter the task hours, parts and your cost inputs; the calculator returns break-even first, then the flat rate. The defaults are the capacitor entry worked below.

Two boxes need care. The wage box is the real hourly wage you pay ($30 here). "Days you bill" means sellable days: set it so that days x 8 equals the hours each tech actually sells, so 1,200 sellable hours is 150 in the days box. And the overhead box should include the wages paid for unsold hours (next section). The general free job pricing calculator runs the same maths for any trade.

Why flat rates must be built on sellable hours, not paid hours

A technician is paid for every hour on the clock but only some of those hours are sold: drive time, parts runs, callbacks, training and slow days are paid and unbilled. Flat rates built on paid hours spread your costs over hours nobody buys, so every entry comes out too low.

Here is the arithmetic with assumed figures. A tech paid $30 an hour for 2,080 hours sells 1,200 of them (for example 240 working days with 5 sold hours a day). The other 880 hours still cost the loaded wage: (2,080 - 1,200) x $30 x 1.32 = $34,848 a year per tech. That is an overhead cost, like the van. For a two-truck shop with $108,000 of other yearly overhead, total overhead is $108,000 + 2 x $34,848 = $177,696.

Divide it by sellable hours, not paid hours: $177,696 / (2 x 1,200) = $74.04 per sold hour. The paid-hours version leaves the unsold wages out and divides $108,000 by 4,160 paid hours, giving $25.96. Build the capacitor entry that way and you get this:

Worked example: The same capacitor entry built on PAID hours: unsold wages left out of overhead, 260 days x 8 hours (the mistake; assumptions)

Inputs (assumptions — replace with your own) and results
ItemValue
Workers (input)1
Hourly wage paid (input)$30.00
Labour burden % (input)32%
Materials (input)$30.00
Overhead for the year (input)$108,000.00
People in the field (input)2
Billable days a year (input)260
Target margin % (input)40%
Jobs a week (input)5
Hours on the job (input)1
Loaded labour rate (per hour)$39.60
Crew-hours1
Labour cost$39.60
Overhead per sellable hour$25.96
Overhead share$25.96
Break-even cost$95.56
Price to quote$159.27
Profit on the job$63.71
Price if you MARK UP instead$133.79
Margin you actually keep with markup28.57%
Lost per job by marking up$25.48
Lost per year by marking up$6,625.60

Computed with the same formulas as the free calculators on this site. Change any input in the calculator above to see your own numbers.

That entry sells at $159.27. The true cost of the task, on sold hours, is $143.64, so the shop keeps $15.63 on the job: a real margin of about 9.8%, not 40%. The formula was right; the hours under it were wrong. Measure your own sold-hour ratio from timesheets and invoices before you trust any price book.

Worked example: one HVAC flat-rate price book entry

Price a price-book entry by timing the task, costing it at the loaded wage, adding overhead per sold hour and parts at your cost, and dividing by (1 - margin). Take a run capacitor replacement with an assumed 1 hour of task time and $30 of parts.

  1. Loaded labour: $30 x (1 + 32% burden) = $39.60. Burden covers payroll tax, workers' comp and insurance; see the labor burden calculator guide for your own figure.
  2. Overhead: $177,696 / (2 techs x 150 x 8) = $74.04 per sold hour, unsold wages included.
  3. Break-even: $39.60 + $30.00 + $74.04 = $143.64.
  4. Flat rate: $143.64 / (1 - 0.40) = $239.40.

Worked example: Price book entry: replace run capacitor, 1 hour task time, overhead spread over sellable hours (all inputs are assumptions)

Inputs (assumptions — replace with your own) and results
ItemValue
Workers (input)1
Hourly wage paid (input)$30.00
Labour burden % (input)32%
Materials (input)$30.00
Overhead for the year (input)$177,696.00
People in the field (input)2
Billable days a year (input)150
Target margin % (input)40%
Jobs a week (input)5
Hours on the job (input)1
Loaded labour rate (per hour)$39.60
Crew-hours1
Labour cost$39.60
Overhead per sellable hour$74.04
Overhead share$74.04
Break-even cost$143.64
Price to quote$239.40
Profit on the job$95.76
Price if you MARK UP instead$201.10
Margin you actually keep with markup28.57%
Lost per job by marking up$38.30
Lost per year by marking up$9,959.04

Computed with the same formulas as the free calculators on this site. Change any input in the calculator above to see your own numbers.

The margin is an assumption too. Pick yours from what the business needs to fund after costs; the overhead and profit calculator guide shows how overhead and profit differ.

HVAC flat rate price book: a sample built with the formula

A price book is the worked example repeated for every task you sell. Using the same inputs ($39.60 loaded labour and $74.04 overhead per sold hour, 40% margin), here are seven entries. Task hours and part costs are placeholders to show the method, not market prices.

Sample HVAC price book at 40% margin (task hours and parts are assumptions)
TaskHoursPartsBreak-evenFlat rate
Clear condensate drain1$10$123.64$206.07
Replace run capacitor1$30$143.64$239.40
Replace contactor1$40$153.64$256.07
Replace thermostat (standard)1$120$233.64$389.40
Replace condenser fan motor2$180$407.28$678.80
Replace inducer motor2.5$350$634.10$1,056.83
Replace blower motor3$650$990.92$1,651.53

Each row is (hours x 113.64 + parts) / 0.6, where 113.64 is labour plus overhead per sold hour. Change one input on the settings tab and every row reprices. Time each task across several real jobs, including setup, testing and cleanup, before a row goes in front of a customer.

How much should I charge for an HVAC service call?

Charge at least the cost of the shortest real visit, priced on margin. Every call carries drive time and a first stretch of diagnosis whether the fix takes ten minutes or an hour.

With the inputs above, a visit of 0.5 hours driving plus 1 hour of diagnosis and no parts breaks even at $170.46 and prices at $284.10 at 40% margin. Some shops charge that as a diagnostic fee and then quote the repair from the price book; others build the trip into each entry. Either way the drive has to be paid for somewhere.

What do HVAC techs charge per hour?

Derive it rather than copy it. Loaded labour plus overhead here is $39.60 + $74.04 = $113.64 per sold hour, so the hourly rate that matches a 40% margin is 113.64 / 0.6 = $189.40. The same shop working from paid hours, with unsold wages left out of overhead, would calculate $65.56 of cost and a rate near $109.27, and lose money on every hour. Your wage, burden, overhead and sold-hour ratio set your number.

Pricing a system replacement, and the markup mistake

Price replacements with the same formula; the stakes just grow. Here two techs spend 10 hours each and the equipment and materials allowance is a $5,500 placeholder, standing in for your distributor quote. The margin is set at 30% to show that big-ticket work can carry a different margin from repairs.

Worked example: System replacement: 2 techs x 10 hours, $5,500 placeholder equipment and materials allowance, 30% margin (assumptions)

Inputs (assumptions — replace with your own) and results
ItemValue
Workers (input)2
Hourly wage paid (input)$30.00
Labour burden % (input)32%
Materials (input)$5,500.00
Overhead for the year (input)$177,696.00
People in the field (input)2
Billable days a year (input)150
Target margin % (input)30%
Jobs a week (input)1
Hours on the job (input)10
Loaded labour rate (per hour)$39.60
Crew-hours20
Labour cost$792.00
Overhead per sellable hour$74.04
Overhead share$1,480.80
Break-even cost$7,772.80
Price to quote$11,104.00
Profit on the job$3,331.20
Price if you MARK UP instead$10,104.64
Margin you actually keep with markup23.08%
Lost per job by marking up$999.36
Lost per year by marking up$51,966.72

Computed with the same formulas as the free calculators on this site. Change any input in the calculator above to see your own numbers.

Break-even is $7,772.80 and the price at 30% margin is $11,104.00. Add 30% as a markup instead and you quote $10,104.64, which keeps only 23.08% and gives up $999.36 on one job. The markup vs margin guide has the conversion chart.

How much does a new HVAC system cost for 2,000 sq ft? That depends on the load calculation, the equipment chosen, duct condition and local labour costs, so I won't quote a market range. For your own quote: size the equipment, get the distributor price, estimate crew-hours from past installs, and run it through the formula above.

Try it with your numbers — free

The free calculator does this whole method in about a minute: loaded labour, overhead share, break-even and the price to quote at your margin. No signup, nothing to download, and your numbers stay in your browser.

Open the free calculator →Get the free spreadsheet

Want it built around your own rates, services and branding? Done-for-you custom calculator ($497).

HVAC flat rate price book in Excel: formulas

Build the price book as one row per task (name, hours, parts) with break-even and price formulas that read from a settings tab. Change the wage or overhead once and every row updates.

Unsold wage cost (add to overhead)

=(Settings!$B$3-Settings!$B$4)*Settings!$B$2*(1+Settings!$B$6)*Settings!$B$8

Settings B2 = hourly wage, B3 = paid hours a year (2,080), B4 = sellable hours per tech (1,200), B6 = burden % (32%), B8 = techs in the field.

Labour + overhead per sold hour

=Settings!$B$2*(1+Settings!$B$6)+(Settings!$B$7+Settings!$B$5)/(Settings!$B$8*Settings!$B$4)

B7 = other yearly overhead ($108,000), B5 = the unsold wage cost from the formula above.

Task break-even (price book row)

=B2*Settings!$B$9+C2

Row 2: B2 = task hours, C2 = parts cost; Settings B9 = labour + overhead per sold hour.

Flat rate

=ROUND(D2/(1-Settings!$B$10),2)

D2 = task break-even, Settings B10 = target margin (40%).

Stand-alone call price

=MAX(E2,Settings!$B$11)

E2 = flat rate, B11 = service-call minimum. Use for a task that is the only work on the visit.

Lock the settings cells with absolute references such as Settings!$B$2 so each task row stays a single line you can copy down. The layout mirrors the electrical pricing guide, which prices a pricebook the same way for another service trade.

Flat-rate pricing app vs a spreadsheet price book

Flat-rate apps and field-service software suit shops that want the price book on a tablet with good-better-best options, dispatch and on-site payments. A spreadsheet price book suits a one- to three-truck shop that wants to own the maths, see every formula and pay once. Some apps sell pre-built task times; whatever the source, check those times against your own jobs.

Where each option fits (no prices; check any vendor's current terms)
OptionSuitsWatch for
Flat-rate app or field-service softwareTablet presentation, dispatch, paymentsOngoing subscription; task times that are not yours
PDF price bookA printed referenceGoes stale when a wage or part price changes
Spreadsheet price bookOwning and checking the mathsYou maintain it; test the formulas

What to put in your price book: a settings tab (wage, burden, paid hours, sellable hours, overhead including unsold wages, techs, margin, service-call minimum); one row per task with hours, parts, break-even and price; and a column for the date each task time was last checked.

There is no ready-made HVAC template in the shop. Free options: the free Job Pricing Starter spreadsheet and the calculator above. Built for you: the done-for-you custom job-pricing calculator is tailored to your trade, with your labour tasks, materials and rates pre-loaded, a branded client quote page and a job log with win-rate dashboard, delivered in Excel and Google Sheets in about 2-3 business days. It is $497 one-time, with one round of revisions. If you would rather see the price book built first, the custom HVAC pricing calculator page shows what the build includes.

Step-by-step: HVAC Flat Rate Pricing: Build a Price Book on Sellable Hours

  1. Find sellable hours per tech. From timesheets and invoices, count hours actually sold in a year. 240 days x 5 sold hours = 1,200.
  2. Cost unsold hours as overhead. (Paid hours - sellable hours) x wage x (1 + burden). (2,080 - 1,200) x $30 x 1.32 = $34,848 per tech.
  3. Find overhead per sold hour. Yearly overhead including unsold wages / total sellable hours. $177,696 / 2,400 = $74.04.
  4. Time each task. Record real task hours, including setup, testing and cleanup, across several jobs before setting a flat rate.
  5. Compute break-even per task. Task hours x (loaded rate + overhead per hour) + parts at your cost.
  6. Price on margin. Divide break-even by (1 - margin). Never multiply by (1 + margin); that is a markup and keeps less.
  7. Set a service-call minimum. Price the shortest real visit, drive plus diagnosis, the same way. Bill at least that on any stand-alone call.

Run your own numbers — free

The free calculator does this whole method in about a minute: loaded labour, overhead share, break-even and the price to quote at your margin. No signup, nothing to download, and your numbers stay in your browser.

Open the free calculator →Get the free spreadsheet

Want it built around your own rates, services and branding? Done-for-you custom calculator ($497).

Frequently asked questions

How do you calculate an HVAC flat rate price?

Multiply task hours by the loaded wage plus overhead per sellable hour, add parts at cost, then divide by (1 - margin). With $39.60 of loaded labour and $74.04 of overhead per sold hour, a 1-hour task with $30 of parts breaks even at $143.64 and sells for $239.40.

Is there a flat rate price book for HVAC services?

Commercial flat-rate books and apps exist, and you can also build your own in a spreadsheet: one row per task with timed hours and parts, priced from your own wage, overhead and margin. Whichever you use, check its task times against your technicians' real jobs.

Why use sellable hours instead of paid hours?

Because customers only pay for sold hours. Wages for drive time, parts runs and slow days are real costs, so add them to overhead and spread overhead over sold hours. Leaving them out prices a capacitor swap at $159.27 instead of $239.40 and keeps about 9.8%.

How much should I charge for an HVAC service call?

At least the cost of the shortest real visit priced on margin. With this guide's assumptions, 0.5 hours of driving plus 1 hour of diagnosis breaks even at $170.46 and needs $284.10 at a 40% margin. Your own drive times and costs will give a different figure.

What do HVAC techs charge per hour?

Work it out from your costs: labour plus overhead per sold hour, divided by (1 - margin). With this guide's assumptions that is $113.64 of cost and $189.40 an hour at 40% margin. Rates in your area vary; this is the floor your own costs set.

How do you estimate an HVAC job?

Break it into tasks you can time. Cost each task's hours at the loaded wage plus overhead per sold hour, add parts at cost, and divide by (1 - margin). Compare estimated and actual hours after each job and update the price book.

Will HVAC prices go down in 2026?

I can't forecast that. What you can control is keeping your price book current: when wages, overhead or distributor prices change, update the settings tab and every flat rate reprices. A price book that is a year out of date is usually underpricing.

Is there a PDF HVAC price book available?

Printable price books exist, but a PDF cannot reprice itself. Keep the working version in Excel or Google Sheets and print or export to PDF from it when you need a paper copy, so a wage or part change never leaves the printed prices behind.

Roger Ramey
Written by Roger Ramey
I'm not a contractor, landlord or accountant. I build the pricing maths, and every number on this page shows its working so you can check it instead of trusting it. Watch the breakdowns on YouTube →
ProSheet Studio · Templates · Guides · Free calculators · Free spreadsheet · Custom build · Privacy
Pricing maths and templates, not financial, tax or legal advice. Calculators run in your browser; the numbers you type are never sent anywhere.