Trading 212's history export is thorough (trades, dividends, deposits and interest all in one file), with one catch: every amount is positive, and the direction lives in the Action column. Map that correctly and the rest is mechanical.
Step 1. Export from Trading 212
- On desktop: open History from the menu, then Export. (Mobile: menu → History → the export icon.)
- Pick the period, one export covers at most 12 months, so a three-year-old account needs three files.
- Tick every data type you want: Orders, Dividends, Transactions, Interest, some are unticked by default.
- Export; the CSV lands in your export list. This works for Invest and ISA accounts (CFD has no export).
Step 2: what's in the file
The columns that matter for a portfolio import:
| T212 column | What it holds |
|---|---|
| Action | The row type: Market buy, Limit sell, Dividend (Ordinary), Deposit, Withdrawal, Interest on cash… |
| Time | YYYY-MM-DD HH:MM:SS, in UTC |
| ISIN, Ticker, Name | The instrument, fully identified |
| No. of shares | Quantity, fractional shares supported, always positive |
| Price / share | In the instrument's own currency |
| Total | The cash that moved, in your account currency, positive for buys AND sells |
| Withholding tax | Tax already taken off a dividend |
| ID | A unique row id, handy if you ever de-duplicate overlapping exports |
Step 3: map it onto the Pulse template
Download Pulse's import template and translate row by row:
| Pulse column | From Trading 212 |
|---|---|
date | The date part of Time |
deal_type | From Action: Market/Limit buy → BUY · Market/Limit sell → SELL · Dividend (…) → DIVIDEND · Deposit/Withdrawal → CASH · Interest on cash → DIVIDEND |
ticker_symbol | Ticker (leave empty on DIVIDEND and CASH rows, name the stock in the comment instead) |
amount | No. of shares (empty on cash rows) |
price | Total, with the sign fixed: make buys and withdrawals negative; sells, dividends and deposits stay positive |
transaction_fee | 0, T212's Total is the cash that actually moved, fees (conversion fee, stamp duty) already inside it. Listing them again here would double-count them |
asset_type | STOCK or ETF for trades; CASH for dividends, deposits, withdrawals and interest |
comment | Name (so a dividend row still says which stock paid it) |
The sign fix is the whole trick: T212 reports magnitudes and lets Action carry the direction, while Pulse's price column is a signed cash flow, money leaving your account is negative. A Market buy with Total = 500.00 becomes price = -500.00; a Deposit of 1000.00 stays 1000.00.
Two example rows:
2026-03-03,BUY,VUAA,5,"-540.25",0,ETF,Vanguard S&P 500 (from Market buy · Total 540.25)
2026-03-28,DIVIDEND,,,"4.12",0,CASH,AAPL dividend (net of withholding)
Step 4: upload
In Pulse: Transactions → Import, drop the CSV (all your yearly files at once is fine), and check the preview. Deposits should classify as contributions, and the total invested figure shown should match what you've actually paid in.