CSV Import
If you have a history of trades from your broker, you can import them all at once using Metrifly's CSV import wizard. This saves hours of manual data entry and gets your portfolio up to date quickly.
Supported File Formats
- CSV (Comma-Separated Values) -- The most common export format from brokers
- XLSX (Excel spreadsheet) -- Also supported
- Maximum file size: 5 MB
Before You Start
- Export your trade history from your broker's website or app. Look for options like "Export Trades", "Download Transaction History", or "Export to CSV".
- Open the file in a spreadsheet application (Excel, Google Sheets) to confirm it contains the columns you need.
Required Data
Your file must contain these data points for each transaction:
| Data | Description | Example |
|---|---|---|
| Transaction type | BUY or SELL | BUY |
| Ticker symbol | The stock's ticker | CBA, AAPL |
| Date | When the trade occurred | 2024-03-15 |
| Quantity | Number of shares | 100 |
| Price | Price per share | 105.50 |
Optional Data
| Data | Description |
|---|---|
| Exchange | Stock exchange (ASX, NYSE, etc.) |
| Fee / Brokerage | Transaction fee |
| Currency | Trade currency |
| Amount | Total transaction value |
| Notes | Any notes about the trade |
Step-by-Step Import Process
Step 1: Start the Import
- Navigate to your portfolio page.
- Click Import (or navigate to the import page from the portfolio menu).
- You will see the import wizard.
Step 2: Upload Your File
- Click Upload File or drag and drop your CSV/XLSX file onto the upload area.
- Metrifly reads the file and detects its structure.
If your broker is supported, select the broker preset from the dropdown before uploading. This automatically maps columns to the correct fields, saving you from manual mapping. Supported presets include common brokers like CommSec, Interactive Brokers, SelfWealth, and others.
Step 3: Map Column Headers
Metrifly needs to know which columns in your file correspond to which transaction fields.
- For each Metrifly field (Type, Ticker, Date, Quantity, Price, etc.), select the matching column from your file using the dropdown.
- If you selected a broker preset, most fields will be pre-mapped. Review them and correct any that are wrong.
- Fields marked with an asterisk (*) are required.
Column mapping tips:
- Type column: Should contain values like "Buy", "Sell", "BUY", "SELL". Metrifly recognises common variations.
- Date column: Supports most date formats (DD/MM/YYYY, MM/DD/YYYY, YYYY-MM-DD, etc.).
- Price column: Can be the per-share price or the total trade value -- map accordingly.
- If your file does not have a column for a field (e.g., no fee column), leave that mapping blank.
Step 4: Review Transactions
After mapping, Metrifly validates every row in your file and shows a review screen with colour-coded rows:
| Colour | Meaning | Action |
|---|---|---|
| Green | Valid transaction, ready to import | No action needed |
| Amber | Potential duplicate (matches an existing transaction by ticker, date, quantity, and price) | Review -- uncheck if it is a genuine duplicate |
| Red | Invalid data (missing required fields, unparseable date, etc.) | Cannot be imported; fix in your source file and re-upload |
- Review the list of transactions.
- Uncheck any rows you do not want to import (e.g., duplicates or trades you want to skip).
- Check the summary at the bottom: total rows, valid rows, duplicates, and invalid rows.
- Click Import to proceed.
Step 5: Import Processing
After clicking Import, Metrifly processes your transactions asynchronously:
- Transactions are saved to your portfolio.
- Holdings are created or updated for each ticker.
- Market prices are fetched for all tickers.
- Exchange rates are fetched for multi-currency transactions.
- Portfolio snapshots are generated.
- Benchmark data is collected (if benchmarks are configured).
- Dividend history is synced for your holdings.
This processing happens in the background and typically takes 30 seconds to a few minutes depending on the number of transactions and tickers.
You can navigate away from the import page while processing is underway. Your portfolio will update automatically when processing completes.
Step 6: Verify Your Import
After processing completes:
- Go to your portfolio page.
- Check that all expected holdings appear in the holdings table.
- Click on individual holdings to verify transaction counts and quantities.
- Review the portfolio summary cards for reasonable values.
Handling Import Issues
Duplicate Detection
Metrifly identifies potential duplicates by comparing:
- Ticker symbol
- Transaction date
- Quantity
- Price
If a row matches all four fields with an existing transaction, it is flagged as a duplicate (amber). You can still import it if it is genuinely a separate transaction (e.g., you bought the same stock twice on the same day at the same price).
Invalid Rows
Common reasons for invalid (red) rows:
- Missing ticker symbol
- Unparseable date format
- Non-numeric quantity or price
- Unrecognised transaction type
Fix: Correct the issues in your source file and re-upload. Invalid rows are not imported but do not block valid rows from importing.
Partial Imports
If some rows are invalid, Metrifly imports only the valid rows. You can fix and re-import the invalid rows separately.
Tips for a Smooth Import
- Start with a small test -- Import a few transactions first to verify the mapping is correct before importing your full history.
- Check date formats -- If dates are being parsed incorrectly, adjust the format in your spreadsheet before uploading.
- One file per portfolio -- Each import goes into the currently selected portfolio. Switch portfolios before importing if you have trades for different portfolios.
- Include fees -- If your broker export includes brokerage fees, map that column so your cost basis is accurate.
- Currency column -- If your file has trades in multiple currencies, ensure the currency column is mapped correctly.
Troubleshooting
| Problem | Solution |
|---|---|
| File upload fails | Check that your file is under 5 MB and is a .csv or .xlsx file. |
| All rows show as invalid | Your column mapping may be incorrect. Go back to the mapping step and verify each field. |
| Dates are wrong | Your date format may not be auto-detected correctly. Try reformatting dates to YYYY-MM-DD in your spreadsheet. |
| Holdings are missing after import | Processing happens in the background. Wait 1-2 minutes and refresh the page. |
| Quantities or prices look wrong | Check if your broker uses total amounts vs per-share prices. Ensure the correct column is mapped to "Price". |
| Duplicate warning for new transactions | If the ticker, date, quantity, and price all match an existing transaction, it is flagged. Import it if it is a separate trade. |
Related Guides
- Adding Transactions -- Manual transaction entry for individual trades
- Editing and Deleting Transactions -- Fix mistakes after importing
- Understanding Holdings -- How imported transactions create holdings