I’m going to walk you through how I build a practical 13-week rolling cashflow model that helps you time seasonal stock purchases and avoid emergency borrowing. I use variations of this with my small retail and hospitality clients because it’s short-term, action-focused and forces decisions around when to buy stock so you aren’t surprised by a cash shortfall in week 10.
Why 13 weeks?
Thirteen weeks (roughly a quarter) is long enough to capture seasonality and ordering lead times, but short enough to keep forecasts realistic. It’s a horizon that encourages weekly action: if a number moves, you respond immediately. For most small businesses this timescale is ideal for planning stock purchases tied to promotion periods, supplier lead times and payroll cycles.
The core structure I use
My models are deliberately simple. Each week you want to track:
At the bottom I add helpful rows for committed purchases (stock orders you’ve placed but not yet paid), planned purchases you might place, and a running forecast of available cash after those commitments. That lets you see whether a planned bulk stock order is affordable or whether you need to phase purchases.
How I forecast receipts (sales)
I don’t aim for perfect sales forecasts — I aim for realistic, evidence-based ones:
How I forecast payments
Think in terms of when cash is leaving, not when a cost is incurred. Common payments include:
For stock specifically, include two rows:
Sample 13-week layout
Here’s a simplified layout you can reproduce in Excel or Google Sheets. Replace the sample numbers with your own.
| Row | Week 1 | Week 2 | … | Week 13 |
| Opening balance | £10,000 | £9,200 | … | £X |
| Receipts (sales) | £6,000 | £5,500 | … | £Y |
| Supplier payments (stock) | £4,000 | £3,800 | … | £Z |
| Wages | £1,200 | £1,200 | … | £1,200 |
| Other overheads | £600 | £600 | … | £600 |
| Net weekly cashflow | =Receipts−Payments | … | ||
| Closing balance | =Opening + Net | … | ||
| Committed stock orders | £2,500 | £0 | … | £X |
| Available cash after commitments | =Closing − Committed stock | … |
How to use the model to time seasonal stock purchases
Once the model is populated, look at the following:
By running “what if” scenarios (e.g. sales 10% higher or supplier payment delayed 14 days), you can choose whether to:
Triggers and rules I recommend
Turn the model into decision rules so it becomes operational, not just informational:
Common mistakes to avoid
From my experience working with micro businesses, these are the pitfalls that break the usefulness of a 13-week model:
Tools and automation tips
I usually build the first version in Google Sheets so the client can edit and we can collaborate live. Once a pattern is established, you can automate parts of it:
How I review the model each week
Every Monday I update the previous week’s actual bank balance, receipts and payments, then re-run the forecast for the next 13 weeks. If a planned stock order pushes a week into red, I email the supplier to renegotiate or split the order. If sales are beating forecast, I review whether to accelerate replenishment to avoid stockouts. These small weekly habits prevent panic borrowing and give you headroom to negotiate better supplier terms.
If you’d like, I can share a simple Google Sheets template that mirrors this layout, with the formulae already set up. Tell me what accounting software you use (Xero, QuickBooks, Sage, or none) and I’ll tailor the template so it’s quick to populate with your actuals.