ServiceTitan + Payroll

Where ServiceTitan Technician Commissions Quietly Overpay

Pay-by-performance is the reason your best techs stay and the reason your labor cost is unpredictable. In ServiceTitan, when two pay rules apply to the same invoice, both can pay. Spiffs get split among the techs who performed the work rather than the one who sold it. And a tech with no hourly rate on file shows up in job costing at $0.00. Every one of those errors leaves the building on a payroll check.

Start Here

Technician pay is an accounting problem wearing a payroll costume

Most owners treat commissions as a payroll task: run the report, export the numbers, cut the checks. That framing is why commission errors survive for years. A technician commission is simultaneously three things. It is wages, so it carries payroll taxes and workers compensation and it belongs in the payroll register. It is direct job cost, so it has to land on the job that generated it or your margin on that job is a fiction. And it is an accrual, because a commission earned on a job completed March 28 and paid on April 10 belongs to March.

Get any one of those three wrong and something downstream breaks. Get the first one wrong and you have a tax exposure. Get the second wrong and you are pricing off job margins that never included the cost of selling the job. Get the third wrong and every monthly P&L you have looked at this year has commission expense in the wrong period, which means your best month was probably not your best month.

ServiceTitan is genuinely good at calculating performance pay. It is a configurable engine, and configurable engines do exactly what you configured, including the parts you did not mean. This page walks the four places we consistently find money leaking, and the controls that catch it before the check clears. If commission expense is only one of several numbers that look wrong to you, the broader diagnosis is on why ServiceTitan revenue does not match QuickBooks.

The Traps

Four ways ServiceTitan pay quietly costs you money

None of these announce themselves. They show up as a commission expense line that grows a little faster than revenue, and nobody can say exactly why.

01

Overlapping pay rules pay twice

When two configured pay rules both match the same invoice, both can pay. The technician is not cheating and the software is not broken. It is doing what you told it. But a job that was supposed to pay one commission pays two, and because the payroll report footing looks reasonable in total, nobody catches it until the ratio of commission to revenue drifts far enough to notice.

02

The spiff pays the performer, not the seller

Spiffs are commonly split among the technicians who performed the work rather than paid to the one who actually sold the job. The comfort advisor who closed the system replacement gets nothing, the two install techs split the spiff, and your sales incentive stops incentivizing sales. Revenue credit follows the performer for the same reason, so business unit revenue is misallocated along with the pay.

03

Labor cost reports $0.00

ServiceTitan pulls labor cost into job costing from the technician's hourly rate. Performance-pay techs frequently have no hourly rate on their profile, so their labor cost reads $0.00 and every job they touch looks spectacularly profitable. This is the most flattering error in the entire system, which is exactly why it goes unquestioned for years.

04

The commission never reaches job cost

Commission and spiff dollars are a cost of the job that generated them. If they post to a single company-level commission expense account and never make it into job cost, then every job margin you look at excludes the cost of selling that job. You are making pricing decisions on a gross margin that is structurally overstated by the exact amount you pay your best people.

Trusted by 25+ Contracting Businesses
Trap One, In Detail

How overlapping pay rules double pay a single invoice

This is worth working through with numbers, because it is the one that costs the most and hides the best.

Say you have a service tech on two performance rules. Rule A pays 8% of the invoice total on anything in the HVAC Service business unit. Rule B pays 10% on anything with a job type of Maintenance, because you want to push maintenance conversions. Both are reasonable. Both were set up by different people, six months apart, for different reasons.

Now a $4,000 maintenance job comes in on the HVAC Service business unit. It matches Rule A. It also matches Rule B. Both pay. The tech earns $320 plus $400, so $720, on a job you intended to pay $400 on. That is a $320 overpayment, and with employer payroll taxes on top the real cost to you is closer to $345.

One job, once, is a rounding error. The problem is that the rules do not overlap once. They overlap on every job that meets both conditions, forever, silently, for as long as the configuration stands. Ten technicians with four qualifying jobs each in a month is forty jobs, and at $320 a job that is $12,800 a month walking out the door before payroll taxes. Nobody ever sees a line item that says "overpayment". They see a commission expense number that is a bit higher than expected, and they assume the techs had a good month.

Why the payroll report will not save you

The instinct is to check the payroll report. It will not help, because the report shows what the rules paid, and the rules paid exactly what they were configured to pay. The report is internally consistent. The only way to see this is to test it from the other direction: take a single invoice and ask how many pay rules touched it. If the answer is more than one, and you did not intend that, you have found it. That test belongs in your pre-payroll review, and it is the single control that pays for itself fastest.

Sold vs Performed

The sold-versus-performed problem, scenario by scenario

ServiceTitan tends to attribute both pay and revenue credit to the technicians who performed the work. In a shop where selling and performing are done by different people, that assumption quietly rewires your incentives and your business unit P&Ls.

ScenarioWhat tends to happen by defaultWhat it actually costs you
Comfort advisor sells a system, two install techs install itThe spiff is split among the install techs. The advisor who closed the deal may get nothing from that rule.Your sales incentive stops driving sales, and your best closer starts asking why.
Service tech sells a membership, a maintenance tech performs the visitRevenue credit and pay can follow the performer rather than the seller.Membership sales performance by technician is unmeasurable, so you cannot coach it.
A job is sold in one business unit and performed in anotherRevenue lands on the performing unit, or in the case of dismissed membership events, on the selling unit.Business unit P&Ls misreport margin, and any manager bonus tied to them is wrong.
A tech has no hourly rate on the profileLabor cost on every job that tech touches reports as $0.00.Job margin is overstated by the entire labor cost. You price off the wrong number.
Two pay rules match the same invoiceBoth rules pay. Neither is flagged as an exception.You pay twice on every job that meets both conditions, indefinitely.
Commission posts to a company-level expense account onlyJob cost never sees it. The job looks more profitable than it was.Every gross margin report is overstated by your total commission spend.
The Correct Path

Where a commission dollar is supposed to land

A single commission dollar has to show up in three places, and it has to show up in all three or the books are wrong somewhere. This is the part no help article is going to walk you through, because it is not a software question. It is an accounting question about your business.

One: payroll, as wages

Commissions, spiffs, and bonuses paid to W-2 technicians are wages. They run through payroll, they are subject to employer FICA at 7.65%, they carry workers compensation and unemployment, and they are withheld on. Supplemental wage withholding rules apply to bonuses. The practical consequence for your cost model is that a $720 commission is not a $720 cost. Loaded with employer taxes and comp it is closer to $800, and if you are budgeting commission at face value you are understating your labor cost by roughly a tenth.

Two: job cost, as direct labor

The commission was earned on a specific job. It is a cost of that job. If it does not post to the job, then that job's gross margin excludes the single largest variable cost of winning it, and every pricing decision you make from that margin is wrong in the same direction. This is the same failure that shows up in ServiceTitan job costing when the labor burden is misconfigured, and it compounds with it.

Three: the accrual, in the right month

A commission earned on a job completed March 28 and paid on the April 10 check is a March expense. If it hits the P&L in April, your March margin is overstated and your April margin is understated, and you draw conclusions from the difference. The fix is a simple monthly commission accrual: at close, book the commissions earned but not yet paid, and reverse it when payroll runs. It is one entry, it takes ten minutes once the report exists, and it is the difference between a P&L you can steer by and a P&L that lags reality by two weeks. It is a standard part of a proper ServiceTitan month-end close.

The plumbing that carries all of this from ServiceTitan into the general ledger is the batch export, and if the payroll and job cost mappings in the ServiceTitan and QuickBooks integration are not set up deliberately, the dollars will land wherever the default sends them.

Trusted by 25+ Contracting Businesses
The Controls

Catch the overpayment before it leaves the building

Once a commission is paid, getting it back from a technician is a conversation nobody wants and most owners will not have. Every control worth building happens before the payroll file is submitted.

Run a pre-payroll commission preview every period, and have it reviewed by someone who did not configure the pay rules. Self-review is not review.
Flag any invoice that paid more than one pay rule. If two rules touched one job, someone signs off on it deliberately or it does not pay.
Run an exception report for technicians with no hourly rate on file. That single list explains most of your suspiciously profitable jobs.
Tie total spiff dollars back to units actually sold. Twelve IAQ spiffs paid against eight accessories sold is not a mystery, it is a split.
Track commission expense as a percentage of revenue, month over month. The percentage should be stable. A jump with no matching revenue jump means a rule is double paying.
Reconcile three totals every period: the ServiceTitan payroll export, the payroll register from your provider, and the wage expense posted in QuickBooks. All three should agree.
Re-audit every pay rule whenever you add a business unit, a job type, or a new plan. New dimensions are what create new overlaps.
Accrue earned but unpaid commissions at month end and reverse the accrual when payroll runs, so the expense sits in the month that earned it.
The Payroll Week

How a clean commission period actually runs

This is not a heavier process than the one you run now. It is the same work in an order that catches errors while they are still reversible.

1 Close the timesheets before you touch commissions

Hours have to be final first, because commission calculations and labor cost both depend on them, and because ServiceTitan job costing locks once the invoice is posted and exported. Adjusting a timesheet after the fact does not push the correction back into job cost. Get hours right first, or you are permanently baking a wrong number into the job.

2 Run the commission preview and read the exceptions, not the total

The total will look fine. It always looks fine. Read the exception lists instead: invoices touched by more than one pay rule, technicians with no hourly rate, spiffs paid on jobs with no matching sold item, and any technician whose pay moved more than a set percentage against their own trailing average.

3 Reconcile the spiffs to the things you actually sold

Count the accessories, memberships, and systems sold in the period, and compare that count to the spiffs paid. If the spiff count is higher than the unit count, the spiff is being split across performers rather than paid to a seller, and you are either overpaying or paying the wrong person. Both are worth knowing.

4 Confirm the commission lands on the job, not just in the account

After the export, spot check two or three jobs. Does the commission you just paid appear in the cost of that job, or only in a company-level commission expense account? If it is only in the account, your job margins are overstated by every commission dollar you spend, and you have been pricing accordingly.

5 Accrue what was earned but not yet paid

At month end, book the commissions earned on jobs completed in the month but paid on a check that falls in the next month, and reverse the entry when that payroll runs. Now the commission expense is in the month that generated the revenue, and your monthly margin trend means something.

Find out what your pay rules are actually paying

Send us a recent commission period and your pay rule configuration and we will run a free Audit. We will tell you which invoices paid on more than one rule, which technicians are costing $0.00 in job costing, and how much of your commission spend never reaches job cost. You keep the findings either way.

FinTruction works remotely with HVAC, plumbing, and electrical contractors across the United States running ServiceTitan. If you want an accountant who already knows what a spiff and a pay-by-performance rule are, that is our ServiceTitan accountant service, and the rest of the stack is mapped on the ServiceTitan hub.

Get a Free Technician Pay Audit
Answers

Frequently Asked Questions

Why did a technician get paid twice on the same job in ServiceTitan?

Because two pay rules both matched that invoice, and when two rules apply, both can pay. This is not a bug. The engine does exactly what it was configured to do. It typically happens when one rule is scoped to a business unit and another to a job type, and a job satisfies both conditions. The only reliable way to find it is to test from the invoice side: take a single job and ask how many pay rules touched it. If the answer is more than one and you did not intend that, you have found the leak.

Why does my labor cost show $0.00 on a job?

ServiceTitan pulls labor cost into job costing from the technician's hourly rate. If a technician has no hourly rate on their profile, which is common for performance-pay techs who are compensated on commission, their labor cost calculates as $0.00. Every job they touch then looks far more profitable than it was. It is the most flattering error in the system, so it goes unquestioned for a long time. Run an exception list of technicians with no hourly rate and you will usually explain most of your suspiciously good jobs.

Should the spiff go to the technician who sold the job or the one who performed it?

That is your compensation decision, but you need to know what the software does by default. Spiffs are commonly split among the technicians who performed the work rather than paid to the one who sold the job, and revenue credit tends to follow the performer as well. In a shop where a comfort advisor sells and install techs install, that means the person who closed the deal may receive nothing from the spiff. If your intent is to reward the sale, the configuration has to be built deliberately to do that.

Do technician commissions need to be included in job costing?

Yes. A commission is a direct cost of the job that generated it. If commissions post only to a company-level commission expense account and never reach job cost, then every job margin you look at excludes the cost of winning that job, and it is overstated by exactly your commission spend. Since most owners price and evaluate their trades off gross margin by job, that error propagates directly into pricing decisions.

Are technician commissions and spiffs taxable wages?

For W-2 technicians, yes. Commissions, spiffs, and bonuses are wages. They run through payroll, they are subject to employer FICA at 7.65% plus workers compensation and unemployment, and supplemental wage withholding rules apply to bonus payments. The practical point for your cost model is that a $720 commission is not a $720 cost. Loaded with employer taxes and comp it is closer to $800, so budgeting commission at face value understates your labor cost.

How do I stop commission overpayments before payroll goes out?

Build a pre-payroll review with exception reports rather than reading the total. Flag any invoice that paid on more than one pay rule, list technicians with no hourly rate, tie spiff counts back to units actually sold, and compare each technician's pay against their own trailing average. Have someone who did not configure the pay rules perform the review. Once a commission has been paid, recovering it from a technician is a conversation most owners will simply not have.

Why is my commission expense growing faster than revenue?

Commission as a percentage of revenue should be stable, because it is designed to be a percentage of revenue. When the ratio climbs without a corresponding change in your pay plan, the most common cause is overlapping pay rules paying twice on jobs that satisfy two conditions. The second most common cause is spiffs being split across multiple performers so more spiff dollars go out than units were sold. Tracking that ratio monthly is a cheap and effective early warning.

When should commission expense hit my P&L?

In the month the job was completed, not the month the check was cut. A commission earned on a job finished March 28 and paid on the April 10 payroll belongs to March. Otherwise March margin is overstated, April margin is understated, and you draw conclusions from a difference that is purely a timing artifact. Book a monthly commission accrual for what was earned but unpaid, and reverse it when payroll runs.

Can FinTruction audit my ServiceTitan pay rules?

Yes. We review the pay rule configuration for overlaps, test recent invoices to see how many rules touched each one, list technicians with no hourly rate, reconcile spiffs against units actually sold, and check whether commission dollars are reaching job cost and hitting the right month. We are not a payroll provider and we do not replace yours. We make sure the numbers flowing through it are right before the money leaves.

Proof

What Contracting Owners Say

Real results from contractors we have helped untangle their books and systems.

Rated 5.0 on Google

Trusted by 25+ construction businesses nationwide

Procore Listed on theProcore Network

They didn’t just record transactions and call it a day. They built a custom chart of accounts around how a remodeling company actually runs, did a full catch-up on years of bookkeeping inside QuickBooks Online, and now stay on top of my monthly bookkeeping and payroll. Every step, they broke it down in simple terms instead of burying me in accountant talk.

Oniel Campbell, Founder of Moonz Contracting
Oniel Campbell
Moonz Contracting Founder

FinTruction rebuilt the whole thing from the ground up, with real job costing, work in progress, and retainage. They didn’t just hand me reports and disappear; they walked me through my numbers until I understood them.

Carl Moore, Owner of Hearth & Haus
Carl Moore
Hearth & Haus Owner
Dalton Mayberry, Owner of ProperCoat Painting
Sahil and his team handle the bookkeeping and job costing for my painting business. They cleaned up my books and set up integrations that give me accurate, timely job costing with solid weekly data. Reliable, detailed, and genuinely invested in getting the numbers right.
Dalton Mayberry
ProperCoat Painting
Owner

FinTruction is the only bookkeeping team we’ve found that truly understands construction accounting and WIP reporting. They aligned our income and costs across 21 jobs and gave us full, monthly transparency. Fast, accurate, and an indispensable partner.

John Wesley Sebastian, President of B&B Concrete
John Wesley Sebastian
B&B Concrete President

When I came to FinTruction I had no financial structure. No job costing, no WIP tracking, books behind. They did a full cleanup and rebuilt job costing and WIP tracking in QuickBooks. Now I know what’s billed, what’s owed, and where every job stands.

Clay Pearson, Owner of C. Pearson Contracting Corp
Clay Pearson
C. Pearson Contracting Corp Owner
Client testimonial

Hear it straight from a contractor we work with

A couple of minutes from a contractor we support, sharing what working with FinTruction has been like and what changed once their numbers finally made sense.

  • An owner sharing their honest experience
  • From guessing to numbers they actually trust
  • Why they recommend us to other contractors
Read more reviews

Stop paying twice on the same job

Tell us how you pay your technicians today and we will show you exactly where the pay rules overlap and what it is costing you per quarter. No obligation.

Trusted by 25+ contracting companies Response within 24 hours Free Audit, no obligation
Start here

Get your ServiceTitan books audited, free

Tell us what is broken between ServiceTitan and your books. We will look at your actual data and show you exactly where the numbers diverge, at no cost.

Add your name so we know who we are talking to.
Add your company name.
Add a valid email so we can send your report.
Add a number we can reach you on.
Pick the option that fits your business.
Tell us what is going wrong so we know where to look.

We read every submission and reach out if your books are a good fit for the Audit.