A plumber finishes a residential service call. Main drain cleared, a corroded shutoff valve replaced while he was under the sink, and a water heater anode rod swap he noticed was overdue. He was on site for 90 minutes. He logs the main drain line item and the shutoff valve in his head, drives to the next call, and writes up the invoice that evening from memory.
The anode rod, which took eight minutes and paid for itself three times over in warranty protection, isn't on the invoice. Neither is the second half hour of labor, because he rounded down. The call that should have invoiced at $340 goes out at $195.
Multiply this by 15 calls a day across a 12-truck operation and the math is brutal. This is not a story about a careless plumber. It's a story about a billing system that requires perfect memory under field conditions to work correctly.
The memory tax
Every dollar of revenue that goes unbilled passed through a system that asked a human to remember it later. The more calls a tech runs, the more compressed and error-prone that memory becomes. By the fifth call of the day, the second call's details are already degrading.
The fix isn't asking techs to be more careful. The fix is eliminating the gap between the work happening and the invoice being built. When a tech marks each line item complete as they do it, from a mobile device, and the invoice assembles in real time, there is no memory tax. The anode rod is on the invoice because the tech logged it when they swapped it, not because they remembered it eight hours later.
"We thought our pricing was the problem. We kept raising rates and the margin didn't move. When we actually looked at what was getting billed versus what was getting done, the pricing wasn't the issue at all."
The service history angle
The billing problem has a twin: service history. Most plumbing companies don't have a reliable record of what was done at each property. The tech who did the original work left two years ago. The customer calls back about a leak near the shutoff that was replaced, and the current tech has no record of what was installed, what condition the surrounding pipe was in, or what was flagged at the time.
A system that captures full service history at the property and customer level doesn't just solve billing. It makes every subsequent call more accurate. The tech arrives knowing what's there, what was noted last time, and what the customer's service history looks like. That's faster diagnosis, fewer return trips, and higher first-call resolution.
Dispatch: the other half
Service plumbing dispatch shares all the same structural problems as HVAC. A coordinator managing route assignments manually, optimizing across skill match and drive time by feel, without real-time traffic or job duration tracking, is doing their best against an optimization problem that is too complex for manual handling at any meaningful scale.
The result is techs driving past each other, wrong-skill assignments that turn a one-hour call into a callback, and dispatch decisions made on incomplete information about who is where and when they'll be free. AI dispatch doesn't require the coordinator to disappear. It handles the logistics so the coordinator can handle the customer and exception work that actually requires judgment.