
Notion doesn't have built-in stock tracking. But with the right database structure and an external integration for prices, you can build a portfolio tracker that stays up to date.
This guide covers the database setup, how to record trades, and your options for getting live prices.
The Trades database is where you record every investment transaction—buying shares, selling positions, or acquiring crypto. It's separate from your regular income/expense tracking because investments work differently: you're not spending money, you're exchanging it for assets that have fluctuating value.
Every buy or sell is a row. Here's the structure:
| Property | What it does |
|---|---|
Symbol | Ticker symbol (AAPL, MSFT, VTI, BTC) |
Account | Which investment account holds this position |
Category | Stock, ETF, Crypto, or Commodity |
Type | Buy or Sell |
Date | Trade date |
Quantity | Number of shares/units |
Price✨ | Price per unit (can be auto-updated) |
Value✨ | Calculated: Quantity × Price |
Currency✨ | Inherited from the linked Account |
The ✨ properties are formulas or auto-updated fields.
When you buy a stock:
Example:
Symbol: AAPL
Account: Vanguard Brokerage
Category: Stock
Type: Buy
Date: 2026-01-15
Quantity: 10
Price: 185.50
The Value✨ formula automatically shows $1,855.
When you sell, create another trade with Type: Sell. The system calculates your holdings by summing buys and subtracting sells.
You're not limited to stocks. Use the Category property to organize different asset types:
| Category | Examples |
|---|---|
| Stock | AAPL, MSFT, GOOGL |
| ETF | VTI, VOO, QQQ |
| Crypto | BTC, ETH, SOL |
| Commodity | Gold, Silver |
All four work with automatic price updates.
Notion is a database tool, not a financial data provider. It can't pull stock prices from the market on its own—there's no built-in connection to financial APIs.
This means if you just create a Trades database and add your holdings, the prices will stay frozen at whatever you entered. Your portfolio value won't update as markets move.
To get live prices, you need something external that:
Here are your options:
The app updates prices automatically in the background. You don't configure anything—prices refresh periodically for all your holdings.
Works with stocks (US, EU, Asia exchanges), ETFs, crypto, and commodities. One-time purchase ($29), no subscription.
A third-party service that syncs prices to a Notion database. You create a "Prices" database, add your tickers, and it updates every 30 minutes.
Pricing: €2.90/month or €27.90/year (subscription).
Setup:
Symbol and Price propertiesThen use a relation + rollup to pull prices into your Trades database.
For full control, use an automation tool with a financial API:
This requires more setup but gives you control over update frequency and data sources.
If your portfolio doesn't change often, you can update prices manually. Create a "Last Updated" date property to track freshness.
Not ideal for active tracking, but works for quarterly check-ins.
Once prices update, your portfolio value calculates automatically:
Portfolio Value = Sum of (Quantity × Price) for all holdings
Create a Notion view that:
Value✨If you're tracking net worth, your investment accounts should be part of the picture.
The key is linking trades to accounts:
Account relation)This way, when stock prices update, your net worth updates too. For the full setup:
Create these saved views in your Trades database:
| View | Filter/Group | Purpose |
|---|---|---|
| All Holdings | Group by Symbol, filter to net quantity > 0 | See current positions |
| By Account | Group by Account | See holdings per brokerage |
| By Category | Group by Category | Stocks vs ETFs vs Crypto |
| Recent Trades | Sort by Date descending | Review recent activity |
| Performance | Add gain/loss calculation | See winners and losers |
If you receive dividends, record them as income transactions linked to the investment account:
This keeps your account balance accurate and tracks income separately from capital gains.
Be realistic about what you're building:
Notion is good for seeing your portfolio at a glance and tracking against your overall finances. It's not a replacement for a brokerage dashboard.