
A cash flow forecast for a single-job contractor is straightforward. Determine what you expect to bill and when, and subtract what you expect to pay out and when.
A cash flow forecast for a contractor running 10 active jobs simultaneously is a different animal entirely. Each job has its own billing cycle, its own approval timeline, its own subcontractor payment obligations, and its own retainage position. Add them all together wrong and you'll be convinced you're fine two weeks before you can't make payroll.
Here's how to build it correctly.
Start at the job level, not the company level
The mistake most people make is building a top-down cash flow forecast - projecting total company revenue and total company expenses without looking at individual job timing. That approach misses everything that actually matters.
Build bottom-up. Every active job gets its own row. For each job you need to know:
When is the next pay app due? And when will the owner actually pay it? These are two different dates. Know your contract payment terms and your actual historical collection lag for that owner.
What are your subcontractor payment obligations? When did you receive their last invoice and when is it due? Most subcontract agreements require payment within a set number of days after you receive payment from the owner.
What retainage will be withheld? 5% or 10% of every pay app held back. This is cash out of your pocket even when the pay app is approved and paid.
Are there any major material purchases coming? Large material orders that need to be paid before the next billing cycle are a cash flow event that won't show up in your pay app timing.
Roll it up to a 90-day window
Once you have the job-level detail, roll everything up into a 13-week (90-day) weekly cash flow model. Week by week, for every active job: expected cash in, expected cash out, net position.
Sum across all jobs for each week and you have your company-level cash position projection. The places where the cumulative balance dips toward zero are your warning signals, usually 4 to 6 weeks before they become a crisis if you're watching.
The number that matters most:
Your lowest projected cash balance over the next 90 days. Not your average balance but your lowest point. That's the number your auditor, banker, and bonding agent care about, and it's the number that tells you whether you have a problem coming.
The inputs that kill most forecasts
Two things consistently make construction cash flow forecasts wrong: optimistic owner payment timing and forgotten subcontractor obligations.
On owner payment timing, use actual historical data, not contract terms. If a particular owner consistently pays 45 days after pay app submission even though the contract says net 30, model 45 days. Your forecast is only useful if it reflects reality.
On subcontractor obligations, pull your open sub invoices before you build the forecast. Every approved sub invoice that hasn't been paid yet is a cash outflow sitting in your payables that needs to be in the model.
The bottom line
A cash flow forecast that's built at the company level without job-level detail is a guess dressed up as a model. Build it from the jobs up, use real payment timing data, and look at your lowest projected balance.
Need help?
If you need help building a cash flow model for your active jobs, reviewing your WIP schedule, or preparing your financials for a bonding review - I'm available. Reply to this email and we'll talk.