What this method gives you
A budget built this way answers a question the “last year plus five percent” approach cannot: what does this organisation cost to run when nothing unusual happens? That number is the baseline, and almost nobody knows theirs, because the ordinary and the exceptional sit mixed together in every historical total.
Separating them is most of the work. Once separated, next year’s budget becomes a short list of deliberate decisions — this contract renews at a higher rate, this hire lands in April, this project does not repeat — applied to a baseline you can explain. The arithmetic is trivial. The value is in having done the separation.
The method assumes you have last year’s bank statements and not much else. If your bookkeeping is complete and your chart of accounts already reflects how you think about the business, start from the ledger instead; the steps from categorisation onwards are the same.
Before you start
Three decisions, made now, prevent most of the rework that otherwise happens halfway through.
Decide gross or net of VAT, and write it down. Bank payments are gross. If you budget net, every comparison against bank data needs adjusting, and if that adjustment is not documented, someone will spend a day investigating a variance that is just the VAT rate.
Decide cash or accruals. Bank data is cash. A cash budget is legitimate, simpler, and honest as long as it is labelled. Trying to build an accruals budget from bank data without saying so produces something that is neither.
Decide who the budget is for. A budget for a board is a page. A budget for department heads is a page each. A budget for a lender is whatever they asked for. These are different documents, and trying to make one serve all three is the reason so many budgets serve none.
The seven steps
1 · Assemble the year
Every account, every card, every entity — one dataset, checked for gaps.
2 · Clean it
Remove internal transfers, net refunds, tie back to the accounts.
3 · Categorise
A short, stable list applied to every row.
4 · Fixed vs variable
Split each category into what recurs and what moves with activity.
5 · Strip one-offs
Remove the exceptional, and keep the list of what you removed.
6 · Build next year
Adjust the baseline for known price, volume and plan changes.
7 · Phase it
Spread each line into the months it will actually occur, then assign owners.
Then: track it
Compare monthly against actuals, and note every material variance.
Step 1 · Assemble the year
Every account, not the main one. This is where the method most often fails at the first step: the current account is easy, the card account is a separate login, the euro account is used twice a year, and the account for the dormant subsidiary is forgotten entirely.
Make the list of accounts before you make the list of statements. Twelve months across five accounts is sixty documents, and a list stops you discovering in March that August is missing from one of them.
Convert them all into one table with the same columns — date, description, counterparty, amount, account, source file. Batch processing handles up to 100 files in one pass, which is a year across eight accounts. The bank statement to Excel page covers the conversion itself, and Smart Merge is what turns sixty files into one sheet.
Check the series before going further.Each statement’s closing balance should be the next one’s opening balance. Where it is not, a statement is missing — and a missing month in a budget baseline understates a category for the whole of next year without ever announcing itself.
Step 2 · Clean the data
Three cleaning operations, in this order. Each is mechanical, and skipping any one distorts the baseline in a way that is very hard to spot later.
Remove transfers between your own accounts.Every internal movement appears twice — out of one account, into another — and inflates both sides. In a business that sweeps cash between accounts weekly, this can be the largest single “category” in the dataset and is entirely fictional.
Net off refunds and reversals. A payment made and refunded is not spending. Left gross, it appears as a cost with a matching unexplained receipt, and the receipt usually ends up in the income side where it does real damage.
Tie the total back. Total outflow for the year, less transfers and refunds, should be recognisable as what the business spent. If it is not, something is missing or double-counted, and finding out now costs an hour instead of undermining every number that follows.
| Clean-up | Why it matters | If skipped |
|---|---|---|
| Internal transfers | They are not spending | Baseline inflated, sometimes enormously |
| Refunds and reversals | Net cost is the real cost | Costs and income both overstated |
| Duplicate imports | Same statement loaded twice | A category silently doubles |
| Personal or drawings | Not an operating cost | Baseline includes something next year will not |
Step 3 · Categorise
The category list is the budget’s structure, so build it deliberately rather than inheriting it. Start from how the organisation actually talks about its costs, not from the accounting system’s default list — a budget nobody recognises is a budget nobody uses.
Aim for fifteen to thirty categories. Fewer and the budget cannot guide a decision; more and nobody can remember where things go, so the same cost lands in different places in different months and comparability quietly dies.
Work through the payees by value, largest first. In most organisations twenty payees account for the large majority of spending, and categorising those twenty settles most of the dataset in half an hour. The long tail of small one-off payments matters much less and can be swept into a small number of general categories without harm.
The mechanics are on the categorisation page, and the step-by-step method — including how to keep the list stable as new payees appear — is in the categorisation guide.
Step 4 · Separate fixed from variable
This is the step most budgets skip, and it is the one that makes the result useful when something changes. A budget that does not distinguish fixed from variable cannot answer the only question anyone urgently asks: what happens if revenue falls twenty percent?
Fixed costs occur whether or not anything happens — rent, core salaries, insurance, the accounting subscription. They are predictable and, in the short term, largely immovable.
Variable costs move with activity — materials, delivery, payment processing fees, contractor time. They scale with the business in both directions.
Discretionary costs are the honest third category most frameworks omit. Marketing, training, travel and equipment are neither fixed nor strictly variable; they are chosen. Naming them as such is what makes a downturn plan possible without pretending they are contractually fixed.
Tag each category once. The tag rarely changes year to year, and it converts the budget from a list of numbers into something you can run scenarios against.
Step 5 · Strip the one-offs
Now the central operation. Go through each category and identify what happened once and will not recur: the office move, the legal dispute, the equipment replacement, the consultant engaged for a specific project.
Remove them from the baseline — and keep the list. The list is as valuable as the baseline, for two reasons. It is the evidence for why next year’s budget is lower than last year’s actual, which someone will certainly question. And it is a reminder that one-offs happen every year, just different ones, which is what the contingency line is for.
The judgement call is what counts as one-off. A useful test: would this have happened if the year had been entirely ordinary? Equipment replacement usually fails that test in the year it occurs but passes across a five-year view, which argues for a small annual allowance rather than a zero.
Be suspicious of removing too much. Every removal makes next year’s budget lower and more comfortable, and that pressure is real. A baseline stripped of everything inconvenient produces a budget that is missed in month two.
Step 6 · Build next year
You now have a clean recurring baseline. Next year’s budget is that baseline plus a short list of named changes, and the discipline is that every change has a reason attached to it.
| Change type | Example | Evidence to attach |
|---|---|---|
| Known price change | Lease renews at a higher rate | The renewal letter |
| Contractual indexation | Contract rises with an index | The contract clause |
| Volume change | More units, more materials | The sales plan |
| Planned addition | A hire landing in April | The approved headcount |
| Planned removal | A service being cancelled | The termination date |
| Assumption | General inflation on the rest | One stated rate, applied once |
The last row is the dangerous one. A general inflation assumption is necessary, but it should apply only to what is left after the specific changes, and it should be a single stated number that appears once in the document. An inflation rate quietly embedded in every line cannot be changed when circumstances change, which is precisely when you will want to change it.
Step 7 · Phase it
An annual number divided by twelve is not a budget; it is an annual number divided by twelve. It will produce a variance in almost every month and useful information in none.
Phase each line into the shape it will actually take. Annual payments go in the month they are paid. Seasonal costs follow the season. A hire starting in April costs nothing in the first quarter and full salary thereafter. Most lines are genuinely flat, and phasing them evenly is correct — but the exceptions are where all the monthly noise comes from.
Last year’s cleaned data gives you the shape for free. If a category was heavy in September and light in February last year, and nothing structural has changed, that is your phasing. This is the point at which the effort of steps 1 to 5 pays off a second time.
Finally, assign an owner to every line. One person, named, who will be asked about the variance. Lines without owners are the ones that drift, and the drift is never noticed until the year is nearly over.
A worked example
A small consultancy, four accounts, one card. Last year’s outflow totalled a figure that felt too high, and nobody could say why. Working through the steps produced this on the software line.
| Stage | What happened |
|---|---|
| Raw total | Everything coded to software across all accounts |
| Less transfers | Unchanged — no transfers were in this category |
| Less one-offs | A migration consultant and two annual licences bought for a project that ended |
| Found: duplicates | Two tools paid for on both the card and the current account after a switch |
| Found: unused | Three subscriptions with no owner anyone could name |
| Clean baseline | Materially below the raw total, and explainable line by line |
| Next year | Baseline, plus one known price rise, plus one planned tool |
The two findings in the middle are typical, and neither was visible in an annual total. They only appeared once a year of transactions sat in one table sorted by payee — which is the actual argument for doing this work rather than adding a percentage.
The income side
Everything above is about costs, because costs are where bank data is strongest. Income needs more care, for one reason: money received is not the same as revenue earned, and the gap is the length of your payment terms.
For a business paid immediately — retail, most e-commerce, subscription services — the bank view is close enough to be used directly. For a business invoicing on thirty or sixty days, the bank shows last month’s sales, and a budget built on it will be permanently one cycle behind reality.
The workable approach is to build the income budget from the sales side — pipeline, contracts, planned volume — and use bank receipts to validate the pattern rather than to set the level. If receipts and invoiced revenue diverge over a year by more than the terms explain, that is a collections problem worth knowing about independently.
Where cash timing rather than earned revenue is the concern, the cash flow page covers building a forward view from the same transactions.
People costs deserve their own treatment
In most organisations payroll is the largest line and the one most often budgeted worst — usually as a single number that grows by a percentage, which hides everything that actually drives it.
Build it from a headcount list instead: each role, its cost, and the month it starts or ends. That turns the largest line in the budget into arithmetic over a list of decisions, and it makes a hiring delay something you can quantify in an afternoon rather than discover in the year-end.
Remember the parts that are not salary: employer contributions, insurance, equipment for new starters, recruitment fees. They are a meaningful uplift on the salary line, they are frequently forgotten, and they arrive at exactly the moment the headcount grows.
Watch the pay-date timing too. Where a pay run falls near a month end, one month can carry two runs and another none — a phasing artefact that looks alarming in a monthly report and means nothing at all.
Budgeting for growth without inventing it
A baseline describes the business as it is. Growth requires adding things that have no history, and this is where budgets become fiction most easily.
The safeguard is to build each new item from components rather than from a feeling. A new market entry is a headcount, a set of tools, a travel figure and a marketing number — each of which can be estimated from something. A single line saying “expansion” cannot be challenged, which sounds convenient and means it will never be managed.
Mark these lines as estimates and expect them to be wrong. The point is not accuracy on a new activity; it is that the first variance teaches you something specific, and a line built from components tells you which component was wrong.
Contingency, held in one place
Every year has one-offs. Next year will too — different ones, but a similar total. Stripping them from the baseline and adding nothing back produces a budget that is systematically too low.
Hold the allowance as a single visible line rather than as padding spread through the categories. Padding is invisible, so it cannot be allocated deliberately, cannot be reported on, and quietly grows every year as each budget holder adds their own. A named contingency line can be released with a decision and reported like anything else.
A reasonable starting point is the average of the one-offs you stripped out over the last two years. That is not a rule, but it is evidence, and it is a great deal better than a round percentage chosen because it sounded prudent.
Getting it agreed
A budget nobody has agreed to is a forecast. The difference matters in month three, when someone exceeds a line they never accepted.
Send each owner their own lines, not the whole document. People engage with what they are accountable for and skim the rest, and a fifteen-page pack sent to everyone produces less scrutiny than one page sent to each.
Include last year’s actual next to the proposed number for every line. Almost every challenge is really a question about what happened last year, and answering it in advance removes an entire round of correspondence.
Then freeze it. Record the version, the date and who agreed to it. A budget that is edited after approval loses the property that makes it useful — being a fixed reference point that reality can be compared against.
A timetable that works
| When | What | Who |
|---|---|---|
| 10 weeks out | Assemble and clean the year to date | Finance |
| 8 weeks out | Categorise, split fixed and variable, strip one-offs | Finance |
| 6 weeks out | Send each owner their baseline and last year's actual | Finance → owners |
| 4 weeks out | Collect known changes with evidence | Owners |
| 3 weeks out | Build, phase, add contingency | Finance |
| 2 weeks out | Review, challenge, adjust | Leadership |
| 1 week out | Freeze, version, distribute | Finance |
Ten weeks looks generous and is not. Six of those weeks are spent waiting for people, and the finance work compresses into perhaps five working days. Starting later does not shorten the waiting; it just moves it past the deadline.
Common mistakes
Last year plus a percentage
Carries forward every one-off and every error, and makes the budget impossible to defend line by line.
Using only the main bank account
The card account is where the subscriptions live, and they are exactly what the exercise is meant to find.
Leaving transfers in
Inflates the baseline, sometimes by more than any real category.
Stripping every inconvenient cost as a one-off
Produces a comfortable budget that is missed in month two.
Dividing annual figures by twelve
Guarantees a variance in nearly every month and information in none.
Budgeting payroll as one growing number
Hides the headcount decisions that actually drive the largest line you have.
Hiding contingency as padding
It cannot be allocated, cannot be reported, and grows every year unchecked.
Approving with no owners
A line without a named owner drifts, and the drift surfaces too late to act on.
Best practices worth keeping
Write the assumptions on the budget
Inflation rate, volume growth, headcount timing. When reality diverges, you can see which assumption failed instead of arguing about the whole document.
Keep the category list stable
Change it once a year, at the rebuild, and restate the prior year when you do. Mid-year changes destroy comparability for a benefit that lasts one meeting.
Keep the one-off list
It justifies next year's lower baseline and sizes next year's contingency, both of which will be questioned.
Phase from last year's shape
The data already tells you which months are heavy. Using it costs nothing and removes most monthly noise.
One owner per line
Never a committee. A line with two owners has none, and the variance discussion goes nowhere.
Freeze and version
The budget's usefulness comes from being fixed. Reforecast in a separate column and leave the original visible.
Once the budget exists, tracking it is the other half of the job — the method is on the budget versus actual page, the comparison mechanics are in period comparison, and writing the monthly commentary so that people read it is covered in variance analysis that people actually read.
