HVAC Job Pricing Calculator

Price HVAC service calls, installs, and replacements. Enter labor, parts markup, and overhead to get a defensible T&M quote or verify your flat rate.

Job type
Pricing method
Labor
Parts & materials

Enter your cost (not the sell price) — markup is applied below.

Your sell price on parts = cost × (1 + markup%). Regional spread is large — enter your shop's typical rate (often 20–100% for HVAC parts).

Default 0% — HVAC parts are discrete units. Use for refrigerant overage or consumable loss.

Service call extras

Added as a separate line item — not subject to parts markup.

Applied on top of the calculated price. 0 = no surcharge.

Overhead
Method

Regional spread is large — edit to match your shop's overhead rate.

Pricing target
Mode

Optional cost buffer applied before pricing.

Flat-rate price

Enter the price you will quote the customer. The tool reverse-computes your implied margin.

Recommended price

Labor
Parts (after markup)
Overhead
Contingency
Emergency surcharge
Total cost
Profit
Margin / Markup

Line items

SectionDescriptionQty / HrsRate / UnitRow total
Export

Flat-rate price

Labor
Parts (after markup)
Overhead
Total cost
Implied profit
Implied margin
Implied markup

Line items

SectionDescriptionQty / HrsRate / UnitRow total
Export
How this is calculated

The HVAC cost build-up uses the same engine as Job cost quote with HVAC-specific additions: a per-row parts markup, a trip fee that bypasses markup, and an emergency surcharge applied on top of the engine price.

partsWithMarkup  = Σ qty × unitCost × (1 + partsMarkup%)
partsWithFees    = partsWithMarkup + tripFee   [service only]
materialsCost    = partsWithFees × (1 + waste%)
laborCost        = Σ hours × loadedRate
overhead         = per method (fixed | %labor | %total)
directCost       = labor + materials + overhead
totalCost        = directCost × (1 + contingency%)    [T&M]
enginePrice      = totalCost / (1 − margin)            [margin mode]
                 = totalCost × (1 + markup)            [markup mode]
recommendedPrice = enginePrice × (1 + emergencySurcharge%)  [T&M]

── flat-rate reverse ──
totalCost        = directCost                          [no contingency]
impliedProfit    = flatRatePrice − totalCost
impliedMargin    = impliedProfit / flatRatePrice
impliedMarkup    = impliedProfit / totalCost

Tax is excluded. Verify local tax, licensing, and permit fees before quoting. Loaded rate = wage + benefits + payroll taxes; regional spread is large — edit the default to your real rate.

Replacement quotes start a step earlier, with how much equipment the house actually needs: the HVAC load and BTU calculator gives the pre-Manual-J ballpark before any of these costs are assembled. How the trade sets a diagnostic and call-out charge in the first place is walked through in HVAC service call pricing, and the trip fee this page passes through is priced properly in the trip charge and service call calculator.

Accepted work is dispatched on the HVAC work order template, and the flat-rate side of the tool is easier to sell from a published sheet like the HVAC service price list template. The same cost build-up in a wet trade is the plumbing job pricing calculator.

Get early access

Fieldwynn is the field-first app we are building for small crews — simple in the truck, powerful in the back office. It is not out yet; join the early-access list and be first when it launches for your trade.