Most Notion budget templates fail the same way. They start as a beautiful table with a row per category and a column per month, someone fills in January by hand, and by March the page has not been touched. The structure is the problem, not the discipline.
A budget that survives contact with real life has one property: adding a purchase takes under ten seconds and updates everything else on its own. Here is the shape that gets you there.
Log transactions, not months
Start with a single database of transactions. One row is one thing you spent or received. Date, amount, category, account, and a note if you want one.
This feels like more work than a monthly grid, and for the first week it is. The payoff arrives immediately afterwards, because every other view in the budget is a slice of this one table. Monthly totals, category breakdowns, the year so far, what you spent on coffee: all of it is a filter and a sum over the same rows, not a separate thing to maintain.
The monthly-grid approach forces you to be the aggregator. You add up receipts in your head, then type one number into a cell. That number is wrong within days and you cannot see why, because the detail was never captured.
Keep the amount as a Number property with currency formatting, not as text. Notion will happily store "£12.40" as a string and then refuse to sum it, and it is a genuinely annoying thing to discover in month three.
Categories are a relation, not a select
The instinct is to make Category a Select property with a list of options. Use a relation to a small Categories database instead.
The difference shows up the first time you want a budget per category. With a Select, the monthly limit for Groceries has nowhere to live, so it ends up in a separate table that you then have to keep aligned by name. With a relation, the Groceries page holds its own monthly budget, its own notes, and a rollup of everything tagged to it.
It also means renaming a category actually renames it everywhere, rather than leaving a trail of orphaned rows tagged with the old string.
Tip. Give the Categories database a Type property with Fixed, Variable and Savings. Three groups is enough to see the shape of a month, and any more turns the summary into a wall of numbers nobody reads.
Rollups do the maths
This is where the template stops being a spreadsheet with worse formulas and becomes worth building in Notion.
On the Categories database, add a rollup over the related transactions that sums the amount. Add a formula that subtracts that sum from the monthly budget. You now have a remaining figure per category that updates the moment a transaction is logged, with no recalculation step and no stale cell.
Two formulas are worth the effort beyond that. A percentage-used field, because a bar you can glance at tells you more than a number. And a days-remaining field based on the current date, because "£80 left" means something very different on the 3rd than on the 27th.
Resist the temptation to add more. Every formula is something to debug later, and a budget you are debugging is a budget you are not using.
Three views, no more
The same transactions database should appear in exactly three places.
Add, a form-like view filtered to this month, sorted newest first. This is the one you open on your phone. It exists to make logging fast, and it should show four properties at most.
This month, grouped by category with the sum visible per group. This is the view you check twice a week. Everything you need to know is in the group headers; the rows underneath are there when a number surprises you.
Year, grouped by month. This is the one you look at rarely and learn the most from, because it shows which months are genuinely expensive rather than which months felt expensive.
Any further views are decoration. Templates that ship with eleven views are demonstrating Notion, not budgeting.
One caution about automation. It is tempting to wire a bank feed in through a third-party service so transactions arrive by themselves. We have tried it and stopped. The ten seconds of typing is the part that makes you notice what you are spending, and a budget that fills itself in is a budget you stop reading.
What to do at month end
Fifteen minutes, once a month, and the system keeps working.
Open the Year view and read the month you just finished. Look for one category that was consistently over and one that was consistently under, and move money between their budgets. Not a redesign, one adjustment.
Then check the Categories database for anything with no transactions at all. A category with nothing in it for three months is not a category, it is a hope. Archive it. The list should describe how you actually spend, and it should get shorter over the first few months, not longer.
Finally, if a transaction is sitting there uncategorised, it is usually because none of the existing categories fit. That is useful information. Either it belongs somewhere you had not thought of, or it was a one-off and belongs in a Miscellaneous bucket you agree not to feel bad about.
The Budget Dashboard in the vault is this structure, already built, with the relations and rollups wired and a month of sample rows you can delete. Duplicating it takes one click, and the first transaction takes about eight seconds.