← All Tips

How to Build a Notion Expense Tracker (For Freelancers and Founders)

Step-by-step guide to building a Notion expense tracker with linked views, category filtering, a Monthly Summary rollup database, and a tax-prep export view.

Published June 29, 2026

Tracking expenses in a generic spreadsheet works — until it doesn't. You end up with a flat list of rows, no way to filter by project, no quick view of what's deductible, and a year-end tax sprint that takes half a weekend. If you're a freelancer or founder, your expense tracking needs more than a cell. It needs context.

That's where Notion has a real edge. Its relational database model lets you link expenses to projects, tag them by category, and create filtered views for any purpose — "show me all meals this month" or "show me every deductible contractor payment this year" — without pivot tables or formulas. Here's how to build a Notion expense tracker from scratch.

The Expenses Database

Create a new full-page database called Expenses. Add these properties:

  • Vendor — Text. The name of the company or person you paid.
  • Amount — Number, formatted as currency (USD or your local currency).
  • Category — Select with these options: Software, Travel, Office, Meals, Marketing, Contractor.
  • Date — Date property. Always fill this in — it drives every time-based view.
  • Payment Method — Select: Credit Card, Bank Transfer, PayPal, Cash.
  • Project — Relation to your Projects database. Links each expense to a client or internal project.
  • Deductible — Checkbox. Check this for every business expense you'll claim at tax time.
  • Receipt URL — URL. Paste the link to your receipt scan or email attachment.

Then add a formula property called Month:

formatDate(prop("Date"), "MMMM YYYY")

This generates a readable month label — "June 2026" — for every row, which you'll use to power the Monthly Summary database later.

Views to Build

A flat table is fine for data entry, but views are where Notion earns its real advantage over a spreadsheet.

Table view (default) — Sort by Date descending so the most recent expenses are always at the top. This is your primary data-entry view.

Gallery view, grouped by Category — Switch to Gallery layout and group by Category. Each category becomes a column of expense cards. You can see at a glance whether Software or Contractors is your biggest spend this month.

"This Month" filter — Duplicate the Table view and add a filter: Date is within the current month. Name it "This Month" and pin it to the top. One click shows only current-month expenses.

Board by Category — A Kanban-style board grouped by Category. Each column shows all expenses in that category. Less useful for data entry, but excellent for a quick visual budget audit.


Want a production-ready version of this system? The Personal Finance Tracker ($19) is a Google Sheets template with income tracking, expense categories, monthly budget view, and tax-prep export — ready to use in minutes.


Monthly Summary Linked Database

The Expenses database tracks individual transactions. The Monthly Summary database rolls them up into a per-month snapshot.

Create a second database called Monthly Summary with these properties:

  • Month — Text. Enter the month label (e.g., "June 2026") matching your Month formula output.
  • Total Spent — Rollup from the Expenses database, linked via the Month property. Set the rollup to sum the Amount field. This automatically totals every expense tagged to that month.
  • Budget — Number formatted as currency. Your spending target for the month.
  • Over Budget — Formula: prop("Total Spent") > prop("Budget") — returns true if you've exceeded your budget for that month.

Add a linked view of your Expenses database inside each Monthly Summary page, filtered to match that month's label. Clicking into "June 2026" now shows the rollup total, the budget, whether you're over, and every underlying transaction.

Template Button for Quick Entry

The friction of opening a database, adding a row, and filling out six fields is often enough to make people skip logging expenses. A template button eliminates most of that friction.

Create a template button (from the + New dropdown, choose "Template") with these fields pre-filled:

  • Category: your most-used category, or leave blank for user selection
  • Date: set to Today
  • Deductible: checked (most logged business expenses are deductible — uncheck the exceptions)

Name the button "Log Expense." One click, three fields pre-filled — just add Vendor and Amount. The entire entry takes under 20 seconds.

Tax-Prep View

Come year-end, you need one thing: a clean list of every deductible business expense, sorted by category, ready to hand to an accountant or drop into a tax return. Build this view now so you're not scrambling in January.

Add a new table view to your Expenses database:

  • Filter: Deductible is checked
  • Sort: Category ascending, then Date ascending
  • Visible columns: Vendor, Amount, Category, Date, Receipt URL

That's your tax export. Apply a year filter (Date is within 2026), hit Export → CSV, and you're done. The Receipt URL column means every line item links directly to its documentation — no hunting through email archives.


Building this yourself takes 45–60 minutes and gives you a system that lasts all year. If you'd rather skip the setup, the Personal Finance Tracker ($19) is a ready-made Google Sheets version with income tracking, monthly budgeting, and export-ready formatting built in. Download once, use every month.

Free Resource

Not ready to buy? Grab our free Notion Quick-Start Template

A no-fluff starter workspace to get organized in 30 minutes. Free, no credit card required.

Want a ready-built finance tracker?

The Personal Finance Tracker (Google Sheets) is a $19 template with income tracking, expense categories, monthly budget view, and export-ready formatting. Download once, use every month.