Trading 212 will give you your entire history as a CSV — every buy, sell, dividend and deposit since you opened the account. It takes about a minute, and there are two settings on that screen that decide whether the file is actually usable.
The steps
- Open Trading 212 — the web app is easier for this than the phone.
- Go to History.
- Choose Export.
- Set the date range to cover everything, starting before you opened the account.
- Tick every row type on offer — orders, dividends, transactions, interest.
- Confirm, and Trading 212 prepares the file. Large histories arrive by email rather than downloading immediately.
The two settings that matter
The date range must cover everything
This is the single most common mistake, and it is silent — you get a valid CSV containing part of your history, and nothing anywhere says so.
A range starting in January gives you a file with no record of the shares you bought last year. Anything reading it sees sells with no matching buys and a cost basis that cannot be computed. Set the start date to before you opened the account; there is no penalty for asking for more than exists.
Tick every row type
The export screen lets you choose which kinds of row to include, and each one you leave off removes something downstream:
| Row type | What is lost without it |
|---|---|
| Orders | Everything — no buys or sells means no positions at all |
| Dividends | Dividend history, yield on cost, the payment calendar |
| Transactions | Deposits and withdrawals, so no return calculation that accounts for contributions |
| Interest | Interest paid on uninvested cash |
The deposits row is the one people leave out, because a deposit does not feel like part of a portfolio. It is what makes a time-weighted return possible — the calculation breaks the period at every cash flow, so it has to know when the cash flows happened. Without them, only a simple gain-over-deposits figure can be produced, which is the number that misleads in the first place.
What is in the file
One row per event, oldest first, with an Action column describing what happened — “Market buy”, “Limit sell”, “Dividend (Ordinary)”, “Deposit” — plus the ticker, share count, price, currency and a timestamp.
It is a transaction log, not a snapshot of what you hold. That is the more useful of the two: current positions can be derived from a complete history, while a history cannot be recovered from a list of positions. It is why cost basis, realised gains and dividend totals are computable from this file and not from a screenshot of your portfolio screen.
Things worth knowing before you look at it
- Two currencies per row. A US stock bought from a euro account has a price in dollars and a total in euros, with the rate used in its own column. Both are needed; a calculation using only one of them silently mixes currencies.
- Stock splits appear as a pair of rows. A close and an open, not a single adjustment. Counting only one side leaves the share count wrong from the split onwards.
- Fractional shares are normal. Share counts run to many decimal places. Rounding them to whole numbers breaks the arithmetic on every position.
- The column set is not stable. Exports taken a year apart differ in which columns are present. Anything reading the file should match on column names rather than positions.
If you have several exports
Older exports covering earlier date ranges are still useful — upload them together with the current one. Overlapping ranges are fine as long as whatever reads them removes duplicate rows, which is what makes it safe to keep re-exporting from the account opening date every time.
Isle of Man, and the account you actually have
Trading 212 operates through more than one entity, and CFD and Invest accounts export separately. If you hold both, they are two files, and the CFD history is a different instrument type — combining them into one position list produces something that describes neither account.
HaboFi reads this file directly — no broker login, no API key. Upload it and the positions, cost basis, dividend history and time-weighted return are reconstructed from the transaction log.
Try HaboFi free