The free Notion budget template to try first is Notion's own Monthly budget template, rated 4.81 from 499 reviews on the Notion Marketplace. Keep it, or any template, past the first month only if it logs one page per transaction with a Date, an Amount and a Category, because its views, filters, charts and formulas all work from those three. If a template fails that check, I'd build two databases, Transactions and Categories: a handful of properties and four short formulas, and you'll know where every number comes from.
For a single month on one page, choose Notion's Monthly budget: income in one table, expenses in another, with sums at the bottom. For spending by category that still adds up in month three, build the two-database setup below, or duplicate a template only if it already keeps transactions and categories in separate databases. For investments, net worth or automatic bank imports, a free template won't get you there; look at the paid trackers in the second table, and read the bank section first, because any bank feed comes from a tool outside Notion.
Notion budget templates, rated
Notion's Top 10 Free Budget Templates collection is the closest thing to an official shortlist. Here is how each of its ten templates is rated on its own marketplace page. All ten are free.
| Template | What its page says it's built around | Listed price | Rating | Reviews |
|---|---|---|---|---|
| Monthly budget (by Notion) | An Income table and an Expenses table, with sums at the bottom | Free | 4.81 | 499 |
| 50/30/20 budget tracker | The 50/30/20 split in its name | Free | 4.87 | 198 |
| Simple Budgeting | The 50/30/20 rule | Free | 4.73 | 56 |
| college budgeting template | Not stated | Free | 4.85 | 34 |
| Budget Planner | Not stated | Free | 4.87 | 23 |
| Budget Tracker | Quick Weekly Expense Overview | A weekly expense overview, per its name | Free | 4.7 | 10 |
| Budget Planner (w/ charts) | Charts, per its name | Free | 4.2 | 10 |
| How To Budget | Not stated | Free | 4.875 | 8 |
| Budget Tracker - RyanOS | Not stated | Free | 5.0 | 5 |
| Budget tracker | Not stated | Free | No rating | None |
Nine of the ten carry a rating. Their median is 4.85, they range from 4.2 to 5.0, and together they hold 843 reviews. Monthly budget alone accounts for 499 of them, about 59% and more than twice the 198 behind the 50/30/20 budget tracker. That's why I'd start there: its score rests on the widest base in the set.
What the ratings show, and what they don't
These are user ratings on Notion's marketplace, so they measure satisfaction with a template, not whether its budget math still holds in month three. Eight of the nine rated templates sit between 4.7 and 5.0, so the stars barely separate them. Four of the nine rest on ten reviews or fewer, and the 5.0 for Budget Tracker - RyanOS comes from five people, which is a weak signal in either direction. The collection itself is Notion's selection rather than a ranking. Use the ratings to shortlist, then run the five-minute check below.
Paid finance trackers the roundups name
Search for the best Notion finance tracker and the roundups point to Gumroad trackers. Here are four of them, with the listed price, rating and review count each sale page shows. Gumroad pages can offer more than one tier, so the price is the one the page lists.
| Tracker | Seller | Listed price | Rating | Reviews | Roundup that names it |
|---|---|---|---|---|---|
| Finance Tracker | Easlo | $39 | 4.9 | 134 | productivetemply |
| Notion Finance Tracker for Free | Solt Wagner | $0 | 5.0 | 153 | solt.ws |
| Ultimate Finance Tracker Notion Template | Solt Wagner | $29 | 4.7 | 33 | solt.ws, productivetemply |
| Notion Planner : 2025 Finance Brain | OlsNotion | $59.99 | 5.0 | 10 | solt.ws, productivetemply |
Read the roundups with their sellers in mind. The solt.ws finance tracker roundup shares its name with the Solt Wagner store that sells two of these trackers, and it lists the Ultimate Finance Tracker first. Another ranking page, notionfinancetracker.com's budget template list, includes its own tracker at "$29 one-time" and says plainly, "Full disclosure: this is my product." The productivetemply finance template roundup says "I've verified the features listed directly from each product page", so it compares features as advertised. Its "4.9-star rating from 134 reviews" for Easlo's tracker matches the sale page.
I'd pay for a tracker only when its sale page lists something you'd otherwise have to build, such as account balances or net worth, and only if its transactions still sit one page per row with a Date, an Amount and a Category. Ten reviews behind a 5.0 tell you as little as they do for the free templates.
The five-minute check for any template
Duplicate the template, open its transactions database and answer five questions:
- Does each transaction have its own page with a Date, an Amount stored as a Number and a Category? Two tables with a sum at the bottom pass for one month, but they can't easily compare months.
- Is Category a relation to a Categories database, or a Select? A relation lets each category hold its own monthly budget. A Select is simpler, and a tag has nowhere to store a budget amount.
- Is "spent" a rollup Sum or a figure filtered to one month? A rollup Sum adds every related transaction you've ever logged.
- Does the layout depend on charts, and does your plan allow them? The Free plan gets one chart.
- Will it take your bank's CSV? Merge with CSV adds rows to an existing database, so the template needs one transactions database whose property names your CSV headers can match.
A template that passes all five is worth keeping. If it fails the first or third question, I'd build instead, because fixing month logic inside someone else's formulas means learning their whole structure first.
Build it: two databases and four formulas
The whole budget is two databases joined by one relation. If relations are new to you, how relations and rollups join two databases walks through the mechanics; the budget needs only the setup below.
| Database and property | Type | Why it's there |
|---|---|---|
| Transactions: Name | Title | What the money went to, such as "Weekly groceries" |
| Transactions: Amount | Number, currency format | A positive amount on every row; Type says which way the money moved |
| Transactions: Date | Date | Every month formula reads it |
| Transactions: Category | Relation to Categories, limited to 1 page | One category per expense; left empty on income |
| Transactions: Type | Select: Income, Expense | Keeps income out of spending totals |
| Transactions: Month | Formula | Year and month as text, for the chart's X axis |
| Transactions: This month | Formula | A checkbox that's on for transactions in the current month |
| Categories: Name | Title | Rent, Groceries, Dining out and so on |
| Categories: Monthly budget | Number, currency format | The planned amount for one month |
| Categories: Transactions | Relation, the other side of Category | Lists every transaction in the category |
| Categories: Spent this month | Formula | This month's related amounts, added up |
| Categories: Left this month | Formula | Monthly budget minus Spent this month |
Notion's database property reference says a Number property "can also be formatted as currency", which is all Amount and Monthly budget need. Notes and receipts go in each transaction's page body, or in a File property if you want them in a column.
- Create Categories with Name and Monthly budget, and add one page per category.
- Create Transactions with Amount, Date and Type.
- In Transactions, add a new property, search for Relation and pick Categories. Turn on the toggle that says Show on Categories and name that side Transactions. Limit the relation to 1 page so an expense can't land in two categories, then click Add relation.
- Add each formula from the slider icon at the top of the database: Edit properties → New property → Formula → Edit formula.
Keep savings goals out of Categories, since a goal tracks progress toward a total while a category budget is a limit that starts over every month.
The four formulas
On Transactions, Month turns the date into year-and-month text:
formatDate(prop("Date"), "YYYY-MM")
This month compares that text with today's. The formula syntax reference describes today() as returning "the current date without the time", and the result is a checkbox:
formatDate(prop("Date"), "YYYY-MM") == formatDate(today(), "YYYY-MM")
Comparing year and month together keeps last April out of this April. The month formulas all read Date, so give each transaction one; if a date formula throws an error, the date, text and empty-input fixes cover the usual causes.
On Categories, Spent this month filters the related transactions to the current month, takes their amounts and adds them up:
sum(prop("Transactions").filter(formatDate(current.prop("Date"), "YYYY-MM") == formatDate(today(), "YYYY-MM")).map(current.prop("Amount")))
Read it from the inside out. prop("Transactions") is the list of related pages, filter() keeps the ones in this month, map() turns each into its Amount, and sum() adds the list; Notion's reference shows sum() taking a list, as in sum([1, 2, 3], 4, 5) = 15. The same filter-then-map pattern for a filtered rollup works on any relation, and how current.prop() reads each related page explains the current keyword.
Left this month is a subtraction. A negative result means the category is over budget:
prop("Monthly budget") - prop("Spent this month")
Why a rollup Sum isn't a monthly figure
The obvious build is a rollup that sums Amount across the relation, with a remaining-budget formula on top. productivetemply's beginner guide does exactly that: "a formula that calculates remaining budget (Budgeted minus the rollup sum)". Notion's relations and rollups help describes Sum as one that "Computes the sum of the numeric properties for related pages", and that means every related page: March, April and each month after. The remaining budget keeps shrinking and never starts over. If you already have a total like that and it looks off, reconciling a rollup sum against its linked amounts is a separate fix.
Charts give a second reason to use the formula. Notion's chart help says axes "won't be able to show rollups", so a rollup-based Spent figure couldn't be charted anyway. The other workaround is a Months database that every transaction relates to; it works, but it adds one more relation to fill on every row, so I'd stay with the date formula.

A sample month, worked through
Here's the build with made-up amounts, so you can check each formula by hand. There are four categories and eleven transactions across March and April of the same year, and today falls on April 20.
| Date | Name | Category | Type | Amount |
|---|---|---|---|---|
| Mar 1 | Rent | Rent | Expense | $1,200.00 |
| Mar 8 | Weekly groceries | Groceries | Expense | $142.50 |
| Mar 14 | Dinner out | Dining out | Expense | $38.00 |
| Mar 15 | Design app subscription | Software | Expense | $24.00 |
| Apr 1 | Rent | Rent | Expense | $1,200.00 |
| Apr 5 | Weekly groceries | Groceries | Expense | $118.40 |
| Apr 9 | Dinner out | Dining out | Expense | $64.75 |
| Apr 10 | Client payment | None | Income | $3,000.00 |
| Apr 15 | Design app subscription | Software | Expense | $24.00 |
| Apr 17 | Weekly groceries | Groceries | Expense | $87.10 |
| Apr 18 | Dinner out | Dining out | Expense | $52.00 |
| Category | Monthly budget | Spent, all-time rollup | Spent this month | Left this month | Budget minus rollup |
|---|---|---|---|---|---|
| Rent | $1,200.00 | $2,400.00 | $1,200.00 | $0.00 | -$1,200.00 |
| Groceries | $400.00 | $348.00 | $205.50 | $194.50 | $52.00 |
| Dining out | $100.00 | $154.75 | $116.75 | -$16.75 | -$54.75 |
| Software | $50.00 | $48.00 | $24.00 | $26.00 | $2.00 |
| Total | $1,750.00 | $2,950.75 | $1,546.25 | $203.75 | -$1,200.75 |
Dining out is $16.75 over budget this month. The rollup version calls it $54.75 over, because March's $38.00 dinner still counts, and it says Groceries has $52.00 left when $194.50 is. Rent shows the trap at its plainest: the rollup column says you're $1,200 over on a rent you paid exactly once this month.
The client payment touches no category, so it never reaches Spent this month. It would reach a careless footer, though: the This month table below, filtered to expenses, totals $1,546.25, the same as the Spent this month column. Drop the Type filter and the footer reads $4,546.25. On May 1, Spent this month starts again from May's transactions alone.

Views and a chart
Each view should answer one question, and a budget has two: what did I spend this month, and what's left in each category? Add a view with + next to the database name. For the other layouts, choosing a database view for the question covers when each one fits.
This month, in Transactions
- Click + next to the database name, choose Table and name it This month.
- Open Filter under View settings → Add advanced filter, and join two rules with And: This month is checked, and Type is Expense.
- Click the Amount column, hover over Calculate and select Sum. The footer now shows this month's spending.
Notion's views and filters help documents the advanced filter's AND and OR groups, and the table help lists Sum among the calculations for Number columns.
What's left, in Categories
The default Categories table already does the job once Monthly budget, Spent this month and Left this month are visible. That's the view I'd open first, because it answers "What can I still spend?" in a single column. Add a Sum to the Monthly budget footer to see the month's total plan.
One chart, picked for the Free plan
Notion's chart help is direct about limits: "If you're on a Free plan, you can create one chart, and if you're on a paid plan, you can create unlimited charts." It adds, "If you're on a Free Plan, you can delete your one free chart to create and use another." So pick the one chart with care.
I'd make it a spending-by-month bar chart on Transactions. The Categories table already shows this month by category in numbers; the trend across months is what no table shows at a glance.
- Click + next to the database name and select Chart. In the settings menu at the top right, set the chart type to Vertical bar chart.
- Filter the view to Type is Expense.
- Under X axis, set What to show to Month, sorted ascending.
- Under Y axis, set What to show to Amount, shown as a Sum, with Group by set to None.
Month sorts in order because it starts with the year. Grouping by month also keeps you clear of the cap: charts "can only display up to 200 groups and 50 subgroups at a time (for example, 200 days on the X-axis)", so a daily axis fills up after about 200 days with spending.
On a paid plan, add a second bar chart on Categories with Name on the X axis and Spent this month on the Y axis. Axes can't show rollups or formulas that return a list, and Notion notes that formulas based on relations "may cause charts to take a little bit longer to load", which applies here. You also "can't edit database entries from chart view", so keep logging in a table. To see the chart next to your tasks, place it on a personal dashboard page.
Getting transactions in
By hand, or with a button
Typing rows into Transactions works, and it keeps you looking at every charge. To cut the clicks, put a Log expense button on your budget page: type /, select Button, name it, then choose New action → Add page to → Transactions and set Type to Expense. Notion's buttons help says Add page to "will add a page to a database of your choosing, and edit the properties of that page." You then fill in Amount, Date and Category on the new row. The person clicking "must be an editor of the target database", and the same help says pages a button adds or edits must not be Private or Shared, so check where your budget lives before you rely on the button. For when a button beats an automation, see Notion buttons versus database automations.
From a bank CSV
If your bank gives you a CSV, merge it into Transactions instead of typing. Notion's import help sets the rules, and imports run on desktop and web only.
- Clean the amount column first. The help says "If numbers aren't importing correctly (like $ amounts, %s, or negative values), map that column to Text instead", and a Text amount can't be summed. Strip currency symbols and thousands separators, turn debits into positive numbers, and add a Type column with Expense or Income.
- Rename the headers to your property names (Name, Amount, Date, Type). Notion asks that "your CSV headers match the database's property names exactly". Its import tips also state "Dates import in MM/DD/YYYY format", so convert dates written in another order.
- Open Transactions as a full page, click •• at the top of the database → Merge with CSV, and match each CSV column to a property. "Rows import as pages. Columns import as properties."
- Merge one statement period at a time. "Imports add rows. They don't update existing rows, so watch for duplicates."
The help also says that when you add a CSV to an existing database, "you can map a CSV column to an existing relation property", so a Category column can map to the Category relation; spot-check a few rows afterward to confirm each one linked to the right category. Merging into the database you built has a second advantage: a brand-new CSV import "can't create new rollups or formulas", while a merge keeps the ones you already have.
Bank sync
Notion's importer covers file types such as .txt, .docx, .csv, .pdf and .zip and apps "like Confluence, Asana, Evernote, and Trello"; no bank appears on the list. productivetemply answers the bank-sync question with "Yes, though not directly through Notion. You'll need a third-party tool that connects your bank to Notion via the Plaid open banking protocol." notionfinancetracker.com frames it from the template side: "if you want bank syncing or automatic transaction imports, no Notion template can do that", and it points readers who want automatic imports to dedicated apps like YNAB or Monarch. Both hold: no template syncs, and anything that does is a separate service you connect to your bank on its own terms. I'd start with CSV merges, because they keep that connection out of your workspace.
Bills that repeat
For rent or a subscription that bills on the same day each month, add a database template in Transactions named Rent with Name, Amount, Type and Category filled in. Then open the dropdown next to New, select ••• next to the template, and set Repeat to monthly. Notion's database template help warns against filling a relation in a template "unless you want every page you create with that template to relate to the same existing page(s)"; here that's the point, since every Rent row belongs to Rent. The same rule explains why every new task can link to the same client when nobody meant it to. Check the Date on each new Rent page, since the month formulas read nothing else, and see scheduling a repeating database template for the timing options.
Notion or a spreadsheet for budgeting?
Use Notion when the budget belongs next to the rest of your work. Each transaction is a page that can hold notes and a receipt, it can relate to a client or project, and the views and chart sit in the workspace you already open. Use a spreadsheet when the numbers are the whole job. productivetemply says "Excel and Google Sheets remain better for complex calculations", names pivot tables and statistical analysis as examples, and adds that "If you're tracking thousands of transactions across many years, a spreadsheet will perform better than a Notion database." It also says "Notion's database entry requires more clicks, though buttons and forms can speed this up."
I'd keep a personal or freelance budget in Notion if you already plan your week there, because a budget one click from your tasks is a budget you'll check. I'd move it to a spreadsheet when you need pivot tables or many years of transactions in one place.
Business money for freelancers
Keep business and personal transactions in the same Transactions database with an Account select (Business, Personal), and add Account to the filter of each view. A separate business database makes sense once you want different categories, budgets and views for the business side. I'd start with one database, because a CSV from a card you use for both merges once instead of twice. Which expenses count for taxes is your accountant's call; the Account select only keeps the two apart. For the client side of the business, Notion templates for freelancers compares CRM, project and invoice options by workflow.
Which setup to choose
- One month at a time, no category budgets: Notion's Monthly budget template.
- Category budgets you'll keep for months: the two-database build, the This month view and one bar chart by month on the Free plan.
- A template you already like: keep it if it passes the five-minute check; if its "spent" figure is a rollup Sum, swap in the Spent this month formula.
- A freelancer mixing business and personal: the build plus an Account select.
- Investments, net worth or bank sync: a paid tracker whose sale page lists those features, or a spreadsheet, with any bank feed coming from a third-party tool.