Your Crew Or His, Priced On One Real Job
On the list of fires: “price one job both ways”
Module 12 · Sub Crews · Play 1 of 5
In a hurry? ↓ Do this this week
The problem in one breath
A sub crew bills you by the square. A man on your payroll costs you by the hour. Those two numbers don't compare, so the biggest standing decision in your company — who puts the roof on — gets argued on feel and on the last crew that burned you.
Why it happens
The sticker price is the only easy number. His bid is one line, a wage is one line, and everything else sits in overhead where nobody attaches it to a crew: payroll taxes, workers' comp, the hours you paid for that the job never got, the dump run — or, on his side, whatever his price doesn't cover and the callback you eat anyway. Overhead is a monthly number and the crew question is a per-job question, so the two never meet.
The play
Stop arguing it and price it. One real job, both ways.
- Pick a job you already ran. Closed out and paid — real squares, real hours. Not the nightmare job, not the dream job.
- Fill your own crew's side. Crew-hours, tear-off to cleanup, off the timesheets. Average wage. Payroll taxes and workers' comp as shares of wages — your bookkeeper's number off a real payroll run, and comp off the Share of Payroll tab (Module 11, Play 3) — your roofing code's share, not the blended shop one. Then the hours the job never got — rain, windshield time, the supply house — on their own line, so nothing is counted twice.
- Fill the sub side for the same scope. His price per square times the squares. Whatever his price leaves you holding — the dumpster, the permit. And your own hours, never zero: the checkpoints, his paper, chasing his invoice.
- Put the callback line on both sides, honestly. Whatever rework you can't get back from the crew that caused it belongs in the column (Module 12, Play 4).
- Compare cost per square. Nothing else. Not the hourly rate, not his invoice. Per square is the only number that puts the two columns on the same footing.
- Then look at what the money doesn't show. Who eats the callback. Who answers the phone after a hailstorm. Who you can direct. How fast you turn a crew on and off with the season.
Expect it closer than the argument in your head. In the example the two columns land about eight dollars a square apart — under four percent of the job, either way. Move the comp share seven points and it flips. It's a number that swings, not a philosophy — run it on two or three jobs before you believe it.
Keep the two questions separate. The sheet tells you what each model costs. It does not tell you which model you're allowed to use — that's set by federal and state rules and by how the work actually gets run, not by which column is cheaper. Before you move a crew from one column to the other, put it to your own accountant or attorney.
Do this this week
Open the-crew-model-sheet.xlsx, pull the file on one job you finished last month, and fill both columns with whoever helps you run the shop. Half an hour.
The tool
Opens in Excel, Google Sheets, Numbers or LibreOffice. Grab it on the phone now — it’ll be waiting on the computer at the shop.
the-crew-model-sheet.xlsx — the crew-model sheet. One page: the line, your own crew, a sub crew, and where each number comes from. The yellow cells are an example — a 28-square, two-layer tear-off at 14 Oak St — so you can watch it run before you type over it. You fill in squares, crew-hours, wage, your two percentages, the dead hours, the out-of-pocket, your own hours and what your hour is worth, the callbacks you expect to eat, and his price per square. Leave a percentage empty and it leaves the answer empty rather than guess. The sheet totals each column, divides by squares, and prints which model came in cheaper, by how many dollars, and by how much a square. In the example: $232.57 against $240.93. Its last lines say plainly that it decides cost, not classification. the sheet notes below has every formula and the judgment behind it.
If your crew is 1099
This play is the 1099 question, so here it is straight. The line the rest of this library keeps naming is the one that matters: you buy a finished result from a sub company, and you direct an employee. Scope, spec and deadline are what you're buying, not how his men work. Picking his men, setting their hours, running his training, handing out discipline — that's running a crew, and that line, not the arithmetic, is what decides which column you can be in at all. Where it actually sits is set by federal and state rules and by how the work really runs, so put yours to your own accountant or attorney before the season. Get the paper right before he rolls (Module 12, Play 2) and the certificates on file (Module 11, Play 5).
One more thing: this play is how we run a shop — it's not legal advice. Rules change by state and by contract, so before you act on the legal-sounding parts, run them past your own attorney or accountant. It's your business, and what you do with any of this is your call and your responsibility.
M12-01 · Your Crew Or His, Priced On One Real Job — Roofer MBA, https://roofermba.com/plays/subcontractors/your-crew-or-his
The sheet notesHow the sheet works — the columns and the formulas
The columns, the formulas behind them, and the judgment calls — so you can rebuild it by hand if you ever need to.
What it does
Prices one real job twice: once with your own crew on payroll, once with a sub crew doing the same scope. Column B is your own crew, column C is a sub crew, column D says where each number comes from. The sheet adds each column, divides both totals by the squares on the job, and tells you which model came in cheaper on this job, by how many dollars and by how much a square.
One worksheet, "Crew Model". The yellow cells are an example — a 28-square, two-layer tear-off at 14 Oak St — so you can see it run before you type your own numbers over it.
How to use it
- Pick one job you already ran and closed out. Real squares off the takeoff, real hours off the timesheets.
- Fill the yellow cells top to bottom. Where a line only exists on one side, the other side shows a dash — that's the point of the sheet, not a gap in it.
- Two percentages are yours and nobody else's: payroll taxes as a share of wages, and workers' comp as a share of wages. Get the first off a real payroll run and the second off your own policy — the Share of Payroll tab on Module 11 Play 3's sheet — your roofing code's own share, never the blended shop figure, which office payroll drags down. Type them as percentages — 11 and 30, not 0.11 and 0.30; the cells are already formatted as percents. Until both are filled the sheet leaves the answer blank rather than guess, and if either one lands above 100% it refuses to name a winner at all — that is the sheet telling you a decimal slipped.
- Put a real number on your own hours on the sub-crew side. It is never zero.
- Read the answer block at the bottom, then do it again on a different job. One job is one job.
The lines
| Row | What it is |
|---|---|
| 6 Job | Name or address, so you know which job this sheet priced. |
| 7 Squares on this job | Off the takeoff. Both totals get divided by this. |
| 8 What an hour of your own time is worth | Your hour, not a wage. What you'd sell an hour for. |
| 11 Crew-hours on this job | Own crew only. All hands, tear-off to cleanup, off the timesheets. The hours the job never got go on row 17, not here — do not count them twice. |
| 12 Average wage per hour | What you actually hand out per hour, averaged across the crew. |
| 13 Wages | Auto: crew-hours × wage. |
| 14 Payroll taxes, as a share of wages | Yours, off a real payroll run. |
| 15 Workers' comp, as a share of wages | Yours, off your policy — rate × mod. |
| 16 Taxes and comp | Auto: wages × the two shares. This line has no twin on the sub side. |
| 17 Paid hours this job never got | Rain, windshield time, standing at the supply house. |
| 18 Cost of those hours | Auto: those hours × wage × the same tax and comp load. |
| 19 His price per square | Sub side. What he charges you per square for the same scope. |
| 20 What he invoices you | Auto: squares × his price. |
| 21 What you still pay out of pocket | Own crew: dump, fuel, blades, tool wear. Sub crew: whatever his price doesn't cover. |
| 22 Your own hours on this job | Yours or the office's. Both sides. |
| 23 Cost of your hours | Auto: those hours × row 8. |
| 24 Callbacks and rework you expect to eat | Per job, on average, out of your pocket. Your own history sets it. |
| 26 TOTAL FOR THIS JOB | Auto: everything above, per column. |
| 27 Cost per square | Auto: the total ÷ squares. The only honest comparison. |
| 30 Cheaper on this job | Auto: YOUR OWN CREW, A SUB CREW, or DEAD EVEN. |
| 31 By | Auto: the gap in dollars. |
| 32 Per square | Auto: the gap per square. |
Rows 34–36 are the sheet's own last word: it does not decide whether a crew is legally yours to run as a sub.
Formulas (so you can rebuild it by hand)
- Wages (B13):
=IF(AND($B$11<>"",$B$12<>""),$B$11*$B$12,"") - Taxes and comp (B16):
=IF(AND($B$13<>"",$B$14<>"",$B$15<>""),$B$13*($B$14+$B$15),"") - Cost of the dead hours (B18):
=IF(AND($B$17<>"",$B$12<>"",$B$14<>"",$B$15<>""),$B$17*$B$12*(1+$B$14+$B$15),0) - Cost of your hours (B23):
=IF(AND($B$22<>"",$B$8<>""),$B$22*$B$8,0) - Cost of your hours, sub side (C23):
=IF(AND($C$22<>"",$B$8<>""),$C$22*$B$8,0) - What he invoices you (C20):
=IF(AND($B$7<>"",$C$19<>""),$B$7*$C$19,"") - Total, own crew (B26):
=IF(OR($B$13="",$B$16=""),"",$B$13+$B$16+$B$21+$B$18+$B$23+$B$24) - Total, sub crew (C26):
=IF($C$20="","",$C$20+$C$21+$C$23+$C$24) - Cost per square (B27 and C27):
=IF(AND($B$26<>"",$B$7>0),$B$26/$B$7,"")and=IF(AND($C$26<>"",$B$7>0),$C$26/$B$7,"") - Cheaper on this job (B30):
=IF(OR($B$26="",$C$26="",$B$7<=0,$B$14>1,$B$15>1),"",IF($B$26<$C$26,"YOUR OWN CREW",IF($C$26<$B$26,"A SUB CREW","DEAD EVEN"))) - By (B31):
=IF(OR($B$26="",$C$26="",$B$7<=0,$B$14>1,$B$15>1),"",ABS($B$26-$C$26)) - Per square (B32):
=IF(OR($B$27="",$C$27="",$B$14>1,$B$15>1),"",ABS($B$27-$C$27))
Only IF, AND, OR and ABS are used, so it opens and computes in old Excel, Numbers and LibreOffice.
Notes and judgment calls
Per square, not per hour. An hourly rate can't be compared to a price per square without guessing at the other side's production. Squares are the one unit both columns share, and it's the unit you already bid in.
Taxes and comp are split out on purpose. Most shops bury them in a loaded hourly rate, which makes them invisible. Here they sit on their own line with no twin on the sub side — that gap is most of what the argument is about, so the sheet refuses to hide it.
The two percentages are yours. Row 14 comes off a real payroll run and row 15 off your own Share of Payroll tab on Module 11 Play 3's sheet, which turns your class rates and your mod into exactly this share. Take the roofing code's own row, not the blended shop figure — office payroll drags that one down and under-prices every roof. Never a rule of thumb, never a number borrowed from another contractor. In the example they run 11% and 30%; yours will not match, and neither will the Share of Payroll tab's own example shop, which lands at 35% for its roofing code. They are different made-up shops. The only number that matters is the one that comes off your declarations page.
Your own hours are usually HIGHER on the sub side, not lower. Driving three checkpoints, running down his paper, chasing an invoice, walking the punch list — that time is real, it's priced at what row 8 says your hour is worth, and the example deliberately puts six hours on the sub side of row 22 against five for a crew you can direct by phone. Leaving it blank is how a sub crew wins on paper and loses in the driveway.
It prices ONE job. A steep cut-up, a storm month, a January reroof with two men available — each one moves the answer. Run it on two or three different jobs before you decide anything, and run it again when the season turns.
The example lands closer than the argument does. $6,511.95 against $6,746.00 — $234.05, or $8.36 a square, which is under four percent of the job either way. Seven points on the comp share flips it. That's the honest finding: the two models sit far nearer each other than the people arguing about them do, and a couple of your own numbers moving settles it. The sheet hands you arithmetic, not a verdict.
The example ties to the takeoff sheet. 28 squares at 1.75 hours a square to lay, plus 0.75 hours a square to strip each of two layers, is 91 crew-hours; and 28 squares × 2 layers × $16 a square a layer is the $896 of dump cost on the sub side. A $35 wage loaded by 41% is $49.35 an hour, inside a dollar of the $50 loaded rate that sheet prices labor at. Change any of those to your own numbers and everything downstream follows.
The answer block refuses nonsense. It stays blank on zero squares, and blank if either percentage lands above 100% — which is what happens if a decimal slips and 11% gets typed as 11. A blank verdict is the sheet telling you to look at the two yellow percentages again.
Cost is not classification. The sheet says what a model costs. It says nothing about whether a crew may be treated as a sub company rather than your employees — that's set by federal and state rules and by how the work actually gets run. Ask your own accountant or attorney before you move a crew from one column to the other.
The sheet ships with its numbers already saved in it, so a phone preview shows real figures; they recalculate the moment you type.
The one thing
Do this this week
Open the-crew-model-sheet.xlsx, pull the file on one job you finished last month, and fill both columns with whoever helps you run the shop. Half an hour.
Take it with you
One email unlocks this and every other sheet and card on the site. The plays stay free.
Same fire
You can't tell if sub crews or your own payroll makes you more money
- M12-01price one job both ways — you’re here
Fixed this?
Comp and payroll taxes are the biggest line that only exists on one side of that choice, so price them before you decide anything.
The fire right behind it is usually Your workers' comp bill keeps climbing.