🗓️ Operations

Hourly, Piece Rate, or Bonus: Paying a Crew Without Killing Margin

Published November 6, 2026

Six extra man-hours on a $4,800 install costs you about four points of gross margin. Your crew doesn’t feel that. They feel six more hours of pay. That’s the whole problem with straight hourly: the person controlling the clock is the person who benefits from it running long.

Piece rate flips the incentive and brings its own problems. A margin bonus splits the difference, but only if you set the number with math instead of a gut feeling.

Here’s the same job run through all three.

The job we’re testing

A $4,800 install. Two-man crew, lead plus helper.

LineAmount
Price to customer$4,800
Materials$1,400
Permit and dump fees$150
Direct costs before labor$1,550

Pay rates and burden:

BaseBurden (28%)Loaded
Lead$30.00/hr$8.40$38.40/hr
Helper$20.00/hr$5.60$25.60/hr
Blended crew rate$32.00/man-hour

That 28% is payroll taxes plus workers’ comp plus whatever benefits you carry. Yours will be different — comp rates for a roofer and a low-voltage guy aren’t in the same universe. Use your actual numbers, not mine. If you’ve never built this number, the real cost of a first employee breakdown walks through it.

The number that governs everything below: at a 45% gross margin target, this job can absorb $1,090 of loaded labor.

Here’s that math, and it’s the only formula you need to memorize:

Allowed loaded labor = (Price × (1 − target margin)) − other direct costs

($4,800 × 0.55) − $1,550 = $2,640 − $1,550 = $1,090

At $32 blended, $1,090 buys you 34 man-hours. Go past 34 and you’re under 45%. Simple as that.

Structure 1: Straight hourly

You budgeted 32 man-hours. The crew took 38.

Man-hours38
Gross wages (lead 19 hrs, helper 19 hrs)$950
Loaded labor (38 × $32)$1,216
Gross margin$2,034
Gross margin %42.4%

Nobody did anything wrong. There was no sandbagging. The crew just worked at the pace that straight hourly pays for, which is the pace of a person who gets paid the same whether it takes 32 hours or 38.

The drift is the problem. Six hours is a reasonable-sounding overage and it moved you four points. Run that across 40 jobs a year and you’ve given away roughly $38,000 of margin without a single conversation about it.

Hourly is still the right answer in three situations: diagnostic and troubleshooting work where speed is actively dangerous, jobs with unknown conditions behind the drywall, and the first 90 days with a new hire when you have no idea what their pace is yet.

Structure 2: Piece rate

You pay a flat $800 for the install: $480 lead, $320 helper. Loaded cost to you, $1,024. Locked.

The crew finishes in 27 man-hours.

Man-hours27
Gross wages (flat)$800
Loaded labor$1,024
Gross margin$2,226
Gross margin %46.4%

Look at what happened to the lead. He earned $480 in 13.5 hours. That’s $35.56/hour against a $30 base — an 18% raise he gave himself. And your margin went up four points versus hourly, not down.

That’s the piece-rate trade: you pay more per hour and less per job. You also move the overrun risk onto yourself, not the crew. If the job turns into a nightmare, the crew is working for $18/hour and they will remember it. Build in a hardship clause — unforeseen conditions documented with photos convert the job back to hourly — or you’ll train your best people to hate your worst jobs.

Piece rate works where the work is repeatable and scoped: changeouts, panel swaps, water heaters, standard service calls, lawn routes. It falls apart on custom remodels.

What piece rate does to quality

Paying for speed buys speed. It also buys shortcuts, and shortcuts come back as callbacks — on your dime, two weeks later, with a crew that’s already been paid.

Gate it. The piece rate is earned on completion; 25% of it is held and paid out at 30 days if there’s no callback. And a callback on a piece-rate job gets fixed on the clock by the crew that caused it, not by you on a Saturday. If you don’t already track this, keeping callbacks under 2% of revenue is the baseline you measure against before and after you change pay structures.

Piece rate does not exempt you from hourly wage law. For W-2 employees under federal rules:

  • You still have to track actual hours worked.
  • Total piece earnings divided by hours worked has to clear minimum wage for every workweek.
  • Overtime still applies above 40 hours, calculated off a regular rate derived from total weekly piece earnings.
  • Some states — California most aggressively — require separate hourly pay for rest breaks and nonproductive time on top of the piece rate.

Confirm the specifics with your payroll provider and your state labor department before you run the first check. And no, you can’t paper over this by calling the guy a 1099 sub and paying him per job. Direction, schedule control, and your tools make him an employee no matter what the invoice says.

Structure 3: Hourly base plus a margin bonus

Keep everyone on hourly. Add a per-job bonus funded by the headroom between what the job actually costs in labor and what the job is allowed to cost at target margin.

The formula

  1. Allowed loaded labor = (Price × (1 − target margin)) − other direct costs
  2. Actual loaded labor = actual man-hours × blended loaded rate
  3. Headroom = line 1 − line 2
  4. Gross bonus = headroom ÷ (1 + burden rate)
  5. Split it. 60/40 lead/helper is a reasonable default.

Step 4 is the one people forget. A bonus is wages. It carries payroll tax and comp. If you hand the crew the full headroom in gross dollars, you blow through your margin target by the burden amount.

Worked example

Crew finishes in 29 man-hours — slower than piece rate, faster than straight hourly, because the incentive is real but smaller.

StepCalculationAmount
Allowed loaded labor($4,800 × 0.55) − $1,550$1,090
Actual loaded labor29 × $32.00$928
Headroom$1,090 − $928$162
Gross bonus$162 ÷ 1.28$126.56 → $125
Lead’s share (60%)$75
Helper’s share (40%)$50

Check the result:

Gross wages (29 hrs)$725
Bonus$125
Total loaded labor$1,088
Gross margin$2,162
Gross margin %45.0%

The lead’s effective rate: ($435 + $75) ÷ 14.5 hours = $35.17/hour. Within forty cents of what piece rate paid him, with none of the “what if the job goes sideways” exposure. He’s still on the clock. If the job runs long, he loses the bonus, not his wage.

The quality gate

Same rule as piece rate, and it’s not optional: the bonus is calculated at completion and paid at 30 days, and a callback inside that window zeroes it. Rework hours get posted to the job, which eats the headroom anyway.

Side by side

Per job, same $4,800:

HourlyPiece rateBase + bonus
Man-hours382729
Crew gross pay$950$800$850
Loaded labor cost$1,216$1,024$1,088
Gross margin$2,034$2,226$2,162
Gross margin %42.4%46.4%45.0%
Lead’s effective rate$30.00$35.56$35.17
Overrun risk sits withYouCrewYou (capped)
Callback pressureLowHighMedium

The bigger win isn’t on this table. At 38 man-hours a job, a two-man crew working 80 man-hours a week finishes 2.1 jobs. At 29 hours, they finish 2.8. That’s roughly $3,300 more revenue a week through the same payroll — which is worth more than the four margin points.

Which one fits your shop

  • Under two employees, varied work: stay hourly. Add the bonus once you can measure actual hours per job reliably.
  • Repeatable installs or routes, two-plus crews: piece rate on the repeatable work, hourly on everything else. Most shops run both.
  • Mixed remodel work: base plus margin bonus. It’s the only one of the three that adapts automatically to job size, because the allowed-labor number is derived from the job’s own price.

None of this works without job costing. You cannot pay a bonus on headroom you can’t measure, and you cannot measure headroom without actual man-hours posted to actual jobs every week. If that habit isn’t in place, the 15-minute weekly job costing sheet is the prerequisite, not an optional upgrade.

One more legal note: nondiscretionary bonuses — meaning any bonus with a formula the employee knows about in advance, like this one — generally have to be folded into the regular rate for overtime purposes in the week they’re earned. Your payroll software can handle it. Make sure the setting is on.

Do this one thing

Pull your last ten completed jobs. For each one, write down the price, the non-labor direct costs, and the actual man-hours. Run the allowed-labor formula on each: (price × 0.55) − direct costs, divided by your blended loaded rate.

That gives you allowed man-hours per job. Compare it to actual. If you’re consistently coming in under, you have bonus money sitting on the table and a crew who doesn’t know it exists. If you’re consistently over, fix pricing before you touch pay structure — no bonus plan saves a job that was underpriced on day one.

Keep learning

More from Operations

Get one actionable tip every week

Join contractors getting practical advice on winning more jobs, running tighter operations, and picking the right tools — free, no fluff, unsubscribe anytime.

▶ Watch on YouTube