Guide

How to Import Your Portfolio from a CSV (Without Losing Your Mind)

Get your entire investment history into one place — without handing over your login credentials to anyone.

If you've ever tried to consolidate years of trades from multiple brokers into a single spreadsheet, you already know the pain. Dates in three different formats. Currencies mixed together. Dividend rows that don't match any buy order. The goal of this guide is simple: help you import portfolio CSV data into WealthFlow accurately, so every return figure, cost basis calculation, and tax estimate you see is actually trustworthy.

No broker credentials are ever required — or even requested. WealthFlow's privacy stance is that your login details stay with you, always. CSV is the clean, auditable alternative.


Why the CSV Format Still Matters

Broker apps come and go. APIs break. Platforms get acquired. A well-structured CSV file, on the other hand, is a permanent, human-readable record of your investment history that you own outright.

More practically: if your IRR or cost basis is wrong, the most common culprit is a gap or error in your transaction history — a missed reinvested dividend, a stock split that wasn't recorded, or a purchase from five years ago that never made it into your current tracker. Why your portfolio return is wrong often comes down to exactly this kind of missing data.

Getting the CSV import right is therefore not a one-time admin chore. It's the foundation everything else — performance, tax reporting, goal tracking — is built on.


What WealthFlow's CSV Format Expects

WealthFlow uses a standardised transaction-based CSV structure. Each row represents one event: a buy, sell, dividend, fee, split, or transfer. The key columns are:

ColumnDescriptionExample
dateTransaction date (YYYY-MM-DD)2023-04-14
typeBUY / SELL / DIVIDEND / FEE / SPLITBUY
tickerExchange ticker or ISINVWCE or IE00B3RBWM25
quantityNumber of units (positive)12.5
pricePrice per unit in the transaction currency98.42
currencyISO 4217 codeEUR
feesTotal commission/fees for this row1.95
accountOptional label for the account/brokerDegiro
notesOptional free-text fieldReinvested dividend

⚠️ Important: Dates must be in YYYY-MM-DD format. Mixed formats (DD/MM/YYYY in some rows, MM/DD/YYYY in others) are the single most common cause of import errors and incorrect cost-basis sequencing.

You can download a blank template directly from the Import screen inside WealthFlow. Fill it in, or adapt your broker's export to match it.


Step-by-Step: Cleaning Your Broker Export Before You Import

Most brokers let you export a transaction history as CSV or Excel. The raw export almost never matches WealthFlow's format directly. Here's a practical cleaning workflow:

  1. Export everything, not just recent trades. IRR and FIFO cost basis depend on the full history. A purchase from 2018 affects the tax calculation on a sale in 2026.
  1. Standardise the date column. Open the file in a spreadsheet app and reformat the date column to YYYY-MM-DD. In Excel: select the column → Format Cells → Custom → type YYYY-MM-DD.
  1. Map your broker's transaction types to WealthFlow's types. Common mappings:
  1. Handle splits explicitly. If your broker records a 4-for-1 split as a single "adjustment" row, create a SPLIT row with quantity = 4 (the ratio) on the split date. WealthFlow will then adjust all prior cost-basis lots automatically. See stock splits and dividends record-keeping for the full logic.
  1. Separate fees from price when your broker bundles them. Some brokers report a single "gross amount" that includes commission. Split these: calculate the clean price per unit, put the fee in the fees column. Bundled fees inflate your cost basis incorrectly and understate your real return.
  1. Assign an account label to every row. If you're importing from multiple brokers at once, this is how WealthFlow knows which positions belong where — useful for the multi-brokerage tracking view.
  1. Check for duplicate rows. Some broker exports repeat rows if you export overlapping date ranges. Sort by date + ticker + type and scan for exact duplicates before importing.

A Concrete Example: Three Years of an ETF Position

Say you hold VWCE (Vanguard FTSE All-World Acc, ISIN IE00B3RBWM25) bought in three tranches across different brokers:

datetypetickerquantitypricecurrencyfeesaccount
2022-01-10BUYIE00B3RBWM2510104.20EUR2.00Degiro
2023-06-15BUYIE00B3RBWM25891.50EUR1.50Degiro
2024-11-20BUYIE00B3RBWM255118.00EUR1.50IBKR

After import, WealthFlow calculates:

IRR: the discount rate at which the net present value of all cash flows (purchases as negative, current value as positive) equals zero — calculated per asset, per account, and for the whole portfolio.

Because VWCE is an accumulating ETF, there are no dividend rows to worry about here. If you held a distributing share class instead, each dividend payment would be its own DIVIDEND row — important for both return accuracy and tax records. Accumulating vs distributing ETFs explains why this distinction matters for your after-tax return.


What to Watch Out For (Honest Limitations)

Currency conversion rows. If you funded a USD account by converting EUR, your broker may show a "FX conversion" row. These are not investment transactions — exclude them, or log them as a cash transfer. WealthFlow handles multi-currency conversion at the position level using daily rates; you don't need to pre-convert prices.

Investment funds tracked by NAV/ISIN. If you hold mutual funds or pension sub-funds that aren't exchange-traded, use the ISIN as the ticker. WealthFlow looks up NAV prices by ISIN for supported funds. If a fund isn't found automatically, you can enter prices manually.

Very old or reconstructed history. If you're importing trades from before 2010 and you no longer have the original confirmations, be transparent with yourself: estimated cost-basis data produces estimated tax figures. Flag those rows in the notes column so you remember the uncertainty later.

This is not tax advice. FIFO, average cost, and other cost-basis methods are treated differently across European jurisdictions, and the rules change. The FIFO tax-report CSV WealthFlow generates (available on Pro) is a calculation tool — always verify with a tax professional or your local authority. For a general orientation, capital gains tax in Europe is a useful starting point.


After the Import: What to Check First

Once your CSV is uploaded, spend five minutes on these sanity checks:

If something looks off, the Import History screen shows each row that was processed and any warnings raised. Fix the source CSV, re-import, and the previous import is replaced cleanly.

From there, you can layer on WealthFlow's other features: benchmark comparison against an index, price alerts, an income calendar for dividends, and financial goals tied to specific positions. The data quality you put in at the CSV stage is what makes all of those features meaningful.

Ready to See Your Real Returns?

Once your CSV is imported, WealthFlow calculates IRR per asset automatically — and Pro users can export a FIFO tax-report CSV whenever they need it.

Start for free →
CSV import portfolio tracker cost basis IRR FIFO transaction history multi-currency