Cash-flow forecasts fail in a predictable way. They add up the invoices that fall due, they call that a number, and then the week arrives and the cash does not. The invoices were real. The assumption was not. Customers pay late, pay short, or pay only after a second and third ask. A forecast that cannot say this is a calendar, not a forecast.
Three layers, named out loud
The first layer is invoiced. The document exists, the amount exists, and a due date exists. The second layer is scheduled: a pay cycle will issue an invoice, but it has not done so yet. The third is at risk: overdue, or sitting in a dispute. Adding those three into one “expected” figure is how reports become fiction. Showing them as three figures is how a treasurer and a collector can talk.
Behaviour adjusts the first layer. If a customer’s last invoices were paid around fourteen days after the due date, drawing the cash on the due date is a choice to ignore evidence you already have. New customers have no behaviour. The honest chart marks them as unknown and uses the due date, rather than borrowing a company-wide average and pretending it is theirs.
Season, not a vibe
Seasonality is a comparison with the same period last year, when you have that year. It is not a slider called “optimism”. If last September’s cohort paid slower than March, the forecast can say so. If you do not have the history, the forecast should say that too.
- Due in seven days, from invoices already issued.
- Due in thirty, sixty, and ninety, with late payers shifted.
- Scheduled cycles that are not documents yet.
- At risk, kept out of the expected column until the dispute is resolved.
None of this is treasury. It will not hedge a currency or size a borrowing base. It will tell the person running collections what the record itself supports, and it will let them click through to the invoices. A forecast you cannot open is a slogan.