A residential plumbing company built its technician bonus around billable hours, until it noticed the plan was quietly rewarding technicians for logging time, not for the revenue they actually brought in. Here is how switching to a revenue-based performance pay plan, with real helper splits, fixed who was getting credit for the work.
A lot of service businesses start their bonus plan with the metric that is easiest to pull, and for a lot of plumbing companies, that metric is billable hours. It is simple to explain, simple to track, and it feels fair on the surface: log more billable time, earn a bigger bonus. The trouble only shows up once you look closely at what billable hours actually measures, which is not quite the thing most owners think they are paying for.
That is what happened at a residential plumbing company running a small team of technicians and helpers out of a single office. The company had a commission plan tied to billable hours, and it had run for a while without obvious complaint. The problem was not the concept, technicians should be paid more for producing more. The problem was that billable hours and actual revenue produced are not the same number, and the gap between them was quietly rewarding the wrong behavior.
Two specific cracks in the plan surfaced once the company started digging. The first involved helper jobs. When a lead plumber brought a helper along on a call, the job's billable hours and revenue were supposed to be split between them according to their roles, but that split was not consistently entered. Depending on how a job got logged, a helper's time could inflate the billable-hours total attributed to the job without the revenue split reflecting who actually did the higher-value work, which meant the wrong technician sometimes ended up looking more productive than they were.
When the credit for a sale goes to nobody, or the wrong somebody
The second crack was even more direct. ServiceTitan attributes commission credit through a "sold by" field, populated when a technician formally creates an estimate for the customer to approve. When a technician skipped that step and jumped straight to doing the work, which happens constantly in the real, fast-moving pace of a service call, the "sold by" field stayed blank. A blank field meant no clean attribution, which meant a technician could do excellent, revenue-generating work and see none of it properly credited toward their commission, simply because the formal estimate step got skipped in the moment.

There was a third issue hiding underneath both of these, a straightforward reporting error that briefly showed one technician's bonus at six hundred fifty dollars when the correct figure, once traced back through the job data, was actually thirteen hundred dollars. That kind of discrepancy is exactly the sort of thing that erodes confidence fastest, because it is not a philosophical disagreement about how the plan should work. It is a number that is simply wrong, sitting on a check a technician has every right to question.
Put those three things together, inconsistent helper splits, blank sold-by fields, and a reporting error that understated a payout by half, and what you get is a plan that looked fine in the plan document and behaved unpredictably in practice. Technicians could not fully trust that the number on their check reflected what they had actually earned, because in a meaningful number of cases, it did not.
Moving the plan from hours to revenue, with real splits
Working with ShareWillow, the company made a structural change rather than a cosmetic one: it moved the commission basis from billable hours to attributed revenue, the dollar amount of work a technician actually closed and completed, pulled directly from ServiceTitan job data. That single shift solves the core problem, because revenue does not care how long a job took to log correctly. It reflects what the customer actually paid for the work performed.
Alongside the metric change, the company fixed the helper-split logic directly, moving to a clear, fixed split, sixty percent to the lead technician and forty percent to the helper at first, later adjusted to a seventy-thirty split as the team refined what felt right for the actual division of labor and responsibility on a two-person call. Fixing the split at a known, consistent rate rather than leaving it to inconsistent per-job entry meant a helper job stopped being a source of commission confusion and became just another job type the system handled the same way every time.
The plan was not paying technicians for revenue. It was paying them for how completely a job happened to get logged. Once the commission moved to attributed revenue, with a fixed helper split, a technician's bonus finally matched what they had actually sold and completed.
The blank sold-by problem took a bit more discipline to solve, because the fix is partly a data pipeline change and partly a workflow habit. On the technical side, the commission engine now handles attribution more robustly, so a technician's completed, invoiced work can still be tied back to them even when the formal estimate step gets skipped in the field. On the workflow side, making the stakes visible, showing technicians exactly how a missed estimate step affects their own commission, gave the team a direct, personal reason to tighten up that habit rather than treating it as an office-only concern.
The reporting error that had briefly shown thirteen hundred dollars as six hundred fifty was corrected as part of the same rebuild, and more importantly, the underlying calculation that produced it was fixed rather than just patched for that one pay period. A one-time correction fixes a single check. A corrected formula prevents the same mistake from quietly recurring every pay period after.
None of this required the company to rethink what it wanted to reward. It still wanted to pay technicians more for producing more. What changed was making sure the number behind that reward actually measured production, not a proxy for production that happened to correlate with it most of the time and quietly diverge from it the rest.

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.
What the corrected plan looks like in a real month
The clearest sign the fix worked shows up in a real month of attributed revenue under the new structure. One technician's monthly attributed revenue came in at $34,748, just clearing the company's $34,000 bonus threshold, on 207 billable hours for the month, work that landed him in the plan's top five percent tier. That number is worth sitting with for a second, because under the old billable-hours model, a technician near a threshold like that could tip either direction based on how consistently their hours happened to get logged that particular month, independent of how much revenue they had actually produced. Under the revenue-based model, the number that decides whether he clears the threshold is the same number the customer's invoice reflects.
That precision matters more than it sounds like it should, especially right around a threshold. A technician sitting fifty dollars below a bonus tier under a shaky metric has every reason to wonder whether the shortfall is real or just an artifact of how a job happened to get logged that week. A technician sitting just above the same threshold under attributed revenue knows the number is real, because it is tied to completed, invoiced work rather than a proxy that could have gone either way depending on data entry.
The helper-split fix produces a quieter but equally important kind of fairness. A helper technician earning forty percent, later thirty percent, of a shared job's credit under a fixed, known rate can predict their own pay before the check arrives. That predictability did not exist under the old inconsistent entry process, where a helper's actual credit depended on how carefully that particular job got logged rather than on a rule the technician could count on every time.
It is worth being honest about the scale of the change here. This was not a company scaling from zero incentive pay to a fully mature plan overnight. It was a company that already believed in paying for performance, discovering that its own metric was quietly measuring the wrong thing, and correcting the plumbing underneath the plan rather than throwing the plan out. That kind of fix rarely produces a dramatic headline number. It produces something more durable: a bonus check technicians can reconstruct themselves, and trust, every single pay period.
What this means for your shop
If your commission plan is built around billable hours, time logged, or any metric that is a proxy for revenue rather than revenue itself, it is worth asking whether that proxy ever quietly diverges from what you actually want to reward. A few lessons from this fix apply broadly.
- Pay for revenue, not for a stand-in for revenue. Billable hours, jobs completed, or calls run can all correlate with revenue most of the time and diverge from it exactly often enough to cause real problems.
- Fix helper and split jobs with a known rule, not case-by-case entry. A consistent, fixed split removes an entire category of pay disputes and makes every technician's take-home predictable.
- Do not let a skipped workflow step erase legitimate credit. If your attribution depends on a step technicians sometimes skip in the field, build the commission logic to survive that reality instead of punishing the technician for it.
- Chase reporting errors down to the formula, not just the check. A one-time correction feels good in the moment. Fixing the calculation that produced the error is what stops it from happening again next period.
- Watch behavior right around your thresholds. A technician landing just above or below a bonus tier is exactly where a shaky metric does the most damage, and exactly where a clean one earns the most trust.
A bonus plan is only as fair as the metric underneath it, and for a lot of plumbing companies running on billable hours, that metric is quietly measuring something other than what the owner actually wants to reward. ShareWillow builds commission plans directly from attributed job revenue, with helper splits and attribution logic that hold up even when a workflow step gets skipped in the field, the same rigor behind how a ten-person electrical shop turned one clear number into real technician pay. See what a revenue-based plan would look like for your team, based on what we have learned from over 200 service businesses.
Conclusion
A plan that pays for hours logged will always be one step removed from a plan that pays for revenue earned, and the technicians on the crew feel that gap long before the owner does.
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."

