How to price an HVAC service call so the truck gets paid
How do you price an HVAC service call?
Build the number up from your loaded labor rate, then add a trip or diagnostic fee that covers the drive and the first half hour on site, quote parts at a consistent markup on top, and add an after-hours surcharge when it applies. The fee most often given away is the diagnostic, and that is usually where the margin actually leaks.
Most HVAC shops do not lose money on the repair. They lose it on the parts of the call that never made it onto the invoice: the drive across town, the half hour spent tracing a dead capacitor, the after-hours phone call that turned into a Saturday. If you have ever quoted a job, won it, and still finished the month thinner than the ticket said you should be, the leak is usually in how the service call itself is priced, well before you get to your markup.
Fieldwynn builds free tools for service operators, and its in-progress field-service app for small shops isn’t out yet, with HVAC on its early-access waitlist. The intent is a field-first app the tech runs from a phone at the truck, designed to stay affordable for a small shop, so treat this as advice with a funnel behind it and join the waitlist if you want first crack when it reaches HVAC. Either way, check every figure below — including the tools we point you to — against the sources cited inline.
Build the price up from a loaded labor rate
The number that protects a service call is your loaded labor rate, and it is not the wage you pay the tech. The U.S. Bureau of Labor Statistics put the median wage for HVAC mechanics and installers at $59,810 a year as of May 2024, roughly $28.75 an hour across a 2,080-hour year. That is what the labor costs you before anything else is layered on.
On top of the wage you carry the burden: payroll taxes, workers’ comp, liability insurance, paid time off, phones, software, and the credentials HVAC specifically demands. The EPA requires that any technician who opens a refrigerant circuit hold a Section 608 certification, and the training and testing behind that card is a real line in your cost stack, not a formality. Then add the truck. Fuel, payments, insurance, and maintenance run whether the van is moving or parked in the bay; if you have never metered your own per-mile cost, the IRS standard mileage rate — 70 cents a mile for business use in 2025 is a defensible stand-in.
Sum the wage, the burden, and the truck, then divide by the hours you can actually bill in a day rather than the hours you are on the clock; those are different numbers, and the gap between them is where a lot of shops quietly underprice. The job-cost engine runs that arithmetic if you would rather not keep a spreadsheet open in the truck.
Charge for the trip and the diagnostic on their own line
A trip charge covers getting the van to the door. A diagnostic fee covers the time to find the fault once you are there. Some shops bill them as one number and some split them; either is fine, as long as both land on the ticket instead of dissolving into a repair quote the customer may never approve.
This is the single most common place margin leaks on a service call. Fold the drive and the diagnostic into a quote, and on every job you do not win, you have just worked an hour or more for free and paid for the fuel to do it. Bill them up front, and the call pays for itself whether or not the repair lands. The question of whether to credit that fee back toward an approved repair is a real one, and the honest answer is that both policies work — crediting it helps close the bigger ticket, keeping it protects you on the no-gos — provided you print the policy on the quote and decide it before the visit, not at the kitchen table. Set the trip and diagnostic against your real drive time and the first half hour on site rather than copying a competitor’s flat number, because their drive radius is not yours.
Flat rate or time and materials
Once the loaded rate and the diagnostic are settled, you have to decide how the customer sees the price. The two standard models pull in different directions, and a hybrid is common.
| Pricing model | What the customer sees | Risk you carry | Fits when |
|---|---|---|---|
| Time and materials | Hours billed plus parts, totalled at the end | A job that runs long bills more, which can spark disputes | You are still learning your real costs and want no price book |
| Flat rate per task | One agreed price before work starts | A misjudged flat price eats the overrun yourself | You know your loaded rate well enough to set the book |
| Hybrid (flat diagnostic, then either) | A fixed fee to look, a quoted price to fix | Two-step pricing needs a clear hand-off so it does not feel like a bait | You want the diagnostic always covered and the repair priced to the find |
Time and materials needs no price book and stays transparent while you are still metering your costs, but a ticket that climbs as the hours add up is the kind a customer pushes back on. Flat rate fixes that: the price is agreed before a wrench moves. But you can only quote it honestly once you know your cost stack, or you are guessing with your own margin. A practical path is to start on T&M, watch where your real hours land across a season, and build a flat-rate price book from your own data once the patterns are clear. If you want to pressure-test a flat number before you commit it to the book, the HVAC calculator at the end of this guide runs in reverse: enter the price you plan to quote and it backs out the margin that price actually leaves you.
Mark parts up as a separate lever
Parts markup is a different mechanism from labor margin and overhead recovery, and keeping them separate is what keeps your pricing legible. You buy a contactor or a capacitor at distributor cost and sell it installed at a higher price; that spread pays for procurement, stocking, warranty risk, and the trip back when a part fails early. It is not a place to hide overhead you should have recovered in your labor rate — if the markup is doing two jobs, you cannot tell which lever is actually working.
The discipline that matters is consistency. Pick a multiple and apply it the same way on every job, because a customer who sees steady, predictable parts pricing reads it as fair, while one who catches an inconsistent markup reads the whole invoice as negotiable. If you think in margin rather than markup, the markup-versus-margin converter keeps the two from getting crossed — a common and expensive mix-up — and the parts and material markup calculator applies your multiple across a job’s material list so the total carries through to the quote cleanly.
When a discount makes sense — and when it just hides the leak
There is a real difference between a discount that buys you something and a discount that quietly erases a cost you already incurred. Waiving a trip fee because a price-shopper pushed back at the door is the second kind: you still drove there, you still paid for the fuel, and you have now trained that customer to expect it gone. The drive does not get cheaper because someone asked.
The discount that earns its keep is structural. A maintenance agreement is the clean version: the customer prepays for seasonal tune-ups and earns a standing break on diagnostic fees and repair labor, and in exchange you get scheduled, predictable work in your slow weeks and first call on their breakdowns. Put those agreements on recurring billing so the revenue recurs instead of being re-sold every spring, and standardize the visit with a maintenance checklist so any tech can run it the same way. That is a discount that trades a lower per-visit price for revenue you can count on, which is worth real money, rather than one that simply gives away the part of the call you were already underbilling.
Put your numbers in
Everything above is a framework; the price is yours. Enter your loaded labor rate, your hours, your parts and markup, and any after-hours surcharge, and the calculator returns a defensible time-and-materials price — or, in flat-rate mode, the margin a price you are considering would actually leave you.
The output is an advisory estimate, not a binding quote — verify your local labor rates, permit fees, refrigerant regulations, and applicable taxes before you hand a customer a number.
The number you protect
If you fix one thing about how you price service calls, make it this: every ticket should carry its share of the truck, the certification, and the diagnostic time before a single part is marked up. The repair was rarely the problem. The drive and the diagnosis you stopped charging for were, and they are the easiest margin in the business to win back, because you are already doing the work — you just have to put it on the invoice.