A growing HVAC and duct-cleaning company was running weekly bonus payroll by hand, and two silent errors, a travel-time miscalculation and mixed-up job categories, were putting close to $30,000 a year at risk. Fixing the math brought technician payouts within about $100 of accurate.
Every HVAC business owner has a version of the same quiet fear. Payroll goes out every week, the numbers look roughly right, and nobody has the time to check whether "roughly right" is actually right. The checks clear, the technicians cash them, and the business moves on to the next week. It is only when someone finally sits down and audits the math, job by job, hour by hour, that the gap between "roughly right" and "actually right" becomes visible. For one growing HVAC company running both installation crews and a dedicated duct-cleaning division, that gap turned out to be worth almost $30,000 a year.
This is not a story about a business owner who was careless with money. It is a story about how easy it is for small, invisible errors to compound inside a manual bonus and commission process, especially once a company is running more than one kind of job through the same payroll system. Installation jobs, service calls, and duct-cleaning jobs all have different cost structures, different time expectations, and different margins. When the tools calculating pay do not understand those differences, the paycheck stops reflecting the work.
Two Kinds of Jobs, One Broken Set of Math
The company's technicians ran two very different kinds of work. Some days a crew was out running a full HVAC installation, a multi-hour job with real material costs and a clear profit margin. Other days, often the same technicians, the same trucks, ran duct-cleaning jobs: faster, lower-cost, and structured completely differently on the back end. On paper, that flexibility was good for the business. It kept trucks busy and techs cross-trained. But the payroll system computing bonuses and commissions was not built to tell the difference.
Duct-cleaning jobs were, in places, getting classified and paid out using the same logic built for installation jobs. That might sound like a small technicality, but the dollar structures behind those two job types are not close. An installation commission model assumes a certain material cost, a certain crew size, a certain time-on-site. Apply that same model to a duct-cleaning job, which moves faster and costs less to run, and the payout comes out wrong almost every time. Sometimes it was wrong in the technician's favor. Sometimes it was wrong against them. Either way, nobody in the office had the bandwidth to catch it, because catching it meant manually re-deriving the math on every job, every week, for every technician.
That is the part that rarely gets said out loud in conversations about incentive pay: the problem usually is not that a business owner does not care about paying technicians correctly. It is that verifying "correctly" by hand, across dozens of jobs and multiple job types every single week, is not a reasonable ask of anyone in the office. Something has to give, and usually what gives is accuracy.
The Second Error: Travel Time That Was Never Supposed to Count
Job misclassification was not the only issue quietly draining accuracy from this company's payroll. The second problem lived inside how travel time was being calculated for technicians in the field. Drive time between jobs is a normal, expected part of a field service day, and most incentive structures are built to exclude it, or account for it separately, precisely because paying performance-based bonuses on windshield time defeats the purpose of a performance-based bonus in the first place.
Here, the travel-time calculation was including idle time it should not have, effectively counting hours a technician was not actively working toward the metrics that fed their bonus. Stack that against the job misclassification issue, and the two errors together were on pace to put close to $30,000 a year of overpayment risk into the system, money that was not tied to actual performance, actual jobs completed, or actual revenue generated. That is not a rounding error. That is close to the fully loaded cost of another technician's salary, leaking out through math nobody had time to double-check.
It is worth pausing on why this particular combination of errors is so easy to miss. Neither one, on its own, produces a payroll number that looks obviously wrong. A slightly inflated hour here, a slightly misapplied commission rate there, and the weekly total still looks plausible. It is only when you add up the drift across dozens of technicians and hundreds of jobs over months that the real number appears. Most HVAC companies running payroll manually, or through a patchwork of spreadsheets, simply never get the chance to add it up. The errors stay invisible by default, not because anyone is hiding them, but because nobody has a system built to surface them.
What HVAC Companies Usually Get Wrong About "Accurate Enough"
There is a version of this story that plays out at HVAC companies constantly, whether or not they ever find out about it. Owners assume that because payroll runs on time and technicians are not complaining loudly, the math underneath it must be close enough. But "close enough" is doing a lot of work in that sentence. Close enough compared to what benchmark? Verified how, and how often?
The honest answer at most shops is that nobody is verifying it at all. There is no time. Someone in the office is already stretched across dispatch, invoicing, parts ordering, and a dozen other daily fires, and manually reconciling technician-level bonus math against actual job data is not a task that survives contact with a Tuesday. So the numbers get approximated, the approximations compound, and the business either quietly overpays, which erodes margin nobody can explain, or quietly underpays, which erodes trust technicians can absolutely feel even if they cannot point to the exact number.
That trust question matters more than it gets credit for. Technicians talk to each other. If pay feels inconsistent, arbitrary, or occasionally just wrong, technicians stop believing the incentive program reflects their actual work, and once that belief erodes, the whole point of building a performance-based pay structure collapses. You cannot motivate someone with a number they do not trust.
None of this is unique to one company. It is the default state for any HVAC business running bonus or commission pay through manual spreadsheets, disconnected job categories, or a payroll process nobody has time to fully audit. The good news is that once you know what to look for, the fix is usually more mechanical than philosophical.
Fixing the Math Without Slowing Down the Business
The fix here was not a philosophical overhaul of how the company thought about incentive pay. It was a correction of the underlying logic doing the math, so that the plan the company had already designed actually calculated the way it was supposed to. That distinction matters. This was not a case where the incentive structure itself was flawed. It was a case where the engine translating job data into paychecks needed to properly separate one kind of work from another and stop counting time that should never have been counted.
The first change was straightforward in concept and meaningful in impact: separating duct-cleaning jobs from installation jobs at the classification level, so each job type ran through the commission logic actually built for it. Installation jobs kept their installation-specific commission structure. Duct-cleaning jobs got their own, appropriately scaled logic instead of inheriting math meant for a different kind of work entirely. That single change removed a whole category of silent misfires from the weekly payroll run.
The second change corrected how travel time factored into technician metrics, excluding the idle windshield time that had been inflating hours and, by extension, inflating the numbers bonuses were calculated against. Technicians still got paid fairly for their actual working time. What stopped happening was drive time quietly padding the metrics behind their incentive pay.
Both fixes ran through the same automated incentive tracking layer already pulling job data straight from the company's field service platform. Nobody in the office had to start manually flagging job types or manually subtracting travel time from technician timesheets every week. The correction lived in the system doing the calculating, which meant the fix, once made, kept working automatically on every job going forward, not just the ones someone happened to double-check.
Why This Kind of Fix Is Different From "Redesigning the Plan"
It is worth being precise about what changed here, because it is a different story than most incentive pay case studies tell. This was not a company that discovered its commission philosophy was wrong and needed a redesign. The underlying plan, paying technicians differently for installation work versus duct-cleaning work, made sense on paper from the start. The problem was execution: the system running the numbers was not applying that plan the way it was designed to be applied.
That distinction should matter to any HVAC owner reading this and wondering whether their own payroll has a similar gap. The question is not always "is our incentive structure the right one." Often the more useful question is "is our incentive structure actually being calculated the way we think it is." Those are different problems, and they call for different fixes. A flawed plan needs a redesign. A flawed calculation needs an audit and a correction, which is a faster, less disruptive fix, but only if someone actually goes looking for it.
Most HVAC companies never go looking, not because they do not care, but because finding this kind of error requires cross-referencing job-level data against payroll output at a level of detail that manual processes simply cannot sustain week over week. It is not a knowledge gap. It is a bandwidth gap. The fix has to live in the system itself, running the check every single pay period without anyone having to remember to ask for it.
The Trust Cost of Getting It Wrong, and the Trust Value of Getting It Right
There is a version of this story where the dollar figure is the whole point, and $30,000 a year is a real number worth an HVAC owner's attention on its own. But the number that mattered just as much inside this company was harder to put on a spreadsheet: technician confidence that their paycheck reflected their actual work.
Field technicians notice more than owners sometimes assume. They notice when a bonus feels smaller than a job should have earned. They notice when a coworker on a similar job seems to get paid differently. They do not always know the specific mechanism causing the discrepancy, a misclassified job type, an inflated travel-time number, but they feel the inconsistency, and inconsistency is corrosive to the entire premise of performance-based pay. If a technician cannot trust the number, no amount of commission percentage tweaking will make that number motivating.
Correcting the underlying calculation error did more than tighten up the company's payroll accuracy. It restored a level of trust in the system itself, the quiet, unglamorous kind of trust that lets a technician glance at their weekly numbers and believe, without having to double-check by hand, that the math is fair.
Profit sharing
made simple.
Give your team a stake in the company’s success. ShareWillow helps you create and manage profit-sharing programs that motivate employees and drive business results.
The Result: From a Real Gap to About $100 a Technician
Two months after the fixes went in, the company ran the comparison that matters most in a story like this one: how close were the payout totals now, technician by technician, compared to what the corrected math actually said they should be? The answer was a dramatic shift from where things had started. Most technicians' pay was landing within about $100 of the accurate figure, a tight enough margin that any remaining variance was well within the normal noise of a busy field service operation, not a sign of a broken system.
Go back to where this started: a combination of job misclassification and travel-time miscalculation on pace to put close to $30,000 a year of inaccurate payout into the system. Compare that to technician-level accuracy now landing within roughly a hundred dollars, and the scale of the correction becomes clear. This was not a marginal tune-up. It was the difference between a payroll process quietly bleeding real money and technician trust, and one that finally matched the plan the company had actually designed.

What Other HVAC and Duct-Cleaning Companies Should Take From This
If your HVAC business runs more than one kind of job through the same crews, installation alongside duct cleaning, service alongside maintenance plans, it is worth asking a direct question: does your payroll system actually know the difference? Not in the sense of whether someone in the office understands the difference intellectually, but in the sense of whether the software calculating bonuses and commissions is applying separate logic to each job type, automatically, every single week.
The same goes for travel time. It is an easy detail to overlook, and an easy one to get wrong in either direction. Technicians deserve fair pay for their actual working hours. They should not be shortchanged for time spent driving between jobs when a plan accounts for it properly, and the business should not be quietly overpaying because idle time is bleeding into performance metrics it was never meant to touch.
None of this requires an HVAC owner to become a payroll auditor. It requires a system built to do that auditing automatically, translating field service data into accurate, job-type-aware pay without anyone in the office having to manually reconcile hours and job categories every week. The company in this story did not need a new incentive philosophy. It needed the math behind its existing one to actually run the way it was designed. Once it did, a close to $30,000 annual risk turned into technician-level accuracy tight enough that nobody has to wonder anymore whether the number on their check is the right one.
For HVAC and duct-cleaning companies running multiple job types through the same technicians, that kind of accuracy is not a luxury. It is the foundation everything else about a performance-based pay program depends on.
Conclusion
Fixing job classification and travel-time logic took this HVAC team's payroll from a $30,000 risk to accurate within about $100 a technician.
Create incentives
that
drive results
You shouldn't need complex equity plans to align your team. ShareWillow makes it simple to create transparent profit-sharing programs that motivate employees and grow your business.

Incentive plans to help
small businesses thrive.
.png)
"I was able to leverage the knowledge of the ShareWillow team to learn how other companies were designing their bonus plans. The template was extremely helpful."

