Importing your trades from Schwab, Fidelity or a CSV file
Bring your transaction history into Portfolio Tracker in a few minutes — directly from a Schwab or Fidelity export, or from any source using the simple template.
Last reviewed 2026-09-17
Portfolio Tracker doesn't connect to your brokerage. That's deliberate: it never needs your brokerage login. Instead, you download your transaction history from your broker as a CSV file and import it. The file is read in your browser and never uploaded anywhere.
Which files work
| Source | How it's recognised |
|---|---|
| Charles Schwab transaction history | Automatically, from Schwab's column layout |
| Fidelity account activity | Automatically, from Fidelity's column layout |
| Anything else | Use the Portfolio Tracker template (below) |
Step 1 — Download your history from your broker
Sign in to your broker's website, open the transaction history or activity page for the account, choose the widest date range available, and download or export it as CSV. Brokers move these options around from time to time; searching their help pages for "export transaction history" usually finds the current steps.
Get the full history if you can. The app works out cost basis by replaying every buy and sell in order. If a file starts partway through, sales of shares bought before that date have nothing to match against. See "Unmatched sells" below.
Step 2 — Import into the right account
- Open Portfolio Tracker and go to the Transactions tab.
- If you track more than one account, first choose the account in the account selector in the sidebar.
- Click Import CSV and choose your file.
- Check the imported rows in the Transactions list and the totals on the Overview tab.
If the file name contains your account number, the app routes it to the matching account automatically.
Using the template for other sources
For any other broker, a spreadsheet you already keep, or entries by hand, click Template in the Transactions tab to download a starter CSV. The columns are:
Type,Date,Symbol,Shares,Price,Total
buy,2024-01-15,AAPL,10,185.00,1850.00
sell,2024-06-01,AAPL,5,200.00,1000.00
deposit,2024-01-01,CASH,,,5000.00
- Type is one of
buy,sell,depositorwithdraw. - Date is best written as
YYYY-MM-DD. - For deposits and withdrawals, leave Shares and Price empty and put the amount in Total.
- The template also has columns for lot details on sales. You can leave them empty: the app works them out from your buys.
Things worth knowing
Re-importing is safe
Importing the same file twice doesn't create duplicates, and neither does an overlapping date range. Rows already imported are recognised and skipped. Genuinely repeated trades, like two identical purchases on the same day, are kept.
Money market funds count as cash
Fidelity's core cash positions, such as SPAXX and FDRXX, are treated as cash rather than as holdings, which is how most people think of them.
Unmatched sells
If the history shows a sale of shares with no earlier purchase — usually because the file doesn't reach back far enough — the sale is kept and marked unmatched instead of being dropped. Tick ⚠ Unmatched only in the Transactions tab to find them, then fix them by importing an older file or adding the original purchases by hand.
Your data stays yours
Imported transactions are stored in your browser only. To keep a copy — and you should — use Settings → Data → Backup → Save Portfolio Data. The backup is a small file you can store wherever you like. It never contains your API keys.