← Back to blog

What Warranty Callbacks Cost a Residential HVAC Company

July 13, 2026

The problem: A callback is free to the customer, so it never becomes an invoice, and a truck roll that never becomes an invoice never becomes a number anyone can see.

The solution: Cost every callback the way you cost a paid call, and tie it back to the install, the crew, and the equipment that caused it.

The math

At an $11M HVAC company, 540 callbacks a year at roughly $336 each in labor, vehicle cost, and the billable call they displace is about $180k that never appears on a single invoice.

Every residential HVAC company has a callback rate, and almost none of them can tell you what it is. Not because anyone is hiding it. Because the callback is the one kind of work the business does that produces no paperwork with a dollar figure on it. A customer calls, the office says of course, we will get someone out, and a tech goes. The visit is real. The truck burns fuel. The tech's hours are paid. And at the end of it, the invoice reads zero, or there is no invoice at all.

Zero is a number, but it is the wrong one. Nothing in the system says what the visit consumed. So the callback leaves the building without leaving a trace, and the company's margin absorbs it silently, month after month, at a scale nobody has ever sized.

Free to the customer is not free

The word "warranty" does a lot of quiet damage here. It makes the visit feel like an obligation already paid for, something covered by the original sale, and therefore not a current cost. But the original sale was priced on a install that went right. The visit happening today is consuming today's capacity.

Break a single callback into what it actually uses:

  • Technician time. Not just the hour on site. The drive out, the diagnosis, the parts run if one is needed, the drive back. Two to three hours is normal.
  • Vehicle cost. Fuel, wear, tires, and the share of insurance and payment that the mileage consumes.
  • Parts. Often small, sometimes not, and usually eaten rather than billed.
  • The call that did not happen. This is the big one. A tech running a callback is a tech not running a paid service call. On a busy day, that is a booked job pushed to tomorrow or lost.
  • Office time. Someone took the call, someone rescheduled the route, someone smoothed the customer over.

Only the parts have any chance of being visible, and only if someone coded them to a job. The rest is inside payroll and inside the fuel card total, both of which look completely normal.

Why the paid work hides the unpaid work

Here is the mechanic that keeps this invisible. Labor cost lands in payroll as a weekly total. Vehicle cost lands as a fuel and maintenance total. Both are real, both are tracked, and neither is split by what the hours and the miles were spent on. A tech who ran four paid calls and a tech who ran three paid calls and a callback cost exactly the same and look exactly the same.

So the company's overall gross margin quietly carries the callbacks, and because the margin is acceptable, nothing prompts a question. The owner sees 42 percent and feels fine. What the owner cannot see is that a couple of points of that 42 are being spent re-doing work already sold, or that the callbacks are not spread evenly, and that a small number of crews, equipment lines, and install types are generating most of them.

That last part is the expensive part. If callbacks were random, you could only price for them. They are not random. They cluster. And you cannot act on a cluster you cannot see.

A look at a residential HVAC company

Consider a residential HVAC company doing about $11 million a year, roughly two thirds replacement and install, one third service and maintenance agreements, running around fifteen trucks. The owner tracks revenue per tech, close rate, and average ticket. Callbacks are handled by the service manager as they come, and there is a shared sense that "we take care of our customers," which everyone is proud of and nobody has priced.

Cost one callback at this company.

A technician at a loaded cost near $38 an hour spends about two and a half hours on the visit including drive: $95. Thirty miles round trip at roughly $0.70 a mile all-in: $21. Parts consumed and not billed, averaged across visits that need none and visits that need a board: $40. Office and dispatch handling: $20. That is $176 of direct cost.

Then the displaced call. On a day where the board is full, that callback takes the place of a service call averaging around $420 in revenue at maybe $180 of contribution. Not every callback displaces a paid call, so weight it: call it $160 on average.

Total: roughly $336 per callback.

Now the volume. If the company completes on the order of 9,000 install and service jobs a year and about six percent of them generate a return visit, that is 540 callbacks. At $336 each, you are looking at roughly $180,000 a year, or about 1.6 points of gross margin, that has never appeared on an invoice, a report, or a job cost.

What you would expect to find once the visits are actually attributed is that they are not evenly distributed. It would not be surprising to see a meaningful share tied to a handful of causes: one install crew's ductwork, one equipment line's control board, a specific thermostat model being sold into homes with old wiring, and a category of "callback" that is really a customer who was never shown how to use the system. Each of those has a different and fairly cheap fix. A morning of retraining. A conversation with a distributor. A ten-minute walkthrough added to the install checklist. None of them are available as options while the callbacks are one undifferentiated pile of goodwill.

How the answer becomes available

The change is small and specific: a callback becomes a job like any other job, with a cost, a cause, and a link back to the work that created it.

The dispatch record already knows the visit happened. The tech's time is already being captured for payroll. What is missing is that the visit is not typed as a callback, not linked to the original install or service call, and not costed. Once those three connections exist, cost per callback and callback rate by crew, by equipment line, and by job type stop being a research project and become something the business simply knows.

Then the upkeep comes off people. Nobody builds a warranty report. The system flags the patterns as they form: a crew whose callback rate has moved above the others three months running, an equipment model returning at twice the rate of its peers, a repeat address that has now had three visits. The service manager stops assembling and starts deciding.

There is a second benefit that shows up at pricing time. Once you know callbacks cost the business roughly $180,000 a year, you know what a fraction of a point of install quality is worth, and you can make a real decision about paying more for a better crew, spending an extra hour on commissioning, or dropping an equipment line that keeps coming back.

How to start

You do not need a new field service platform to get the first version of this.

  1. Type the visit. Add one required field to every dispatch: is this billable work or a return visit, and if it is a return, which job is it returning to.
  2. Put a standard cost on a truck roll. Compute one figure for your business: loaded tech hours plus vehicle cost plus average parts. Use it for every callback rather than costing each one individually.
  3. Count for ninety days. Do not try to reconstruct last year. Three months of honest data is enough to see the shape.
  4. Sort by cause, not by total. Rank callbacks by crew, by equipment line, and by job type. The ranking is where the decisions are.
  5. Let the flagging run itself. Set the callback rate to surface as it drifts, so a crew or a product line raises its hand before it costs a season.

The takeaway

The most expensive work at an HVAC company this size is often the work nobody bills for. A callback is free to the customer by design, and because of that it never becomes an invoice, and because it never becomes an invoice it never becomes a number in your business. Meanwhile it is consuming technician hours, truck miles, and, most costly of all, the paid calls those hours could have run. Put a standard cost on a truck roll, tag every return visit to the job that caused it, and count for a quarter. The total is likely to be larger than you expect, and the concentration in a handful of causes is likely to be the more useful discovery.

Every business has a number like that hiding in it.

Text us where your team loses its time, and we’ll put a real number on yours, then show you what’s worth organizing and automating first. No forms, no sales call.