Notion Budget Template: How to Build a Monthly Budget in Notion (Databases, Formulas and Views)
Step-by-step guide to building a Notion budget template: a Transactions database, a Categories database with monthly budgets, relations, formulas for spent and remaining amounts, a current-month filter, useful views and the limits of Notion compared with a spreadsheet.
Quick answer: a Notion budget template is built from two linked databases. A Transactions database stores every income and expense (amount, date, type, category). A Categories database stores your monthly budget per category. A relation connects each transaction to its category, and a formula on the Categories database adds up what you spent this month and shows how much is left. Filtered views then give you a dashboard: this month’s spending, categories over budget and income versus expenses.
This guide walks through the setup, the formulas and the views, with an example budget. Numbers are illustrative, and Notion’s menus change from time to time, so labels in your workspace may differ slightly.
Notion or a spreadsheet for budgeting?
| Notion | Spreadsheet (Excel/Google Sheets) | |
|---|---|---|
| Best for | People who already plan their life in Notion and want the budget next to goals, notes and tasks | Heavy number work, many transactions, detailed reports |
| Data entry | Pleasant on mobile, forms and templates for recurring items | Fast for bulk entry and imports from bank CSV files |
| Calculations | Formulas per row and rollups across relations | Any calculation across any cells, pivot tables |
| Charts | Basic chart views in recent versions | Full charting |
| Scale | Comfortable for hundreds of entries a month | Comfortable for thousands |
If you mainly want numbers, a monthly budget spreadsheet is simpler. If you want your budget inside your Notion workspace, keep reading.
Step 1: Create the Categories database
Create a full-page database called Categories with these properties:
| Property | Type | Purpose |
|---|---|---|
| Name | Title | Rent, Groceries, Transport… |
| Group | Select | Needs, Wants, Savings, Income |
| Monthly budget | Number (currency) | Planned amount for one month |
| Transactions | Relation | Created in Step 2 |
| Spent this month | Formula | Step 3 |
| Remaining | Formula | Step 3 |
| % used | Formula | Step 3, shown as a bar |
The Group property lets you organize the budget the way you think about it, for example with the 50/30/20 split between needs, wants and savings.
Step 2: Create the Transactions database
| Property | Type | Notes |
|---|---|---|
| Description | Title | “Supermarket”, “Salary”, “Electric bill” |
| Amount | Number (currency) | Always enter a positive number |
| Date | Date | Date of the payment |
| Type | Select | Income or Expense |
| Category | Relation → Categories | Turn on “show on Categories” so the relation appears on both sides |
| Account | Select | Checking, credit card, cash |
| This month | Formula | Checkbox used for filters (below) |
The This month formula returns true when the transaction falls in the current calendar month:
formatDate(prop("Date"), "YYYY-MM") == formatDate(now(), "YYYY-MM")
Because it compares year and month as text, it works across years without extra logic.
Step 3: Formulas on the Categories database
With Notion’s current formula language, a formula can read the properties of related pages, filter them and add them up. Spent this month:
prop("Transactions").filter(formatDate(current.prop("Date"), "YYYY-MM") == formatDate(now(), "YYYY-MM")).map(current.prop("Amount")).sum()
Remaining:
prop("Monthly budget") - prop("Spent this month")
% used (set the number format to percent and choose “show as bar” if your workspace offers it):
if(prop("Monthly budget") > 0, prop("Spent this month") / prop("Monthly budget"), 0)
If a formula shows an error, check the property names (they must match exactly, including capitals) and Notion’s built-in formula help, since syntax details occasionally change. If you prefer to avoid formulas, a Rollup property set to “Sum” of Amount works too, but it adds up all months together; you would then need a separate category set or a Months database per month.
Example: a monthly budget halfway through the month
| Category | Group | Monthly budget | Spent this month | Remaining | % used |
|---|---|---|---|---|---|
| Rent | Needs | $1,500 | $1,500 | $0 | 100% |
| Groceries | Needs | $600 | $410 | $190 | 68% |
| Utilities | Needs | $180 | $95 | $85 | 53% |
| Transport | Needs | $200 | $120 | $80 | 60% |
| Dining out | Wants | $250 | $280 | −$30 | 112% |
| Subscriptions | Wants | $60 | $45 | $15 | 75% |
| Savings transfer | Savings | $500 | $500 | $0 | 100% |
| Total | $3,290 | $2,950 | $340 |
With $4,200 of monthly take-home income, the plan leaves $910 unassigned. In a zero-based approach you would give that money a job too, for example extra debt payments or a sinking fund. Dining out is already $30 over, which the “Over budget” view below makes obvious.
Step 4: Views that turn the databases into a dashboard
Create a page called Budget and add linked views of both databases:
- This month’s transactions (Transactions, table): filter This month is checked, sort by Date descending.
- Spending by category (Transactions, board): same filter, grouped by Category, with the sum of Amount shown in the column footer.
- Budget overview (Categories, table): show Monthly budget, Spent this month, Remaining and % used; group by Group.
- Over budget (Categories): filter Remaining is less than 0.
- Income vs expenses (Transactions): filter This month, group by Type, with sums in the footers. Recent Notion versions also offer a chart view if you want a bar or donut chart.
Add a button or a database template for frequent entries (“Groceries – card”) so logging a purchase takes two taps on your phone.
Step 5: A monthly routine
- Daily or every few days: log transactions, or paste them from your banking app.
- Weekly: check the Over budget view and adjust spending for the rest of the month.
- Month-end: compare the account balances in Notion with your bank, then review categories that were consistently over or under and change next month’s budget.
- Yearly: archive old transactions into a separate database or tag them with the year to keep views fast.
Useful extensions
- Sinking funds: a category per future expense (car insurance, holidays) with a target and a rollup of the transfers you made.
- Debt payoff: a Debts database with balance and minimum payment; for the math behind snowball and avalanche plans, see the debt snowball spreadsheet guide.
- Shared budget: share the page with a partner and add a “Paid by” person property.
- Subscriptions tracker: a view of Subscriptions transactions with a renewal date property and a reminder.
Limitations to know
- Notion doesn’t connect to bank accounts natively; entries are manual or imported from CSV.
- Formulas recalculate per row; very large databases can feel slower than a spreadsheet.
- Reporting across many months (for example, average spending per category over a year) is easier in Excel or Google Sheets. Many people keep Notion for daily tracking and export a CSV for annual analysis.
Frequently asked questions
Is a Notion budget template free to build?
The databases, relations, formulas and views described here are available on Notion’s free plan for personal use at the time of writing; check Notion’s current plan limits if you share the workspace with others.
Can I track multiple currencies?
Each number property has one currency format. Add an “Original currency” select and a converted amount property, or keep separate databases per currency.
How do I handle refunds?
Log a refund as an Income transaction in the same category, or as a negative expense if you prefer. Adjust the Spent formula to subtract Income rows if you choose the first option.
Explore more systems in Notion planners & habit trackers and the Notion systems hub.