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.

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.