Why Roofers Run Out of Money Between the Deposit and the Supplier Invoice
Oct 05, 2026By Katie Robinette, CFO and Cofounder, Evermore Accounting & Coaching
A roofer once told me his business was profitable and broke at the same time and asked me to explain how both could be true.
They can, and in roofing they very often are, because of a timing problem that has almost nothing to do with whether your jobs make money.
Let me walk through where the money actually goes.
Follow one job through the calendar
You sign a $22,000 replacement on the first of the month. The homeowner gives you a $7,000 deposit. Your bank balance goes up by $7,000, and the month is off to a good start.
The material order goes in on the eighth. Your supplier bills you on delivery with net 30 terms, so that $9,400 is due on the seventh of the following month.
Your crew installs on the twelfth and thirteenth. You pay them on the fifteenth. That is $4,800 out the door, plus the burden.
The job is complete on the thirteenth. You invoice the balance of $15,000 that week. The homeowner is waiting on their insurance to release funds, or they are waiting on their own schedule, or they just take their time. You get paid on day forty-two.
Now line up the actual cash:
Day 1, in $7,000. Day 15, out $4,800 for labor. Day 37, out $9,400 to the supplier. Day 42, in $15,000.
Between day 15 and day 42, you are underwater on a job that will ultimately clear about $7,800 in gross profit. You are funding somebody else's roof for four weeks.
That is one job. Run six at once, which is a normal August, and the gap is not four weeks of one job. It is the overlapping shortfall of six.
The deposit is not your money yet
This is the piece I most want roofers to internalize.
When a homeowner hands you $7,000 before you have done anything, that is not revenue. You have not earned it. You are holding it against work you owe them and materials you have not yet bought.
Accounting wise, it belongs on your balance sheet as a liability until you perform. Practically, it means the balance in your operating account is overstating what you have available, sometimes badly.
An owner looking at $40,000 in the bank feels comfortable. If $28,000 of that is deposits on jobs not yet started, he has $12,000, and he is about to make a decision as though he has $40,000.
That decision is usually the one that starts the trouble.
How the treadmill starts
Here is the pattern, and it is remarkably consistent.
The supplier's invoice on job A comes due before the homeowner on job A pays. So, you cover it with the deposit that just came in on job B.
That works. Nothing bad happens. So, you do it again.
Now job B's materials need to be paid, and job B's deposit is gone, so you use job C's deposit. And so on.
You are now permanently one job behind, and the business only functions as long as new deposits keep arriving at the same pace. That feels fine during a busy stretch. It becomes a serious problem the first slow month, or the first time a large job goes sideways, or the first time a homeowner disputes something and holds their final payment.
At that point the shortfall is not one job's worth. It is everything you have rolled forward.
I have sat with roofers who had a genuinely profitable year on paper and could not make a payroll in November. Nothing was wrong with their pricing. The cash had been spent one job ahead of itself for eight months.
What fixes it
Know your gap in days. Take your average time from material purchase to final customer payment and subtract your supplier's terms. That number is how many days you have to be self-funded. If it is 30 or more, you need working capital, and knowing that is much better than discovering it.
Track cash by job, not just profit by job. Your job costing should tell you what came in and went out on each job and when. Profitable jobs with bad timing will still sink you.
Negotiate your supplier's terms. Net 30 versus net 15 is not a small difference on a business running six jobs at a time. Suppliers extend terms to contractors who pay reliably, and most roofers never ask.
Bill faster. The invoice going out four days after completion instead of two weeks later is free money in cash flow terms, and it is entirely within your control. The same goes for chasing the balance on day 31 instead of day 55.
Take a real deposit but treat it correctly. A deposit that covers your material cost changes the whole timeline. Just do not let it change how much you think you have.
Build a working capital reserve. Enough to carry your largest, realistic cluster of jobs through the gap without needing the next deposit. That reserve is what lets you say no to a bad job, because you are not desperate for the deposit attached to it.
The insurance work wrinkle
If you do restoration work, everything above gets slower. ACV payments, mortgage company endorsements, depreciation released only after completion and documentation, supplements that take weeks to approve.
The work can be good business. But the cash gap on insurance jobs frequently runs twice as long as retail, and a roofer who shifts heavily into restoration without planning for that will feel it within two months.
If you are running both, understand that they are two different cash businesses that happen to install the same shingles.
Where to start
Take your last five completed jobs and write down four dates for each. Material purchase, labor paid, invoice sent, payment received.
The average distance between the money going out and the money coming back is the number that explains your bank balance better than your profit and loss statement does.
Once you can see it, it becomes something you can manage. Until you can see it, it just feels like being busy and broke at the same time.