CFO Services for Roofing Companies
A fractional CFO for a roofing company separates storm revenue from retail revenue, so a good year can be read as skill or as weather, and priced accordingly next season.
Built for roofing owners between $3M and $15M running insurance and storm work, retail replacement, or both, who keep their own bookkeeper and CPA.
Storm revenue and retail revenue are not the same dollar. They should not sit on the same line.
Insurance and storm work versus retail.
Storm work arrives in a wave, is priced by an adjuster, collects through an insurance process, and stops when the weather does. Retail work is sold one roof at a time, priced by you, and collects on your terms.
One is a market event. The other is a business. Reported together, a company cannot tell which one paid for last year, and it will plan next year on the wrong assumption.
Why the split governs everything else.
- Revenue recognition: an approved claim is not the same event as a signed retail contract.
- Crew cost: storm work runs on subs and volume, retail runs on your own crews and repeat.
- Cash: insurance proceeds land in stages, retail lands on a schedule you set.
- Marketing: storm spend is reactive, retail spend compounds. They are two budgets.
Read every section below on one side of that line at a time.
SUPPLEMENTS
Supplement revenue, and when to recognise it.
A supplement is work the adjuster did not include and you can prove is needed. It is real revenue with a real cost, and it arrives on a clock nobody controls.
It is not revenue when you file it.
A filed supplement is a claim, not income. Booked as revenue on filing, it makes the month look better than it was and turns into a write-off two quarters later.
It has a cost of its own.
The documentation, the photographs, the adjuster calls and the re-inspection are hours somebody worked. Unpriced, the supplement can cost more than it recovers.
The approval rate is a KPI.
Filed against approved, by adjuster and by carrier, with the average days to approval next to it. That is a number the business can act on.
Recognised on approval rather than on filing, the supplement stops distorting two months at once.
CREW COST
Crew and subcontractor cost control.
A roof is installed in a day by a crew that may not be on your payroll. Which means your largest cost is negotiated per job, in season, under time pressure, often by the person who wants the job to close.
In a storm year the sub rate moves weekly. Without a cost per square by crew, the company finds out how the season went when the season is over.
What crew cost control looks like
Cost per square by crew, reported weekly, not per job at the end of the month.
A rate card for subs that moves on a decision rather than on a phone call.
Re-work and warranty tracked against the crew that did the job.
Overspray, damage and callbacks given a line, because they are real and they are large.
MATERIAL
Material price volatility.
Shingles, underlayment and metal move with the market, and a bid written in March gets installed in July. Volatility is not an excuse; it is a variable, and variables get managed.
- Material quoted with a validity date, and the date on the proposal
- Price moves tracked per square so the bid can move with them
- Supplier commitments taken before the season, not during it
- Material variance reported by job, so the pattern reaches the next bid
A margin that erodes quietly across a season is a pricing problem, not a market problem.

THE FIRST 90 DAYS
What we change in the first 90 days with a roofing company.
Boring but effective. Split storm from retail, get cost per square on the page, then put supplements and material where they can be seen.
Days 1 to 30: split storm from retail.
Month-end close by the 10th. Storm and retail as separate departments, with revenue recognised on approval rather than on filing.
Days 31 to 60: cost per square.
Crew and sub cost per square, reported weekly by crew. Re-work, warranty and damage given their own lines instead of disappearing into cost of goods.
Days 61 to 90: price the season.
Material variance by job, supplement approval rate by carrier, and a 13-week forecast that treats insurance proceeds as the staged cash they are.
Method first. The results come after it, on purpose.
PROOF
What changed when a $2M trades company could see profit by division.
The result below is a client of the practice. Reporting by division is the same split this page makes between storm and retail work. The two roofing operators after it are Profit and Grit guests, on what cost per square does to margin.
CLIENT RESULT
From $2M to about $8M, built for $20M.
A trades client came to me at $2M. Today he’s around $8M with the infrastructure in place to push toward $20M. CRM rebuilt to handle growth. Class reporting set up so we can see profitability by division.
Forecasting that runs out far enough to actually steer with.
Reported by Tyler Martin, California-licensed CPA.
FROM THE PODCAST
What roofing operators on Profit and Grit say about margin.
Jason Payne is blunt about how fast roofing margin disappears in the field: 40 squares at $10 a square, across 20 roofs, is $8,000 gone, and in his words that destroys your margins. He also puts a number on damage most companies never book, $45,000 in one year on overspray alone.
He is running that in an Arizona market he describes as tough, which is exactly the condition where a company finds out whether it was priced correctly or simply busy. Chris Lee built a solar and roofing company on the opposite principle: design the business first, then scale with discipline.
Both of them are describing the same thing from different ends. Cost per square, tracked while the season is running, is the difference between a good year and a lucky one.

The Home Services Cash Flow Scorecard.
15 questions. 5 minutes. A real answer about where your business stands.
You answer 15 plain-English questions about how your business actually runs. You get a score, a one-page read on what's working, and the two or three places your cash is leaking that you probably already suspect.
Get your score
We'll send results straight to your inbox.
The Home Services Cash Flow Scorecard.
Find out in five minutes whether your numbers are helping you run the business or hiding the problems that are costing you cash
How You Close Your Books
How You Track Cash
How You Price Work
How You Read Your Numbers
Analyzing financial indicators...
WHO THIS IS FOR
Built for roofing owners between $3M and $15M.
Below $3M the owner is usually on the roof and on the phone with the adjuster, and every square is in their head. Above $15M the storm response needs its own management layer. In between is where one good storm year can disguise a pricing problem for eighteen months.
Sound familiar?
- Storm and retail sit on the same revenue line, and you cannot say which one paid for last year.
- Supplements are booked when they are filed, not when they are approved.
- You know your average job size and not your cost per square by crew.
- Overspray, damage and callbacks disappear into cost of goods with no line of their own.
THE COST FRAME
A monthly retainer, sized against your storm exposure.
Not hours, not a deck. On the first call we size the band against revenue and against how much of the year is storm work, because supplement tracking and staged insurance cash take more handling than a retail replacement book. You leave the call knowing the number either way.
WHAT GOOD LOOKS LIKE IN ROOFING
The number that decides a roofing year is cost per square.
Roofing margin does not leave in one piece. It leaves ten dollars at a time, on a crew rate nobody re-checked. Jason Payne does the arithmetic out loud on his episode, and it is the clearest description of roofing margin leakage in the whole archive.
He puts a second number next to it that most companies never book at all: $45,000 in one year on overspray damage alone. Both of those are found by the same habit, which is auditing job costing every quarter rather than reading a P&L every month. In his words, that habit saves them six figures a year. The benchmark report carries the wider set.
CREW RATE DRIFT, PER 20 ROOFS
$8,000
“Why do you pay this crew $10 more a square? 40 squares, that’s 400 bucks, times 20 roofs. Like dude, that’s eight Gs. And that destroys your margins. But if you don’t look, you don’t know.”
Jason Payne on Drowning in Chaos at $2M? Here’s the Fix to Get to $10M. Same episode: $45,000 of overspray damage in one year, and six figures a year recovered from quarterly job-cost audits.
ROOFING CFO QUESTIONS
What roofing owners ask before the first call.
Short answers, in the terms a roofing company actually uses.
What does a fractional CFO do for a roofing company?
A fractional CFO for a roofing company separates storm and insurance revenue from retail revenue, recognises supplement income on approval rather than on filing, reports crew and subcontractor cost per square weekly, and builds a cash forecast that treats insurance proceeds as the staged payments they are. It is a part-time financial executive working alongside your existing bookkeeper and CPA.
How do I know whether a good roofing year was skill or weather?
Split storm revenue from retail revenue and look at them as two businesses. Storm work arrives on the weather, is priced by an adjuster and stops when the season does. Retail is sold one roof at a time at your price. If retail did not grow, the year was weather, and next year’s plan should say so.
When should a roofing supplement be recognised as revenue?
On approval, not on filing. A filed supplement is a claim, not income. Booked on filing, it flatters the month it was filed in and turns into a write-off two quarters later. Tracking filed against approved by carrier, with average days to approval, turns it into a number the business can act on.
Why is cost per square more useful than average job size?
Because average job size moves with the roof and cost per square moves with your decisions. Jason Payne described paying one crew ten dollars a square more than another: forty squares is four hundred dollars, across twenty roofs it is eight thousand, and it never appears as a line item anywhere.
How do you handle material price volatility on a roofing bid?
Quote material with a validity date and put that date on the proposal, take supplier commitments before the season rather than during it, and report material variance by job so the pattern reaches the next bid. Volatility is a variable to manage, not an excuse to absorb.
What size roofing company is this built for?
Between $3 million and $15 million in annual revenue, running insurance and storm work, retail replacement, or both.
GET STARTED
Want to know whether last year was skill or weather?
Two ways to start. Pick whichever fits.
No pressure either way. Let’s chat!
