How to Structure Your Notion Finance Database for the Best Analytics
Updated: April 6, 2026

If you want clean finance analytics in NotionStats (income vs expense, spending by category, payment method breakdowns, and net worth over time), your Notion database needs a few key properties with the right types and conventions.
If you want to skip setup, you can duplicate my ready-to-use Notion Finance / Transactions template and customize it.
Table of Contents
- Schema in 60 Seconds (Copy This)
- Step 1: Create the “Transactions” Database
- Step 2: Add the Required Properties (Must-Have)
- Step 3: Add Optional Properties (For Better Breakdown Charts)
- Step 4: Data Entry Rules That Keep Analytics Accurate
- Step 5: Map These Columns in NotionStats
- Troubleshooting / FAQ
Schema in 60 Seconds (Copy This)
Create one Notion database named Transactions (or “Finance”) and add these properties.
- Required
- Name: Title
- Date: Date
- Amount: Number (positive for income, negative for expense)
- Recommended (for breakdown charts)
- Category: Select (e.g., Rent, Groceries, Salary, Subscriptions)
- Payment Type: Select (e.g., Cash, Debit, Credit Card, Bank Transfer)
- Subcategory: Select (optional, e.g., Groceries → Produce)
Step 1: Create the “Transactions” Database
In Notion, create a new database called Transactions.
- Add a Table view for editing.
- (Optional) Add a Calendar view using Date to browse spending by day.
Step 2: Add the Required Properties (Must-Have)
These are the minimum columns needed for core finance analytics like totals, averages, and net worth over time.
Date (Date)
- Type: Date
- What it means: the date the transaction occurred (or posted)
Amount (Number)
- Type: Number
- Convention:
- Income = positive (e.g., (+2500))
- Expense = negative (e.g., (-45.20))
Many finance charts in NotionStats infer income/expense from the sign of Amount.
Step 3: Add Optional Properties (For Better Breakdown Charts)
If you want charts like “Income sources”, “Spending by category”, or “Expenses by payment type”, add these as Select properties (not plain text) so grouping is consistent.
Category (Select)
- Type: Select
- Examples:
- Income: Salary, Freelance, Interest
- Expense: Rent, Groceries, Transport, Subscriptions
Subcategory (Select)
- Type: Select
- Examples:
- Groceries → Produce, Snacks, Household
- Transport → Fuel, Transit, Parking
If you don’t need a second layer of detail, you can skip Subcategory.
Payment Type (Select)
- Type: Select
- Examples: Cash, Debit, Credit Card, PayPal, Bank Transfer
Step 4: Data Entry Rules That Keep Analytics Accurate
These are the most common reasons finance analytics look wrong.
- Keep Amount signed
- Don’t store expenses as positive numbers unless you also add a separate “Type” field and always filter correctly.
- Use one currency per database (recommended)
- If you mix currencies in the same Amount column, totals won’t be meaningful.
- Use Select for grouping fields
- Category/Payment Type/Subcategory should be Select to avoid typos creating “duplicate categories”.
Step 5: Map These Columns in NotionStats
When creating finance charts in NotionStats, map columns like this:
- Date Column →
Date - Amount / Amount Column →
Amount - Category →
Category(for category-based charts) - Payment Type →
Payment Type(for payment-type charts) - Subcategory →
Subcategory(for subcategory charts)
Some card charts also let you set a Starting Balance inside NotionStats to compute net worth from a baseline.
If you’re new to NotionStats setup, start here: Guide to adding analytics to your Notion.
Troubleshooting / FAQ
My income vs expense chart looks inverted
Check Amount sign. Income must be positive and expenses must be negative.
Category charts are messy / duplicated
Make sure Category is a Select property and you’re consistently using the same options.
Net worth over time has gaps
Make sure every transaction row has a valid Date. Date-based charts can’t bucket rows without dates.
Suggested Posts

How to Structure Your Notion Subscription Database for the Best Analytics
Set up a single Notion Subscriptions database that unlocks accurate spend, renewals, and breakdown analytics in NotionStats.
Read more
How to Structure Your Notion Habit Tracker Database for the Best Analytics
Set up a Notion Habit Log database that unlocks completion rates, streaks, and consistency analytics in NotionStats.
Read more
How to Structure Your Notion Fitness Database for the Best Analytics
Set up a Notion workout log (and optional body metrics log) to unlock training volume, strength, and progress analytics in NotionStats.
Read more