A service tech finishes a call. The job took two hours, involved a capacitor replacement, a refrigerant top-off, and a cleaning that wasn't on the original work order. He texts the office the parts used, drives to the next call, and assumes billing will sort itself out.
Billing does sort itself out, three days later, from a text message and a memory. The capacitor is on the invoice. The refrigerant top-off might be. The cleaning, the extra labor time, and the service agreement upsell conversation he had at the door, those almost certainly aren't.
This is not a tech problem. The tech did the work. It's a systems problem: the gap between field and office is wide enough to lose real money through every single day.
Where the revenue goes
Run through the math on a 20-truck HVAC company running 40 calls a day. Average job value, say $380. Revenue leakage of 10% is $38 per job. Over 240 working days, that's $364,000 a year in work performed and not billed. That number is not unusual. Most operators who track this closely are surprised to find it's on the low end.
The leakage happens in three places. First: parts not captured. Techs pull from their truck stock without always logging what they used. Second: time not recorded. A job that takes 2.5 hours often gets billed for 2 because no one is watching the clock. Third: upsell work done but not written up. A tech who replaces a capacitor and notices the condenser coils are badly fouled might clean them while he's there. Good for the customer. Invisible to the invoice.
"I found out we were leaving about $40,000 a month on the table when we finally looked at what got done versus what got billed. It wasn't anyone's fault. The system just couldn't see it."
What billing automation actually does
The fix isn't closer supervision of technicians. It's closing the loop between what happens in the field and what gets billed, automatically.
When a tech marks a job complete on a mobile device, the billing system assembles the invoice from what was logged: parts pulled, time on site (geo-verified from arrival to departure), work order line items completed, and any additional items the tech added from a prompt at job close. The invoice goes to the customer the same day. Not three days later from a text reconstruction.
The dispatch half of the problem
Revenue leakage is the billing half. The dispatch half is different but equally expensive. Most HVAC companies are running dispatch manually: a coordinator with a whiteboard or a spreadsheet, moving techs around based on who calls in, who's nearest, who has the right cert.
The problem isn't that the coordinator is bad at the job. It's that the job is impossibly complex at scale. Routing 20 techs across a metro area, accounting for skill match, drive time, customer priority, equipment on the truck, and shift end times, that's not a human-scale optimization problem. It's a machine problem. AI dispatch systems handle this in real time, rerouting automatically when a job runs long or a new call comes in. The coordinator stops being a scheduler and starts being the person who handles the exceptions the system can't.
Put billing automation and intelligent dispatch together, and you're not running a different kind of HVAC company. You're running the same company, but the money you were leaving on the table every day is showing up on the invoice instead.