STRUCTURE & ENVELOPE CLUSTER · CFOS TRADE OPERATING SYSTEM

WHY ROOFING CONTRACTORS LOSE MARGIN WITHOUT KNOWING IT.

QUICK ANSWER

Roofing margin is lost to three specific things: the carrier's calendar, material-first, paid-last, and the thin cushion. All three are measurable, and all three are invisible without job costing that reads against the estimate.

Roofing contractors at $1M to $5M net 6.5 percent on the SPM 48-trade dataset, rising to 9 percent by $25M to $50M; the CFOS target at $1M to $5M is 10.5 percent. The distance between the trade average and the CFOS target comes out of operations in this trade, never out of pricing. It lives in the three mechanisms below, each of which moves margin without appearing as a failure on any single job. Storm work pays on the insurance company's schedule, not the roofer's. ACV first, depreciation held to completion, supplements queued for weeks. The roofer finances the gap on every claim.

BY JOSH LUEBKERPublished 2026-08-06Updated 2026-08-06
THE THREE BIG LEAKS

THE MATH BEHIND THE MISSING CASH.

LEAK 01

The Carrier's Calendar

Storm work pays on the insurance company's schedule, not the roofer's. ACV first, depreciation held to completion, supplements queued for weeks. The roofer finances the gap on every claim.

LEAK 02

Material-First, Paid-Last

Suppliers collect at delivery, crews collect Friday, commercial receivables land at net-60 to net-90 with retainage. The cash conversion cycle runs backward from day one.

LEAK 03

The Thin Cushion

At 6.5 percent net for a $1M to $5M roofer, a single stalled claim or unmeasured indirect labor line erases the quarter. Margin this thin has no room for untracked cost. (cfos-job-profitability-system) ---

HOW CFOS FIXES IT

WHAT CHANGES IN THE FIRST 60 DAYS.

The insurance money trap (ACV now, depreciation later)
Material-first economics
Thin-cushion margins
The collection problem in plain words
Seasonality with 12-month overhead
ROOFING BENCHMARKS
Metric$1M to $5M$5M to $10M$10M to $25M
Gross margin, industry average22%23%24%
Gross margin, CFOS target24.5%25.5%26.5%
Net profit, industry average7%9%11%
Net profit, CFOS target10.5%12.5%14.5%
Overhead, industry average15%14%13%
Overhead, CFOS target14%13%12%

Industry figures are Roofing contractors' AVERAGE for each revenue band, not a floor. The CFOS net profit target is set at 10 percent before taxes or 3.5 points better than your trade's average at your revenue, whichever is higher, and the gross margin target is set at whatever gross margin produces that net profit once your overhead is paid, and never below your trade's own average. Gross minus overhead equals net on every column, so the rows tie out. The gross margin and overhead figures for this trade are derived from the nearest comparable trade in the same dataset, and were not measured directly.

HOW THE NET PROFIT FIGURES ARE BUILT

Gross margin and overhead come from CFMA, Jones Maresca and SPM's own trade data, because those are the figures those sources report by trade and size. Net profit is calculated from them as gross margin minus overhead, so the three rows tie. That makes it an operating profit figure: what is left before interest, other income and expense, and the tax planning choices owners make, such as bonuses, depreciation methods and retirement contributions.

Surveys report net income before taxes after those items, so a reported net can run below the figure here. At the typical contractor the difference is small: CFMA's 2025 medians are 7.1 percent before interest and taxes and 6.7 percent net income before taxes. It grows with size. Against the separate measured net profit dataset, the calculated net runs 0.8 points higher at $1M to $5M, 2.2 points at $5M to $10M and 3.5 points at $10M to $25M, because the gross margin and overhead rows change faster with size than reported net profit does. The bands above the $10M to $25M band are published at runoncfos.com as a modeled extension of the same curves. They have not been reconciled against the licensed CFMA Benchmarker, and the calculated net there runs well above survey medians, so read them as a model and not as a survey result.

Last 12 months revenueMonthly feeOne-time onboarding
Up to $1M$1,900 to $2,900$1,000
$1M to $3.5M$2,600 to $3,900$1,500
$3.5M to $6.5M$3,800 to $5,700$3,000
$6.5M to $9.5M$5,100 to $7,100$4,500
$9.5M to $12.5M$6,100 to $8,500$6,000
$12.5M to $15.5M$7,400 to $11,000$7,500
$15.5M to $18.5M$9,400 to $13,500$9,000
$18.5M+Quoted individuallyQuoted individually

The onboarding fee covers migrating your books back to the start of your last taxable year and getting you fully operational in 60 days. It's billed once, with your first invoice. It's the same for all three tiers. Your first month is prorated, and your monthly engagement starts on the first of the first full month.

Range reflects the three tiers below. Which one you're in depends on how much of the work you want off your desk. No payroll. No hidden line items. The onboarding fee is right here in the table.

Core

You stop guessing.

You get the CFO work. Job costing built against the way you estimate, a 13 week cash forecast, monthly WIP, and a meeting every month that ends in decisions and never in a report.

Your bookkeeper still does the books.

Executive

You stop touching the books.

Everything in Core, and we run the bookkeeping and the controllership as well. Your office stops answering coding questions and stops chasing a reconciliation on the last day of the month.

We do the books. No payroll.

Strategic

Every job shows its margin while it's still running.

Everything in Executive, plus the job costing and WIP platform set up, loaded with your cost codes, and managed for you every month. You never have to learn it.

We do the books, the job costing, and the software. No payroll.

What's included
COMMON QUESTIONS

FREQUENTLY ASKED.

Roofing contractors at $1M to $5M net about 6.5 percent before taxes on the SPM 48-trade benchmark dataset, rising to 9 percent by $25M to $50M. CFMA's 2024 Construction Financial Benchmarker puts construction as a whole at 6.3 percent net income before taxes across all respondents, with the best-in-class top quartile at 11.9 percent, so a roofer at 6.5 percent is sitting in the middle of the market rather than ahead of it. SPM holds a 10 percent net profit floor before taxes whatever the trade, because below 10 the business stops paying for the payroll and the personal guarantees the owner signed. /construction-net-profit-margin-benchmarks has the roofing figure at your revenue band.
Because storm work pays on the carrier's calendar. You front labor and materials, collect ACV first, and wait on depreciation and supplements while payroll clears every Friday. More storm jobs means more cash out before any of it returns. Growth widens the gap; it doesn't close it.
The first claim check pays actual cash value only. The recoverable depreciation is withheld until the job is complete and documented, and supplements can sit for weeks in an adjuster's queue. Every open claim is a receivable on someone else's schedule, so claims tracking belongs on the cash forecast, not in a file drawer.
It varies by revenue band, which is why the benchmark is tracked by band rather than as one number. Supervision, safety, warranty crews, and drive time sit between direct labor and overhead; unmeasured, they leak margin through the middle of the income statement. The SPM indirect labor benchmark page publishes the band-level reference.
Plan on net-60 to net-90 from the GC, with retainage held on top. Industry-wide, subcontractors average 56 days from pay application to payment. Bids that assume 30-day money on 90-day terms fund the difference out of the roofer's own account.
Enough to fund full overhead through the quiet months, and at least one month of payroll as a floor. Demand stops seasonally; trucks, insurance, and salaries don't. The strongest companies stockpile cash in the busy months on purpose, not by accident.
Sulphur Prairie Management, operating as The Construction CFO, publishes the 48-trade benchmark dataset these numbers come from. SPM's client work concentrates in 24 commercial subcontractor trades; roofing benchmarks are published as part of the full 48-trade reference so roofing owners can measure against real numbers. ---
CFOS serves commercial roofing subcontractors doing $1M to $12M. Pricing starts at $1,900 per month for companies under $1M and runs to $13,500 per month at the top published band. Onboarding takes 60 days.
Three tiers, and which one you are in depends on how much of the work you want off your desk. Core is where you stop guessing: job costing built against the way you estimate, a 13 week cash forecast, monthly WIP, and a monthly meeting that ends in decisions, while your bookkeeper keeps doing the books. Executive is where you stop touching the books, because we run the bookkeeping and the controllership as well. Strategic is where every job shows its margin while it is still running, because the job costing and WIP platform is set up and managed for you. No payroll. No scope gaps.
Sixty days. We migrate your books back to the start of your last taxable year, set up ControlQore, and build your job costing structure from scratch. Fully operational in two months.
$10.7M+
Client AR Recovered Since 2023
48
Active Trade Specializations
60 DAYS
Average Onboarding Time
WHAT THIS TIES INTO
Josh Luebker, The Construction CFO
Josh Luebker
FRACTIONAL CFO · THE CONSTRUCTION CFO

Former commercial project manager and master electrician: 150+ projects worth $2.1B combined, from $50,000 to $300M. Now fractional CFO to commercial subcontractors.

DO YOU KNOW YOUR TRUE MARGIN ON ROOFING WORK?

Twenty minutes of questions about how you price roofing work, what your labor and materials really cost you, and what your last closed job came in at. Nothing gets sold and nothing gets proposed. If Josh can help, you'll set a longer call.

You don't hire a CFO because it's safe, you do it because the real risk isn't having one.
Book a 20 minute call

20 minutes. Nothing gets sold on this call and nothing gets proposed. Josh asks questions to work out whether he can help at all.

OR START WITH THE WORKBOOKS. NO CALL NEEDED.