Keep them as two different numbers, never one. What you charge a customer per hour and what you pay a flat-rate tech per book hour are two separate decisions that happen to touch the same job, and a lot of shop software quietly assumes they're the same field. They're not, and treating them like they are is how a shop either underbills a customer or shortchanges a tech without anyone noticing until payroll or the P&L looks wrong.
Two rates, one job
Your shop's labor rate is what shows up on the invoice, the number a customer sees and pays. A tech's pay rate is what that tech takes home per book hour, set individually because a senior tech and an apprentice shouldn't earn the same rate on the same job even though the customer pays one consistent price either way.
Why one field for both goes wrong
If your system only has one "labor rate" field, you're forced into a bad choice: either every tech gets paid your full shop rate (which usually isn't sustainable on the shop's margin), or you quietly discount what you bill customers to match what you pay techs (which leaves real money on the table). Neither is a decision most owners meant to make, it's just what happens when the software doesn't separate the two.
How it should actually calculate
A tech logs time against the book hours a job pays. That time gets multiplied by the tech's own pay rate to figure out what they're owed. Separately, the same book hours get multiplied by the shop's labor rate to figure out what's billed to the customer. Same hours, two independent calculations, two different people's numbers, neither one touching the other.
A shop owner shouldn't have to do this math by hand every payroll cycle to figure out if a job actually made money on labor. If the software can't tell you your billed rate and your tech's pay rate separately, it's not really tracking flat rate, it's just tracking hours.ShopSynq AI Team
Where ShopSynq AI fits
ShopSynq AI keeps these as two separate settings from the start: a shop-level labor rate in Settings that drives what customers get billed, and an individual pay rate on each technician's profile that drives what they're paid. The Time & Pay report and the labor profitability numbers on a job both use the correct rate for each side of the calculation automatically, billed hours at your shop rate, logged hours at each tech's own pay rate, so the real labor margin on a job is something you can actually see instead of estimate.
FAQ
What's the difference between my shop's labor rate and a tech's pay rate?
Your shop's labor rate is what you charge the customer per hour on the invoice. A tech's pay rate is what you pay that tech per book hour worked. They're almost never the same number, and mixing them into one field is how shops end up either underbilling customers or underpaying techs without meaning to.
How does flat-rate pay actually get calculated if the rates are different?
The tech logs time against the book hours the job pays, and that time is multiplied by the tech's own pay rate, not the shop's billing rate. The invoice separately multiplies the same book hours by the shop's labor rate. Two different numbers, same hours, calculated independently.
Can different techs have different pay rates on the same job?
Yes. Each technician has their own pay rate on their user profile, so a senior tech and a junior tech can both log time on the same repair order and each gets paid correctly according to their own rate, while the customer sees one consistent shop labor rate on the invoice.
Where do I see if a job was actually profitable on labor?
ShopSynq AI's reporting compares labor billed against labor cost, book hours times the shop rate versus logged hours times each tech's pay rate, so you can see the real labor margin on a job, not just the total invoice amount.