The short answer
- DeGiro produces two useful CSVs: a Portfolio export (what you hold now) and an Account statement (every transaction).
- The Portfolio export is faster. The Account statement is the one that carries your real cost basis and dividend history.
- Dutch and English exports format numbers differently.
1.674means 1,674 in a Dutch export — tools that guess per-value get this wrong. - DeGiro CSVs contain no ticker symbols, so any importer must match on product name and ask you to confirm.
- Re-importing later is safe: transactions are de-duplicated by order ID.
The two exports, and why the choice matters
DeGiro's web platform can produce several CSV files, and two of them are useful to a portfolio tracker. They are not interchangeable.
| Export | Contains | Best for |
|---|---|---|
| Portfolio | A snapshot: each position, quantity, current price and value, as of right now | Getting set up in under a minute |
| Account statement (transactions) |
Every buy, sell, dividend, fee and FX conversion, with dates | Real cost basis, historical performance and dividend history |
The distinction people regret later is this: a Portfolio export tells a tracker what you hold, but not what you paid or when. Import only that, and your profit-and-loss figures start from today — every holding looks like it was bought this morning at the current price. All historical performance is gone, and so is every dividend you have already received.
It takes the same thirty seconds to export and it carries your actual purchase history. You can always start with the Portfolio snapshot to see things working, then import the Account statement afterwards — a good importer will back-fill the history onto the positions you already have rather than duplicating them.
How the file is recognised
You do not have to tell Portfolio On Fire which export you picked. It reads the header row and works it out, because the two files have different columns:
- An Account statement is identified by a description column —
Omschrijvingin Dutch exports,Descriptionin English ones — alongsideProductand a date column (Valutadatum,DatumorDate). - A Portfolio export has
Producttogether with a quantity column (AantalorQuantity) and no description column.
Both language variants of every column are recognised, so you do not need to switch
your DeGiro interface to English before exporting. The columns read from an account
statement are the product name, the description, the value date, the time, the
quantity (Aantal / Quantity), the price
(Koers, Prijs or Price) and the total
consideration (Tegenwaarde, Bedrag, Waarde,
Amount or Value).
The number-format trap
This one is worth understanding even if you never use this app, because it silently corrupts data in tools that handle it naively.
An English DeGiro export writes numbers US-style: 1,234.56, and
117.48. A Dutch export writes them EU-style: 1.234,56 —
and, critically, writes a thousands-only value as 1.674.
Look at 1.674 in isolation and it is ambiguous. Read it as English and it
is one point six seven four. Read it as Dutch and it is one thousand six hundred and
seventy-four. A tool that inspects each value individually and guesses will read some
rows correctly and others wrong within the same file, producing a portfolio
that is subtly, invisibly incorrect — a holding off by a factor of a thousand,
sitting next to nine that are fine.
The convention is derived once, from the export language, and then applied to every
value in the file. If the header contains Dutch column names —
Omschrijving, Datum, Valutadatum,
Aantal or Koers — the whole file is parsed as EU
format. Otherwise it is parsed as US format. Consistency beats cleverness: the
language of the file is a reliable signal, and the shape of an individual number
is not.
Why you get asked to confirm tickers
DeGiro's CSV exports identify holdings by product name — free text like "ASML HOLDING" or "VANGUARD FTSE AW". They do not contain ticker symbols, and they do not contain ISINs in a form that maps cleanly to a market data provider.
That is a genuine limitation of the file, not of the importer, and it has a real consequence: something has to turn "VANGUARD FTSE AW" into a symbol that prices can be fetched for. Portfolio On Fire matches on normalised product name and then shows you what it resolved, so you can correct anything it got wrong before it is committed.
It is worth a moment's attention. A wrongly matched ticker does not fail loudly — it fetches prices for the wrong instrument and looks entirely plausible while doing so. Dual-listed shares and similarly named ETFs are the usual culprits.
Importing again later
Most people import once and then wonder what happens in three months when they have bought more. Re-importing an overlapping account statement is safe: transactions carry order IDs, already-imported IDs are remembered, and rows that have been seen before are skipped rather than added again.
This means the practical routine is simply to export a fresh account statement whenever you want to catch up and import the whole thing. You do not need to carefully select a date range to avoid overlap — overlap is handled. An import can also be run from a chosen start date against your existing positions, which is useful when you only want to top up recent activity.
Existing holdings are merged rather than replaced. Data the CSV does not carry — your own tags, list membership, notes, and the logos DeGiro exports never include — survives the import intact.
Step by step
- In DeGiro's web platform, export your Account statement as CSV (or the Portfolio export if you only want a quick snapshot). Pick a date range that reaches back to your first purchase.
- Get the file onto your device — email it to yourself, or save it to your cloud drive and open it from the Files app.
- In Portfolio On Fire, open the import screen and select the CSV. The export type is detected automatically.
- Review the resolved tickers. Correct any that look wrong, paying attention to dual-listed shares and similarly named ETFs.
- Confirm. Positions, cost basis and dividend history are built from the transactions.
The CSV is parsed on your phone. It is not uploaded for processing, because there is no server to upload it to — that is the whole architecture. A broker export is one of the most sensitive files you own; it should not need to travel to be read.
Troubleshooting
The file is not recognised at all
The header row is what identifies the file, so the usual cause is a CSV that has been opened and re-saved in a spreadsheet, which can rewrite the header or change the delimiter. Re-export from DeGiro and import the original file without opening it first.
Quantities look wrong by a factor of a thousand
That is the number-format issue above, and it means the file's language was misread. Re-export and import without editing the file, since editing it in a spreadsheet can change the number formatting to match your system locale rather than the export's.
A holding resolved to the wrong company
Correct the ticker at the confirmation step. If it has already been imported, correcting the symbol on the holding re-points the price lookup; the transaction history stays attached.
My broker is not DeGiro
Any portfolio you can export as JSON from a previous version imports directly, and manual entry detects countries, currencies and tickers for you. Native parsers for other brokers are added based on what people ask for — tell me which one you use.