Field notes

How to Build a 13-Week Cash Flow Forecast for a Construction Company

A WIP report tells you whether the jobs make money. A 13-week cash forecast tells you whether payroll clears on a particular Friday. Here's how to build one from real draw lags, holdback dates and a few minutes of PM input each week.

It's Wednesday afternoon and the controller is looking at Friday. Two crews get paid, the concrete supplier's 30 days are up, and source deductions go to CRA next week. The progress draw that would cover all of it went in three weeks ago and is still sitting with the owner's consultant. The holdback from a job that wrapped up in the spring hasn't come back either, because nobody asked for a certificate of completion. Every job on the WIP report is making money. The bank balance doesn't seem to have heard.

Profit and cash are different questions. A WIP report tells you whether the jobs are making money. A cash flow forecast tells you whether you can make payroll on a particular Friday, and in construction the first answer can be yes while the second is no. The 13-week forecast is the standard tool for the second question. Most guides to it are written for US contractors, so here's how we'd set one up in BC.

Why weekly, and why 13 weeks

A monthly forecast hides the problem. A month can finish comfortably positive while the second Friday dips below zero, and the second Friday is the one payroll lands on.

Thirteen weeks is a quarter. It's far enough out to do something about a gap (chase a certificate, move a purchase, talk to the bank about the line of credit before you need it) and close enough that most of the numbers come from real billings and real commitments. The first four weeks should be close to right. Weeks nine to thirteen are a rough shape, there to show you a trough early.

Build it as a list, not a grid

The usual template is a grid: weeks across the top, categories down the side, numbers typed into cells. It looks right and it ages badly. Nobody can say where a number came from, rolling forward means retyping, and one inserted row quietly breaks the totals.

Build it instead as a list of expected cash events, one row each:

  • Date it will actually clear the bank
  • Job, or overhead
  • Type: progress draw, holdback release, payroll, supplier, subcontractor, tax, rent, loan, owner draw
  • Who pays or gets paid
  • Amount
  • Status: certified, submitted, still to bill, or estimated

A pivot table or a SUMIFS tab turns the rows into weeks. Moving a payment means changing one date. Rolling forward takes no work, because the weeks are calculated from the dates. And when a week looks wrong, every row behind it is right there.

Cash in: date it by when it arrives, not when it's due

Progress draws. The contract might say 30 days. What matters is how long each owner actually takes from submission to deposit, consultant's review included. Look at the last few draws for each owner and use that. Say a developer's last three draws took 38, 41 and 52 days: forecast 45, and treat the next one as late once it passes 52.

The PM is the source. Accounting knows what has been invoiced. Only the project manager knows what will be billed at month end, whether the certifier is likely to cut a line, and whether a disputed quantity will hold the draw up. A five-minute weekly input per job (next draw amount, expected date, anything contested) is the difference between a forecast and an AR aging report with dates on it.

Change orders. Leave pending changes out. A change becomes forecast cash when it's signed and on a draw, not when the work is done.

Holdback. Under BC's Builders Lien Act, 10% of every draw is held back. The holdback period ends 55 days after a certificate of completion is issued. Without a certificate, the 55 days generally count from completion of the head contract, so a trade that finished in month three of a two-year project can wait the full two years. The Act lets a contractor or subcontractor ask the payment certifier to determine whether their contract is complete, and the certifier has 10 days to decide. Making that request is one of the cheapest cash moves available. In the forecast, date each release from its certificate plus the owner's usual processing time, and leave it out entirely while there's no certificate in sight.

Prompt payment. BC's Construction Prompt Payment Act received Royal Assent in November 2025 but isn't in force yet. Until it is, forecast what owners actually do, not what the new rules will require.

Cash out: easier dates, bigger lumps

Payroll on the actual pay dates, sized from the look-ahead schedule rather than last quarter's average. A job ramping from one crew to three in November shows up here before it shows up anywhere else. Include what leaves with it: source deductions, WorkSafeBC premiums, benefits, and union remittances if you have them.

Suppliers from the procurement log. Material lands, the invoice follows, and the terms run from there. A long-lead item like switchgear or a rooftop unit is a lump in one specific week, usually the week you'd least like it.

Subcontractors on the dates your subcontracts commit you to, net of the 10% you hold back on them. Their holdback release is an outflow with a date on it, the same way yours is an inflow.

Taxes. Source deductions go monthly for most small employers, GST on your filing cycle. One trap: GST on a progress invoice is generally owed for the period you issue it in, whether the owner has paid or not. The holdback portion has its own rule (tax on it becomes payable when the holdback is paid or the holdback period expires, whichever comes first), and how your books handle that is a question for your accountant. For the forecast, the remittance date and the receipt date are different dates, sometimes months apart.

The lumps. Insurance renewal, bonding, equipment loan and lease payments, the truck you plan to buy in spring, owner draws. These are the rows people forget, and they have a habit of landing in the same week as a late draw.

The Friday routine

Thirty to forty-five minutes, same time every week:

  1. Enter the real bank balance. Mark which rows cleared and which didn't.
  2. For anything that missed, fix the cause, not just the date. If an owner paid late again, update their lag.
  3. Collect the PMs' inputs.
  4. Roll forward. Last week drops off, week 14 appears.
  5. Find the lowest week. If it's under your floor (at least one full payroll plus a buffer you're comfortable with), write down one action and the name of whoever is doing it.

Step 2 is the one that compounds. After a couple of months, the forecast knows your customers' payment habits better than anyone's memory.

Who owns it

The controller or bookkeeper owns the sheet. Each PM owns their jobs' inputs. The owner of the company reads it every week, including the boring weeks.

It usually fails one of two ways. Accounting builds it from receivables and payables alone, so it knows what's been billed and nothing about what's next. Or someone builds it once for the bank and nobody opens it again.

Spreadsheet or software

A spreadsheet carries most contractors a long way. Forecasting tools that connect to your accounting system earn their place once you have many active jobs or more than one company. Before buying one, check what it actually forecasts. Most pull receivables and payables from the books, the half you already know, and if the tool makes the PM's billing input awkward, that input will get skipped.

AI can draft the weekly variance note or flag an owner whose payment lag is stretching. It can't tell you what the PM is going to bill next month. Someone still has to ask.

If cash surprises keep turning up on a Wednesday afternoon, the gap is usually between the field and the office rather than inside the spreadsheet, and that's the kind of workflow we look at in a discovery call. It's 30 minutes, free, and usually enough to tell whether the fix is a routine, a better sheet, or something bigger.

Dealing with something like this?

Book a free 30-minute discovery call. No pitch, practical next steps either way.

Book a call