DEGIRO does not have an export. It has two, they contain different things, and the one most people take first is the one that leaves out every dividend they have ever received.
Neither file is wrong. They answer different questions, and DEGIRO does not tell you that on the download screen. Take both and the picture is complete; take one and you get a portfolio that is either missing its income or missing its positions.
Take both exports
| Export | What it contains | What it cannot tell you |
|---|---|---|
| Transactions | Every trade — buys and sells, with quantity, price and ISIN. | Dividends, fees, deposits, withdrawals. No cash movement at all. |
| Account statement | Every cash movement — dividends, withholding tax, fees, deposits, withdrawals. | Per-trade share counts and prices in a form that reconstructs positions cleanly. |
The trades give you what you hold and what it cost. The account statement gives you what it has paid you. Cost basis needs the first; yield on cost and dividend history need the second.
Where they are
Both sit in the account area of the DEGIRO web platform, in the same region as your statements and documents — depending on your country’s version of the site, under an Inbox, Documents or Account heading. Each takes a date range and offers CSV.
Three things that catch people out
The file arrives in your account’s language
DEGIRO exports headers and action words in whatever language your account is set to. A Dutch-registered account writes Koop and Verkoop where an English one writes Buy and Sell, and the cash rows arrive as Storting, Terugstorting and Dividendbelasting — deposit, withdrawal, and the tax withheld from a dividend.
This is the single biggest reason a DEGIRO file fails to import somewhere. Any tool that recognises brokers by matching English column names will not see a Dutch or German export as DEGIRO at all, and will either refuse it or, worse, quietly read it as something else.
The Transactions report names no action
There is no Buy/Sell column. A sale is recorded as a negative quantity, and that is the only thing distinguishing it from a purchase. Read without knowing that, a sale of 30 shares becomes a purchase of −30, and the position ends up wrong in both direction and size.
If you are mapping the file by hand somewhere, this is the detail to check first. If the resulting portfolio shows positions larger than you ever held, this is why.
Decimal commas and semicolons
A European DEGIRO export writes 1.234,56 where a US-format file writes 1,234.56. Because the comma is already doing the decimal-point job, these files are frequently semicolon-separated rather than comma-separated.
Opened under the wrong convention, a €1.234,56 trade reads as €1.23, and nothing about the file looks broken — the columns line up and the numbers are plausible. It is worth checking one known trade against the platform after any import.
The dividend tax rows
The account statement records withholding tax as its own row, separate from the dividend it was deducted from. Counted as income it inflates what you received; counted as a payment it looks like a fee you paid. Neither is right — it is a reduction of the dividend on the row above.
For which date a payment actually attaches to, see ex-dividend date versus pay date.
What to check once it is in
- A position you know well — share count and average price against the DEGIRO platform.
- Total dividends for a full past year. If it reads zero, you imported the Transactions file alone.
- Anything you have fully sold. It should appear in realised gains, not as a holding of zero shares.
HaboFi reads both DEGIRO exports automatically, in English or Dutch, and knows that a negative quantity in the Transactions file means a sale. Anything it does not recognise goes to a mapping screen that asks you two questions rather than refusing the file. CSV or Excel, no broker login and no API key — a file you downloaded yourself, and nothing that keeps reading your account afterwards.
Try HaboFi free