Roofing companies can be profitable on paper and broke in real life. Here's why cash flow problems happen — and the bookkeeping systems that prevent them.
Profitable on paper, broke in real life. It's the most frustrating position in roofing: the income statement says you're making money, but the bank account says otherwise. Construction cash flow is shaped by timing — and roofing has more timing complexity than almost any other trade. Understanding the specific mechanisms helps you fix the right problem instead of just watching your bank account and hoping.
Insurance restoration jobs create a structural cash flow gap: you order and pay for materials before the ACV check arrives. If your supplier terms are net-30 and the insurance adjuster takes 45 days to release payment, you're floating $15,000–$40,000 per job. With multiple active jobs, this gap compounds fast.
Many roofing contractors invoice once — when the job is done. On a $50,000 job that takes 3 weeks, this means 3 weeks of materials and labor paid out before a dollar comes in. Progress billing (invoicing 40–50% upfront, 40% at substantial completion, 10–20% at final) dramatically shortens the cash cycle.
Retainage held on completed jobs is cash the business has earned but not collected — and without a tracking system, it often stays that way. A roofing company at $2M revenue typically has $40,000–$120,000 in outstanding retainage across completed jobs. That's cash sitting in customers' accounts because nobody sent the completion invoice.
Roofing revenue is seasonal — storm season creates surges, winter creates dips. Without a cash reserve built from busy months, the slow months create payroll and overhead stress. Most roofing contractors under $3M don't have a formal cash reserve strategy because they've never had clean enough monthly books to see the seasonal pattern clearly.
Roofing contractors often underpay quarterly estimated taxes because their books don't give them an accurate picture of taxable income. Then the April tax bill — sometimes $40,000–$80,000 or more for a $2M company — arrives as a cash emergency. This is a bookkeeping problem: if monthly P&L is accurate, quarterly estimated payments can be calculated correctly and set aside before spending.
Every cash flow problem above is worsened by books that are weeks behind, cash-basis instead of accrual, and not structured for roofing-specific cost tracking. When you can't see your real financial position until 6 weeks after month-end, you make cash decisions blind.
JobCostBooks closes every client's books within 5 business days of month-end. You see last month's P&L, job profitability, retainage aging, and balance sheet by the 10th of every month — in time to make decisions, not just review history. See what's included →
Book a free 15-minute QuickBooks screen-share. JobCostBooks will identify your specific cash flow gaps and show you how to close them.
Book My Free 15-Min Assessment →$10K profit leak guarantee in 90 days · Plans from $600/mo · hello@jobcostbooks.com