13-Week Cash Flow Forecasting

Expense Forecasting: The Step Before the 13-Week Cash Flow Model

Before any weekly cash flow numbers can be trusted, every operating expense must be identified, classified, and timed to the day it actually leaves the bank. This is how that work gets done.

By Andris Škutāns Cash flow forecasting Operating expenses

Revenue forecasting attracts much of the attention, but operating expenses — payroll, rent, taxes, subscriptions, insurance — are the part of the model where surprises actually cost money. They hit the bank account on fixed dates regardless of how sales are going. Miss them in the forecast and the weekly closing balances become fiction.

Extracting from the general ledger

The starting point is 12 to 24 months of actual transaction history from the accounting journal. This is the primary data source. It shows what the business actually paid — not what anyone thinks it paid.

Twelve months reveals normal operating patterns and seasonality. Twenty-four months may also show anomalies: a one-off legal settlement, an insurance claim, an unusually large repair. Both perspectives are useful.

Columns to export
Required
  • Date
  • Account code
  • Account name
  • Description
  • Amount
Useful where available
  • Supplier / payee name
  • Department or branch
  • Invoice reference

Once exported, I filter to expense accounts only — removing for example revenue and equity lines. Then I calculate 12-month and 24-month totals per account. And mark which accounts appear every month (recurring) and which appear only occasionally (sporadic).

To each expense line I assign (add grouping columns):

Grouping into forecasting categories

The chart of accounts is already organized — I use it as the starting structure rather than building something new. I usually map every expense account to one of forecasting categories.

Category Typical accounts
Payroll & employee benefits Salaries, bonuses, payroll taxes, health insurance, pension contributions
Occupancy & utilities Office rent, warehouse rent, electricity, water, heating
Selling, marketing & distribution Digital advertising, agency fees, events, delivery costs, sales commissions
General & administrative SaaS subscriptions, stationery, IT support, bank charges, postage
Taxes & statutory payments VAT settlements, corporate tax instalments, local business taxes
Capital expenditure Equipment purchases, vehicle acquisitions, leasehold improvements
Other / non-recurring / non-operating Legal settlements, redundancy costs, one-off consulting fees, insurance claims, provisions

Each general ledger (GL) account goes into exactly one category (type of expenses). Where an account could fit in two, I assign it to the more dominant one and add a note. It is reasonable to resolve any overlaps at this stage — not later when the register is already in use.

Setting the right level of detail

Not every expense line needs its own row in the forecast. The rule is straightforward: keep items individual when they are large or unpredictable; group them when they are small and stable.

Category / expense type Recommended detail level Reason
Payroll By department or by person for key staff Largest outflow; timing is exact
Rent & occupancy Individual per property Fixed amounts, fixed dates
Major professional fees Individual (audit, legal, main consultant) Large and lumpy
Marketing Medium — by channel or agency Variable but manageable in groups
Office supplies, small SaaS tools Grouped into one line Small and stable; not worth individual tracking
Taxes Individual per obligation Specific due dates; penalties for late payment
Capital expenditure Individual per project or asset Large, one-off, specific timing

If necessary, I break down certain categories by expense item. For example, Payroll & employee benefits category might be broken down by the following expense items: wages, bonuses, payroll taxes, health insurance, and pension contributions.

For multi-branch businesses, I add a branch or department column alongside the category column. This keeps the consolidated model intact while making it possible to examine cost pressure by location.

The master expense register

Once I have extracted and cleaned historical expense transactions, the next step is to create a master expense register.

The master expense register is not the raw list of thousands of historical transactions. It is also not the final weekly cash forecast.

It is a summary working document that sits in between:

A goal is to have one clean, manageable place where I list every type of expense the company has, with all the key information needed to forecast it for the next 13 weeks.

The expense register looks like a table (usually in Excel) with one row per category / expense type and if necessary by expense item.

Column Purpose
Category / expense type One of the main broader groups.
Expense item / GL account Specific name, usually matching the GL / chart of accounts (e.g. "salaries – office staff", "electricity", "audit fee"). Not individual suppliers unless very important.
Branch / department For multi-location businesses.
Historical monthly average From GL analysis. Base figure for estimates.
My forecast monthly My best estimate for the coming period.
Forecasting basis How I arrived at the number (new hires, signed contract, expected sales, management input, etc.).
Expense frequency Daily / weekly / monthly / quarterly / annual / one-off.
Payment timing When cash actually leaves (e.g. "1st of month", "last working day").
Notes & assumptions Any change from historical base and the reason.
Data source GL / contract / payroll / tax calendar / invoice
Status Draft / validated / final

What it looks like in practice:

Master register row:

Data sources by category

Each expense category has a natural hierarchy of data sources — I use the most reliable one available for each item.

Payroll & benefits
Payroll records first. Then the headcount plan for the 13-week window. Adjust for confirmed hires, departures, and pay rises from signed contracts.
Occupancy & utilities
Lease agreements for the fixed rent amounts and escalation clauses. GL history for utilities. Apply known tariff changes where a notice has been received.
Selling & marketing
Approved marketing budget or recent invoices for the near weeks. GL 12-month average for the outer weeks. Variable elements link to the sales forecast.
General & administrative
GL history plus an active subscription list. Check for auto-renewals on annual SaaS tools — these create lumpy outflows if missed.
Taxes & statutory
Official tax authority payment calendar. VAT: previous filing amount adjusted for current trading. Corporate tax: instalment schedule from the tax authority or tax adviser.
Other / non-recurring / non-operating
Board minutes and management resolutions, legal adviser confirmation, HR records, signed engagement letters, or invoices for one-off consulting fees.
Capital expenditure
Approved capex budget and board resolutions only. No speculative purchases. List each planned item with its expected payment week.

Adjusting from the historical base

The historical average is the starting point, not the final answer. Adjustments are applied only where there is specific evidence for a change.

Factors that may impact the expense forecast

After placing base amounts from the master expense register into the weekly draft, I review the following factors and adjust where necessary:

Working rule
Every adjustment must have a documented reason and a source. Adjusting "because costs have generally risen" without evidence makes the register unreliable and difficult to defend in a client review.

Finding lumpy and hidden items

Lumpy and hidden expenses are the most common source of forecast error. They do not appear in the weekly or monthly rhythm, so they are easy to overlook when building the register from monthly averages. When they hit, the weekly balance drops sharply — and the model looks wrong, even though the error was in preparation, not in the model itself.

The most common items missed

How to find them systematically

GL filter: filter all transactions to those appearing only one to four times in the 24-month export. Sort by amount descending. Review the top items individually — most of the risk sits here.

Contract review: search signed contracts for the words "annual", "quarterly", "renewal", and "milestone". Any payment triggered by these clauses goes into the register at its contracted amount and date.

Board and management minutes: look for approved capital commitments, legal provisions, or bonus arrangements not yet invoiced.

Bank statements — December, March, April: year-end and tax-season payments cluster in these months. Cross-reference against the GL to confirm they are captured.

Effective question to ask finance
"What payments did we have to cover urgently last year that came as a surprise?" This is a specific, answerable question. It gets better responses than general questions about expected costs.

Cross-checking total of expense categories

After creating expense forecasts, I sum all forecasted expenses for a comparable period — for example, the next three months — and run a check.

I compare the total to the same period's actual expenses for last year. Last year's expenses are adjusted to remove non-cash items — primarily depreciation and amortisation, which appear in the P&L but do not produce a cash outflow. Capital expenditure works the other way: it does not appear in operating expenses on the P&L, but it does produce a cash outflow, so it must be included in the cash forecast total.

A gap of less than 10% on either check is generally acceptable. A gap larger than 10% means something material is missing or misclassified. The response is to investigate the specific items causing the gap — not to add a general buffer across all lines.

Validation with management

The forecast of expenses at this stage is data-driven but incomplete. Management holds information that does not appear in the GL: planned spending decisions, informal commitments, upcoming changes to contracts or headcount, and anything agreed verbally but not yet signed.

Presenting a draft, not a blank page

The approach is to prepare a clean, summarized version of the expense forecast and present it to key people asking them to correct it. Open questions produce unreliable answers. Presenting a specific draft and asking for corrections produces reliable ones. People are much better at spotting errors than at generating numbers from memory.

Short conversations — 15 to 30 minutes — work well for each area:

Questions that produce useful answers

Handling unrealistic input

If management suggests that costs will be significantly lower than history shows, the response is to ask which specific items will be lower and why — then keep the original data-driven figures visible alongside any adjustments. Where there is genuine disagreement between the historical base and management expectations, the better practice is to maintain two versions: a data-driven base case and a management-adjusted case. Both carry the same structure; only the amounts differ. Every change from the data-driven base is documented with its source and the name of the person who confirmed it.

Converting to a weekly payment schedule

The expense forecast holds expense amounts and frequencies. The 13-week model needs cash amounts at specific week numbers. This conversion is the final step before the expense data enters the main model.

Determine when cash actually moves

For each line in the expense forecast, the question is not when the expense is incurred but when the cash leaves the bank account. These are often different. An invoice dated on the 1st with net-30 terms produces a cash outflow on or around the 1st of the following month, not the 1st of this month. Many businesses also pay on fixed days regardless of invoice terms — the 5th, the 15th, the 25th, the last working day. Historical payment behavior from the GL or bank statement is more reliable than stated terms.

Priority order for determining cash timing:

  1. Actual historical payment dates from GL or bank statements — when does the business actually pay this item?
  2. Contracted payment terms from the relevant agreement.
  3. Direct debit or standing order schedules from bank statements.
  4. Official calendars for payroll, VAT, and corporate tax payment dates.
Timing examples
Salaries: last working day of the month  |  Rent: 1st of each month  |  VAT: 20th of the following month after the period end  |  Annual insurance: specific week in which the renewal falls

Building the weekly payment schedule

The completed payment calendar is the input to the main 13-week cash flow model.

The weekly payment schedule is a worksheet with expense categories as row labels on the left, and weeks 1 through 13 as columns across the top. Each column header shows the week number and the week start date beneath it. Where a payment falls in that week, the amount goes in the corresponding cell. Each row totals across all 13 weeks. Each column totals down to show total cash outflow for that week.

A monthly expense goes into whichever week contains its actual payment date. Annual or quarterly items land in the single week when the payment falls. Expenses which move with sales volume — delivery costs, sales commissions, raw materials — cannot be entered as a fixed amount. Their forecasted amount for each week is calculated by applying a rate or percentage to the sales forecast for that same week.

Flag pressure points

Weeks where total outflows are significantly above the 13-week average deserve a note: for example, "Week 4 — high outflow: payroll + quarterly VAT + rent all due." These are the weeks where the inflow side of the model must be checked most carefully.


Frequently asked questions
How far back should the general ledger history go?+
Twenty-four months is the preferred range. It shows both a full seasonal cycle and any anomalies — one-off payments, unusual quarters — that a single year might make look normal. Where only 12 months of clean data is available, that is workable, but lumpy and non-recurring items need extra scrutiny because the shorter window increases the risk of missing items that appear every 18 months or every second year.
What if the company is new and has limited history?+
For a business with less than 12 months of operating history, the process starts with contracts and commitments rather than historical averages. Every signed contract, lease, employment agreement, and supplier arrangement is the data source. Bank statements and recent invoices fill gaps. Estimates for genuinely unknown items are marked clearly as estimates and reviewed more frequently — typically every two weeks — as actual data comes in.
How should VAT be handled in the expense register?+
VAT is treated as a tax cash flow, not as part of the operating expense total. VAT collected on sales is a liability, and the net settlement (output VAT minus input VAT) is a periodic cash outflow on a specific date set by the tax authority / government. It goes into the taxes and statutory payments category with its actual due date — not spread across weeks as part of individual expense lines.
What happens when management insists costs will be lower than history shows?+
The historical figures stay in the expense register as the base case. If management provides specific, documented reasons why particular lines will be lower — a contract renegotiated, a headcount reduction confirmed — those adjustments are incorporated with the reason and source recorded. Where the basis for lower costs is general optimism rather than specific evidence, a second column showing the management-adjusted version is maintained alongside the data-driven version.
How often should the expense register be updated during the 13-week window?+
The register updates weekly as part of the forecast refresh. Completed weeks are replaced with actuals from the bank or GL. The outer weeks are adjusted when new information arrives — a new invoice, a confirmed price change, a contract signed during the period. Variances between forecast and actual for completed weeks are recorded and used to improve assumptions for the weeks still ahead.
Should depreciation be included in the expense register?+
No. Depreciation is a non-cash accounting entry. It does not produce a cash outflow. The 13-week cash flow model tracks cash movements only. Capital expenditure — the actual purchase of assets — does appear in the register, in the capital expenditure category, at the week when the payment leaves the bank account.