Skip to content

Import your trade history from a file

The fastest way to get your investments into Metrifly is to upload a file from your broker. By the end of this, your full trade history — every buy, sell, and dividend — will be in your portfolio, with prices, holdings, and performance filled in for you.

You can import a CSV or Excel file from almost any broker. Metrifly reads the file, works out which column is which, and shows you exactly what it found before anything is saved — so you always get a chance to review and correct it first.

A couple of things make the import go smoothly:

  • Pick a single portfolio, not a group. Import is only available when one portfolio is selected in the portfolio selector. In a group view, the import option is hidden.
  • Have your broker file ready. Export your trade history, confirmations, or activity from your broker as a CSV or Excel file. If your broker has a step-by-step export guide, follow that to get the right file.
  • Check the file. It must be a .csv, .xlsx, or .xls file, under 10 MB, with no more than 500 importable rows in a single import. Split larger exports into multiple files if you need to.
  • Keep the page open. Stay on the tab from upload through completion so you do not lose your place or interrupt final processing.
  1. Select the portfolio you want the trades to go into.
  2. Go to Transactions → Add Holdings.
  3. Either:
    • Under Add manually, select Upload a file, or
    • Open your broker, then select Upload a file (available on every plan, including Free). Direct link and contract-note sync still need Starter or above.

The Add Holdings page with the "Upload a file" card highlighted in the Add manually section (1)

  1. Drag your file onto the drop zone (1), or click Choose File to browse for it (2).
  2. If you came from a broker page, Metrifly shows that broker and export tips when available. Otherwise it works out the columns for you after upload.

The upload step with the drop zone highlighted (1) and the Choose File button highlighted (2)

Once the file’s read, you land on Review.

Review uses three tabs:

TabWhat it meansWhat to do
RejectedMissing or invalid data in one or more fieldsFix the highlighted fields and select the row, or delete it
AcceptedMapped to a complete, valid transactionPre-selected — skim for mistakes
DuplicatesLooks like a trade already in this portfolioLeft out by default — select only if it’s a separate trade

Skipped rows (footers, cash movements, empty sheets) stay under X rows skipped below the table.

You can’t continue to Confirm while Rejected still has rows — fix and select them, or delete them.

A rejected row is outlined so it stands out in the table (1) — hover over a red-outlined field to see why it’s flagged. Correct the problem directly in the table: pick the right instrument, adjust the date, type, quantity, or currency, or fill in a missing price or exchange rate (2). Once the row looks right, tick its checkbox to include it — it moves to Accepted.

A trade needing attention outlined in the table (1), with its blank Price field outlined in red (2)

Open the Duplicates tab. If a row looks like a trade you’ve already recorded in this portfolio (same instrument, date, type, quantity, and price), Metrifly leaves its checkbox unticked (1). Only tick it if it’s genuinely a separate trade.

Rows Metrifly didn’t treat as trades — blank rows, footers, cash-only entries, and similar — don’t appear in the tabs. Expand X rows skipped below the table to see each one with its sheet and reason (2). If you removed a row yourself, it’s listed separately under Removed by you, where you can restore it.

The unchecked CBA duplicate row (1) and the expanded skipped-rows list showing the Notes sheet's skip reason (2)

Above the table, Metrifly shows a summary of how it mapped each column, sheet by sheet. If it flags uncertain mapping, or a lot of rows are Rejected, the mapping is probably wrong rather than the data. Click Adjust mapping to open Adjust column mapping, re-map any column to the right field (1), then click Save and reprocess (2) to re-read the file with the corrected mapping.

The Adjust column mapping dialog with the mapping fields highlighted (1) and the Save and reprocess button highlighted (2)

When Rejected is empty and you’re happy with the selection, click Continue.

Confirm shows a summary card of what will happen — how many trades will import and how many duplicates are being skipped (1) — plus a read-only preview of the rows you selected. Check it over, then click Import (2). If you need to change anything, click Back to review.

The Confirm step with the summary card showing trades to import and duplicates skipped (1), and the Import button (2)

After you click Import, Metrifly saves your trades and then runs a short pipeline to fill everything in: it creates or updates your holdings, fetches prices and exchange rates, applies benchmarks, rebuilds snapshots, and loads dividends. For long date ranges this can take a few minutes.

When it’s done, you’ll see a summary card confirming how many transactions were imported (1), with options to Import More or Go to Portfolio (2).

The completed import summary card (1) with the Import More and Go to Portfolio buttons (2)

  • Multi-sheet Excel files are supported. Metrifly reads every sheet that looks like it contains trades and skips sheets that are empty or don’t look trade-like (with the reason shown in Review). If your workbook has a Combined sheet alongside individual market sheets, Metrifly imports only the Combined sheet and skips the others as superseded, since they’d otherwise duplicate the same trades.
  • A “Check symbol” pill on a holding means Metrifly couldn’t match that ticker to a priceable symbol — often because a broker export uses an internal scrip code. Fix the ticker, or re-import with the ISIN column mapped.
  • Individual enrichment steps can fail without failing the whole import. Your trades still save even if a later step, like dividends, doesn’t finish.
  • Your broker isn’t in the list? That’s fine — any broker that exports a CSV or Excel file works. See Find your broker’s export guide.
ProblemFix
The import option isn’t thereYou have a portfolio group selected. Switch to a single portfolio.
Your file is rejectedUse a .csv, .xlsx, or .xls file under 10 MB.
”Exceeds the 500-row limit” errorA single import can bring in at most 500 importable rows. Split your file into smaller ones and import them one at a time.
Rows from your Excel file are missingCheck the skipped-rows summary in Review — Metrifly skips sheets it doesn’t recognise as trade data, and skips individual market sheets when a Combined sheet is present.
Lots of rows show as needing attentionThe column mapping is probably off. Open Adjust column mapping, re-map the columns, and Save and reprocess.
”This looks like a full account statement”This statement layout cannot be imported yet. Choose Send this file for format support to share a sample with Metrifly, or choose Try another file and upload a trade export instead.
A holding shows Check symbol after importVerify the ticker and exchange, or re-import with an ISIN column mapped.
A holding’s exchange shows OTHER with the wrong currencyIt was imported before Metrifly supported that market. Delete the holding, then re-import the file — re-importing without deleting first is skipped as a duplicate.
Some trades look like duplicatesRows flagged Duplicate are possible repeats of trades already in this portfolio — only select the ones that are genuinely separate trades.
A banner on your portfolio says the last import failed or is still catching upIf it says the import failed, try again, or contact support if it keeps happening. If it says data is still catching up, your trades were saved — prices and analytics finish updating on their own shortly, with no action needed from you.