How to Control Overtime Costs on Jobs (Without Cutting Hours)
Overtime is not controlled by telling crews to work faster. It is controlled by seeing the hours while the week is still open. Every overtime hour costs at least 1.5× the loaded rate, so a crew that drifts five hours past the threshold costs you the equivalent of seven and a half regular hours. The fix is arithmetic, not discipline: know your true overtime rate, watch the running total mid-week instead of discovering it on payroll day, and schedule against real capacity. CRMb costs each job from the hours your crew actually punches, so overtime shows up on the job it belongs to, while you can still do something about it.
Most service businesses treat overtime as weather. It happens, you pay it, you move on. But overtime is one of the few costs that is both large and largely schedulable, and it is almost always concentrated in a handful of jobs and a handful of weeks. Find those and you have found the money.
What an overtime hour actually costs
The premium is more expensive than the "time and a half" label suggests, because the multiplier applies to the loaded rate, not the bare wage.
Take a technician at a $25.00 wage with 27% burden, a $31.75 loaded rate. Overtime pays 1.5× the wage in the paycheck, but your cost is the higher wage plus the burden that rides on it:
| Line | Calculation | Amount |
|---|---|---|
| Regular loaded hour | $25.00 × 1.27 | $31.75 |
| Overtime wage | $25.00 × 1.5 | $37.50 |
| Overtime loaded hour | $37.50 × 1.27 | $47.63 |
| Premium per overtime hour | $47.63 − $31.75 | $15.88 |
Every hour past the threshold costs you an extra $15.88 that buys no additional labor. Note that some burden components (workers' comp, payroll taxes) scale with the higher wage while others, like a fixed monthly health premium, do not, so treat the loaded overtime rate as a close approximation rather than an exact figure.
Now scale it. Two technicians running four overtime hours each, twice a month:
- 4 hours × 2 techs × 2 weeks = 16 overtime hours a month
- 16 × $15.88 premium = $254 a month, about $3,050 a year in pure premium
That is roughly a month of a small business's insurance, spent on nothing but the multiplier.
Know which threshold you are actually crossing
Overtime rules are not universal, and using the wrong threshold is a quiet way to under-accrue cost. In the United States, federal FLSA overtime starts after 40 hours in a workweek. Several states add a daily threshold — California, for example, pays overtime after 8 hours in a day and double time after 12 — and rules differ again across Canadian provinces, Mexico, the UK, and elsewhere. Always confirm the rule for the jurisdiction you operate in; this article is not legal or payroll advice.
The practical implication for costing is that a crew can generate overtime without working a 41-hour week. Four ten-hour days in a daily-overtime state produces eight overtime hours at 40 total. If your cost model only checks the weekly number, that premium lands on your P&L with no job attached to it.
Punch, the time-tracking app that pairs with CRMb, carries overtime presets covering daily and weekly thresholds and double-time rules across the countries and regions it supports, so the hours are classified against the rule that applies to your crew rather than a generic 40-hour assumption.
The four causes worth measuring
Overtime concentrates. Before changing anything, find out which of these is producing yours.
Understaffed weeks. The schedule committed more job-hours than the crew has available. This is the most common cause and the most fixable, because it is visible before the week starts.
Estimating error. The job was bid at 16 hours and takes 21. The overtime is the symptom; the bad estimate is the disease. See how to estimate labor hours for a job.
Travel and second trips. Drive time and a return visit for the wrong part push a normal day past the threshold without adding a minute of billable work. How to charge for drive time covers the billing side.
Unbilled scope creep. The customer added work, nobody wrote a change order, and the crew absorbed it in overtime. That is the worst kind: you pay 1.5× for hours you never invoice. How to handle change orders on a job is the fix.
Only the first is a scheduling problem. The other three are process problems that happen to show up on the timesheet.
Watch the week while it is still open
Overtime discovered on payroll day is overtime you already bought. The single highest-return change most businesses make is moving the look from after the fact to mid-week.
The mechanic is simple. Your crew punches in against the specific job. Those hours accumulate live, so by Wednesday you can see who is at 28 hours with two days left and who is at 14. That is when a reassignment is still cheap: move Thursday's install to the tech with room, and the premium never happens.
In CRMb, the hours your crew punches flow straight onto the job as labor cost, and Reports shows the margin on those real hours rather than on the estimate. The schedule and capacity views show what you have already committed the crew to next week, so an over-committed week is visible before it turns into overtime rather than after.
Schedule against capacity, not against hope
A week has a fixed number of crew-hours. Assigning more job-hours than that is a decision to buy overtime, whether or not anyone says so out loud.
Say you have four technicians at 40 hours, so 160 regular crew-hours available.
| Week | Scheduled job-hours | Result |
|---|---|---|
| Week 1 | 152 | 8 hours of slack for the unexpected |
| Week 2 | 168 | ~8 overtime hours, about $127 in premium |
| Week 3 | 190 | ~30 overtime hours, about $476 in premium |
Week 3 is not a busy week, it is a $476 decision made three weeks earlier at scheduling. The alternative is not turning work away: it is moving a non-urgent job into Week 1's slack, or, if the pattern repeats, recognizing that a persistent 20% overage is a hiring signal. Compare the annualized premium against a new hire's loaded cost and the answer usually decides itself. Capacity planning for field crews walks through the sizing.
Attribute the premium to the job that caused it
Overtime that lands in a general payroll bucket teaches you nothing. Overtime attributed to Job #4412 tells you that job's margin was overstated, and that the next one like it should be bid higher or scheduled differently.
This is the whole argument for job costing from punched hours: the premium follows the job. When the crew punches against the job, the hours, including the ones that crossed the threshold, sit on that job's labor line, and post-job profitability review turns them into a bidding adjustment instead of a mystery. Over a few months you learn which job types, which crews, and which routes reliably produce overtime, and you price them accordingly. That is the loop described in the job costing guide.
When overtime is the right call
Not all overtime is waste. Paying a $15.88 premium is correct when the alternative costs more:
- A liquidated-damages deadline or a penalty clause worth more than the premium.
- An emergency or after-hours call you bill at a premium rate that exceeds the labor premium. See how to price emergency and after-hours service calls.
- A short seasonal peak where hiring and training would cost more than the overtime it displaces.
- Finishing a job today rather than paying mobilization and travel to return tomorrow.
The distinction is whether you chose it. Overtime you decided to buy, with the number in front of you, is a business decision. Overtime you discovered afterward is a leak.
Frequently Asked Questions
How much does an overtime hour really cost?
More than 1.5× the wage, because the premium wage still carries payroll taxes and workers' compensation. A $25 wage with 27% burden costs $31.75 as a regular loaded hour and roughly $47.63 as an overtime loaded hour, a premium of about $15.88 per hour that buys no extra labor.
How do I reduce overtime without turning down work?
Schedule against your real capacity rather than your optimism, and check the running hours mid-week so you can reassign before the threshold is crossed. Most overtime comes from over-committed weeks and estimating errors, not from crews working slowly, so the fix is in the schedule and the bid rather than in pushing the crew harder.
Should overtime be charged to the job or to overhead?
Charge it to the job that caused it. Overtime buried in a general payroll line makes every job look more profitable than it was and removes the feedback that would improve your next bid. When crews punch against a specific job, the premium hours land on that job's labor cost automatically.
At how many hours does overtime start?
Under the US federal FLSA, after 40 hours in a workweek. Some states add a daily threshold — California pays overtime after 8 hours in a day and double time after 12 — and other countries and provinces set their own rules. Confirm the requirement for your jurisdiction, because a daily rule can create overtime in a week under 40 hours.
Is it cheaper to hire someone than to pay overtime?
It depends on whether the overtime is persistent or seasonal. Annualize the premium you are paying and compare it to a new hire's fully loaded cost, including burden and idle time in slow weeks. A short peak usually favors overtime; a pattern that repeats most weeks of the year usually favors hiring.
How do I track overtime by job?
Have the crew punch in and out against the specific job rather than filling in a weekly timesheet from memory. That ties each hour, including the ones past the threshold, to a job as it happens. CRMb reads those punched hours through its Punch pairing and applies them to the job's labor cost and margin.
Getting started with CRMb
Pull your last four weeks of hours and find the overtime. If it clusters on a few jobs, you have an estimating problem. If it clusters in a few weeks, you have a scheduling problem. Either one is cheaper to fix than to keep paying.
CRMb is CRM, scheduling, quoting, invoicing, and inventory for service businesses, with job costing built on the hours your crew actually punches, so overtime shows up on the job that caused it. It runs on Mac, iPad, and the web. Start your 14-day free trial — no credit card required.