Common HVAC Job Pricing Mistakes and Fixes

When the calculator printed a clean quote — and the job still lost money

Use this after the HVAC Job Cost Calculator looked profitable and actuals did not. How to set loaded rates and markup lives in How to Price an HVAC Job. Flat-rate vs T&M is a different decision. This page stays on diagnosis after the estimate.

Symptom → likely leak

What you sawLikely leakFixWhere
Hours matched; dollars did notUnloaded wage in the rate fieldLoad the rate or raise overhead — not bothGuide: rate
Equipment invoice matched; job still thinPad, thermostat, nitrogen, fittingsFill Other parts every change-outCalculator parts field
Quoted 15 ft line; installed 45 ftRefrigerant ounces never converted to $Charge calc → dollars in refrigerant fieldCharge calculator
Install hours low by half a dayRecovery + haul-away not in laborDisposal fee ≠ recovery hoursThis page § recovery
Permit showed up on the invoiceAHJ fee never in the quotePermit field + inspection wait hoursCalculator fees
Helper was “just there”Helper hours at $0Put apprentice hours on every two-person jobCalculator labor
Quoted 35%, owner expected 35% of salesMarkup vs margin mix-up35% markup is ~26% marginGuide: markup
Flat bid, unknown attic, lost moneyWrong contract shapeT&M or NTE on discoveryFlat-rate vs T&M

1. Unloaded labor rate

Why it fails: $38/hr in the tech field is take-home. The truck still rolled. Payroll tax still hit. The next call was 40 minutes of windshield.

Fix: Either load the hourly (guide) or keep wage-ish rates and a real overhead percent. Document which model you use so two estimators do not mix them. A one-page rate card with “loaded service,” “loaded install,” and “helper” beats a verbal “around a hundred.”

Field example Two estimators quoted the same capacitor. One used $38. One used $125 loaded. Same 0.8 hours. The cheap quote won the job and lost $70 after the van. The calculator was not the problem.
Trap: Raising profit margin to “cover” an unloaded rate hides the leak. Fix the rate. Then set margin for risk.

2. Underbidding materials

The condenser invoice is not the install. Line set, pad, thermostat, disconnect, whip, condensate, nitrogen, fittings, and the extra filter cabinet show up on the receipt. If Other parts is $0 on a change-out, you quoted a box, not a job.

Fix: Keep a default kit per job family (2–3 ton swap, 4–5 ton, furnace-only, ductless head). Paste the kit total into Other parts, then add job-specific extras. Nitrogen and brazing rod from the truck still cost money.

3. Refrigerant as a vibe

Extra liquid-line feet are ounces, then dollars at this month’s cylinder price — not “a couple cans.” Run charge calculator, convert, paste. A2L change-outs are not cheaper because the cylinder is smaller; check what you actually pay.

Fix: Weigh-in extras belong in the refrigerant field as dollars. If the line set grew from 15 ft to 45 ft after the attic photo, that is a change order, not a smile. Prove the charge after startup with superheat / subcooling so the unpaid callback does not erase the line you finally remembered.

4. Disposal fee ≠ recovery time

Disposal is the scrap / dump / EPA paperwork fee. Recovery is clock time with a machine on the driveway before you cut the old unit. Putting $175 in disposal and 0 extra hours is how an “easy swap” eats a half day.

Field example Quoted 8 hours. Actual 11 because recovery, crane wait, and a second refrigerant bottle. The calculator was fine. The hours field was a wish.

5. Trip, permit, diagnostic credit

Forgot the permit. Gave away the diagnostic fee on a $90 capacitor because nobody wrote the credit rule. Sat through inspection with a helper on the clock and never added the hour. Fees are not overhead. They are lines.

6. Overhead double-count or zero

Fully loaded $145/hr plus 25% overhead on the same job is padding until it isn’t competitive. Wage $40/hr plus 0% overhead is a donation. Pick one model. Guide reminder: overhead section.

7. Callbacks as unpaid warranty

A flat-rate install that needs a second trip for charge or condensate is unbilled labor unless the contract says otherwise. Running superheat / subcooling after weigh-in is cheaper than a Saturday callback. If discovery is the job, you wanted T&M — see the comparison article.

Chart skipped

No separate chart page. There is no clean national “HVAC labor rate” table the way there is for ampacity or oz/ft. Rate building stays on the guide; job math stays on the calculator. A fake regional rate grid would be worse than no chart.

Open Job Cost Calculator → Open Pricing Guide →

Frequently Asked Questions

The calculator passed — why did we lose money?

Passing means the inputs are consistent with themselves. Fantasy hours, $0 parts kits, and unloaded rates still produce a clean total. Diagnose which line failed, then re-run.

Should I just raise markup when jobs lose?

Usually no. Markup cannot fix 11 hours quoted as 8. Fix inputs and contract type first.

Is this the same as charge troubleshooting?

No. Charge troubleshooting is ounces and SH/SC. This page is the bid model after the quote.

HVAC

HVAC Refrigerant Charging Card

HVAC Refrigerant Charging Card

$3.99

Buy
Complete HVAC Charging Guide

Complete HVAC Charging Guide

$12.99

Buy
HVAC Job Estimator

HVAC Job Estimator

$29.00

Buy
BEST VALUE
HVAC Complete Bundle

HVAC Complete Bundle

$39.00

Buy

See all HVAC products

Checkout opens here — you stay on this page.

Gear that catches the leak

Yellow Jacket scale

Yellow Jacket 68864 Scale

Stop guessing cans. Weigh the line item.

View on Amazon →
Fieldpiece MR45

Fieldpiece MR45 Recovery

If recovery is not in hours, the quote is a wish.

View on Amazon →
Fluke 116

Fluke 116 HVAC Meter

Diagnostic hours are only real if you measure.

View on Amazon →

As an Amazon Associate, TestTalkHQ earns from qualifying purchases.

Related Calculators & Guides