Key takeaways:
- Cash flow, not margin, is what kills roofing companies — growth makes it worse
- Reserve a share of every job for warranty callbacks rather than counting it as profit
- Your warranty is only as good as whoever was actually on the roof
- Insurance work is a different business with its own documentation standards
- Being the company still answering in two years is what storm chasers cannot copy
Roofing has the largest average ticket in residential home services and one of the highest failure rates among the companies doing it. Those two facts are related. A trade where a single job can be a five-figure invoice is also a trade where a single job can tie up five figures of your money for two months, and where taking one more job than you can fund is the difference between a good year and an abrupt end.
You pay for the roof long before anyone pays you
Materials on delivery. Crew at the end of the week. Customer on completion, or later, or — on insurance work — after an adjuster, a supplement and a mortgage company have all had their turn.
That gap is the whole problem, and it widens as you grow. Three jobs running means three sets of materials and wages out the door before the first payment lands. This is why roofing companies with strong margins collapse: not because the jobs were unprofitable, but because the fourth job was started while the first three were still money owed.
The practical defences are unexciting. Take deposits and mean it. Invoice the day the job completes, not at the end of the month. Know your supplier terms precisely and use them deliberately. And decline work when the pipeline is already carrying more cash than you can float, which is the hardest discipline in the trade because turning down a five-figure job feels absurd.
Reserve for callbacks before you count the profit
Roofs do not fail on the day. They fail in the first serious storm after the job, which might be next month or two winters away. When one does, a crew goes back with materials and no invoice attached.
Companies that treat the full ticket as earned are exactly the ones that cannot afford to honour a warranty when it is claimed, and the way that plays out publicly is far more damaging than the cost of the repair. Holding back a share of every job as reserved rather than banked is dull, and it is what lets you answer a callback as a professional rather than an argument.
Crews, subs, and whose name is on the warranty
The in-house-versus-subcontractor question has no universal answer, and most established companies end up with both: a small core crew for work where quality is non-negotiable, scaled with trusted subs at peak season so you are not carrying payroll in February.
What does not work is treating subs as interchangeable capacity. The homeowner bought your warranty, and it is worth exactly as much as the workmanship of whoever was actually on the roof that day. Vet them, keep the good ones close, pay them properly and promptly so they answer when you call in the busy weeks, and inspect work you did not personally do.
Insurance work is a separate business
In storm markets, a large share of roofing revenue is insurance-funded, and it operates by rules that have nothing to do with retail quoting. Documentation standards, supplements, adjuster meetings, mortgage company endorsements on cheques, payment schedules measured in months.
Learn it properly or partner with someone who has. Treating a claim like a normal job with a slow invoice is how companies end up funding a roof indefinitely. One rule worth stating plainly: never offer to absorb a customer's deductible. It is illegal in many states, it is insurance fraud in substance, and it has ended businesses that thought of it as a discount.
The storm cycle, and the case for being local
After a hail or wind event, out-of-area crews arrive, take the straightforward work, and leave. They do not answer the phone in eighteen months. The callbacks, the disputes and the repairs land on whoever is still there — which, if you are the local company, is you.
That is an opportunity rather than a grievance. The one thing a transient operator structurally cannot offer is still existing later, and it is the thing homeowners most want after they have been burned once. Making that visible is most of the local roofer's marketing.
Reviews: proving you will still be here
A homeowner replacing a roof is making one of the largest discretionary purchases on their house, usually once or twice in their life, with no way to judge the work from the ground. They cannot inspect it. They cannot compare it. What they are actually trying to establish is whether you are a real, permanent business that will stand behind it.
That is why review recency matters so much in this trade specifically. A company whose newest review is fourteen months old reads as possibly gone — which is the exact fear a storm-chaser experience creates. A steady trickle across years reads as still here, still working, still answerable.
It also changes what is worth asking for. “Roof looks great” is weak, because every roof looks fine from the driveway on day one. The reviews that convert mention the things that worried the reader: the crew cleaned up and magnet-swept for nails, the price held from quote to invoice, the job finished when they said, someone came back when a tile slipped. Ask customers to say how it went rather than just leaving stars and those are the details that surface.
The practical timing problem is that roofing crews leave and the homeowner is often not there at completion. A message sent when the job is marked done, while the skip is gone and the drive is swept, lands at the right moment. Waiting for the invoice means asking someone whose most recent thought about you is a large bill.
What ends roofing companies
Growth funded by the next deposit. Counting warranty reserve as profit. Bidding against chasers on price for work they will not be around to honour. Insurance jobs run like retail ones. And working through a decade of storms without a body of recent, specific reviews — so that when the next event fills the market with strangers, nothing distinguishes the company that has been here all along.
SnappyRatings sends the request automatically when a job is marked complete, so it lands while the site is freshly cleared. Start a 21-day free trial →
