How to Build a Freelance Finance Tracker in Notion (Track Income, Expenses & Profit)
Are You Busy, or Are You Profitable?
You're sending invoices. Paying subscriptions. But at the end of the month, do you actually know your net profit? Or are you just checking your bank balance and hoping the number looks healthy?
Most freelancers operate in financial fog. You can't grow what you can't measure. I'll show you how to build a simple finance tracker in Notion that gives you complete clarity on your income, expenses, and real profitability—for free.
The Foundation: Building Your Two Money Databases
Your finance tracker needs two simple databases. No complex formulas, no accounting jargon.
Database 1: Income (Your Invoices)
Create a new full-page Table database named "Income". Set up these essential properties:
- Invoice # (
Title
) - Client (
Text
or ideallyRelation
to Clients DB) - Amount (
Number
, formatted as Currency) - Status (
Status
): Default Notion statuses often work well (e.g., To Do=Unpaid, In Progress=Sent, Done=Paid). Add a custom status like 'Overdue'. - Date Issued (
Date
) - When you sent the invoice. - Due Date (
Date
) - When payment is expected. This is crucial for tracking overdue invoices. - Date Paid (
Date
) - This is the critical date for accurate cash-based profit calculations.
Pro-Tip: Using the Status
property type allows for better workflow views later, like a Kanban board for your invoices.
Database 2: Expenses (Your Costs)
Create another new full-page Table database named "Expenses". Set up these properties:
- Expense (
Title
) - Amount (
Number
, formatted as Currency) - Category (
Select
): Be specific! Add options likeSoftware & Tools
,Marketing & Ads
,Office Supplies
,Professional Development
,Contractors
,Travel & Meals
,Bank Fees
,Insurance
, etc. - Date (
Date
) - When you paid. - Payment Method (
Select
, Optional): Add options likeCredit Card (Visa ending 1234)
,Business Checking
,PayPal
. Helps with reconciliation. - Deductible? (
Checkbox
, Optional): Mark expenses for easier tax prep. - Receipt (
Files & media
, Optional): Upload photos or PDFs of your receipts directly here.
Why categories matter: They reveal exactly where your money goes, enabling smarter spending decisions and easier tax filing.
The Magic: Creating Your Automated Monthly Profit Dashboard
Raw data is useless. This dashboard turns your databases into a financial command center. We'll explore two methods.
Quick Method: Group by Month (Fast Insights)
If you just want a quick overview of monthly totals without creating a new database:
- Create a linked view of your "Income" database.
- Click "Group" and group by
Date Paid
→ "By Month". - Enable
Sum
on the "Amount" column to see total income per month. - Repeat for "Expenses", grouping by
Date
→ "By Month".
This is fast for visualizing trends but doesn't easily calculate profit. For full automation, use the robust method below.
Robust Method: Monthly Summary Database (Full Automation)
This gives you a true, automated Profit & Loss statement.
Step 1: Create a "Monthly Summary" Database
Create a new full-page Table database named "Monthly Summary". In the "Name" (Title
) column, create entries for each month (e.g., "October 2025").
Crucially, add a Date
property named "Month" and set it to the first day of that month (e.g., for "October 2025", set the date to Oct 1, 2025). This allows for reliable sorting and filtering.
Step 2: Connect Your Money Databases with "Relations"
In your "Monthly Summary" database, add two Relation
properties: "Monthly Income" (linked to "Income" DB) and "Monthly Expenses" (linked to "Expenses" DB).
Now, go to your "Income" and "Expenses" databases. For each entry, link it to the correct month using the new relation property. This linking step tells Notion which income/expense belongs to which month's summary.

Step 3: Calculate Totals Automatically with "Rollups"
In your "Monthly Summary" database, add three more properties:
- A
Rollup
named "Total Income". Configure: Relation →Monthly Income
, Property →Amount
, Calculate →Sum
. - A
Rollup
named "Total Expenses". Configure: Relation →Monthly Expenses
, Property →Amount
, Calculate →Sum
. - A
Formula
named "Net Profit". Use:prop("Total Income") - prop("Total Expenses")
Congratulations. You've built an automated P&L. The Sum
calculation in the Rollups automatically totals only the items linked to that specific month's row via the Relation. When you add new entries and link them, the profit updates instantly.

Bonus View: Tracking Overdue Invoices
On your main Finance Dashboard page (or wherever you manage tasks), create another linked view of your "Income" database. Name this view "Overdue Invoices". Apply these filters:
Status
is notPaid
Due Date
is on or beforeToday
This view automatically surfaces invoices needing follow-up, ensuring you get paid faster.
Stay On Track: Your Monthly Financial Audit Checklist
A tracker is useless if you don't review it. Block 30 minutes each month for this check-in (build it as a Notion template!):
- [ ] **Reconcile:** Briefly cross-check Notion totals with bank statements.
- [ ] **Link Entries:** Ensure all Income/Expenses for the past month are linked to the correct "Monthly Summary" row.
- [ ] **Check Overdue:** Review your "Overdue Invoices" view. Follow up!
- [ ] **Review Top Expenses:** Group Expenses by
Category
and check theSum
. Any surprises? - [ ] **Analyze Profit Trend:** Look at the "Net Profit" in your Monthly Summary for the last 3 months. Growing? Stable?
This simple habit provides invaluable insights.
The Ultimate Shortcut: Want This System, Fully Integrated?
This automated finance tracker is incredibly powerful. But what if it could automatically link to your clients and projects, showing you profitability per-client and per-project?
I've already built these advanced connections for you. This fully automated finance system is a core, integrated component of my Ultimate Freelancer OS. You don't need to build the relations or formulas—just download the free template and start tracking.
Real-World Example: How This Tracker Changed My Pricing
When I first built this system, I discovered my favorite client was my *least* profitable. Meanwhile, a client I considered "just okay" had the highest profit margin. That insight changed my entire pricing strategy. You can't make these decisions from a bank balance. You need data. This tracker gives you that data.
You May Also Like
From Guessing to Knowing
Financial clarity is the difference between a freelance hustle and a real business. When you know your numbers, you price confidently, say no to unprofitable work, and sleep better knowing exactly where you stand.
- Mixing personal and business expenses: This creates tax headaches and distorts profit calculations. Best practice: Open a dedicated business bank account and use it *exclusively* for all business income and expenses. This makes tracking accurate and allows you to potentially deduct business bank fees.
- Forgetting to log expenses immediately: Small purchases add up. Make it a habit: buy something for the business, log it immediately on mobile.
- Using "Date Issued" instead of "Date Paid" for income: Filter by
Date Paid
for accurate cash-based profit. - Not reviewing monthly: Your tracker is useless without review. Block 30 minutes monthly.
Build this automated tracker today, or grab the fully integrated Freelancer OS and start tracking immediately. Either way, stop guessing. Start knowing.
Join the conversation