Guides

Importing a DeGiro CSV

DeGiro does not offer an API, so your portfolio comes in as a CSV export. Getting the right file, with the right date range, is what makes the difference between accurate figures and quietly wrong ones.

DeGiro blocks automated access, so there is no live connection to build. Instead you export a CSV and upload it. Gylder never asks for your DeGiro credentials, and never logs in on your behalf.

Two details decide whether the import is accurate, and both are easy to get wrong. You need the Account CSV rather than the Portfolio one, and it has to cover your entire history rather than the last month.

Export the file

In DeGiro: Inbox → Account → Export.

Before exporting, set the date range by hand:

  • From: the day you opened your DeGiro account
  • To: today

DeGiro defaults to the last month. That default is the single most common cause of wrong numbers after an import, for a reason worth understanding.

Why the full history matters

Gylder does not read a snapshot of what you currently hold. It reconstructs your portfolio from the transactions themselves: every buy, sell, dividend and fee, applied in order.

That is what makes cost basis, realised return and holding period possible at all. It is also why a partial file cannot work. If your CSV starts three years after you bought a position, Gylder sees the sales but not the purchase, so the cost basis is wrong, and every figure derived from it is wrong by the same amount. Nothing about the display will look broken.

Gylder shows a confirmation dialog before the file picker for exactly this reason. It is not boilerplate.

Account CSV, not Portfolio CSV

DeGiro offers two exports and they are easy to confuse.

The Account CSV is a transaction ledger, which is what Gylder needs. The Portfolio CSV is a snapshot of current holdings, with no history in it.

Upload the wrong one and the import is rejected with a message naming the right one rather than importing something misleading. The file also has to be a .csv under 5 MB.

What happens after you upload

The upload itself takes a couple of seconds. Gylder parses the file, works out your positions, prices them, writes the transaction history and takes a snapshot of today's balances.

Then a second phase runs in the background, and this is the part people misread as a bug: filling in historical prices for the securities you imported. A portfolio with several years of history across many holdings can take up to a minute. While it runs, the account shows a loading state.

Two outcomes are worth recognising:

Unpriced positions. If Gylder cannot reach a price for a holding, it shows the position as unpriced rather than showing it as €0. A position worth nothing and a position we could not price are different things, and showing the second as the first would quietly understate your net worth.

Partial pricing. If some securities got historical coverage and others did not, the account is flagged as partial rather than silently presented as complete.

Re-importing later

Import again whenever you want to bring the picture up to date. Export the full history again, from account opening to today, not just the period since your last import. The same reconstruction runs over the whole ledger, so a full file is always the correct file.

There is also a Recalculate history action on the accounts page. It rebuilds your historical net worth from the transactions and prices already stored, without a new upload. Use it if your chart looks wrong further back but your current positions are right.

If your numbers look wrong

Work through these in order:

  1. Check the date range you exported. Nearly every discrepancy traces back to this. Re-export from your account opening date and upload again.
  2. Check you exported the Account CSV. If it imported at all, this was probably right, but it is worth confirming.
  3. Give the background pricing time. A large first import genuinely takes up to a minute, and the chart fills in as it completes.
  4. Check for unpriced positions before concluding a total is wrong.

What is not covered

The import covers your DeGiro portfolio and its cash. It does not create a live connection, so nothing updates on its own between imports, and prices for the securities you hold update daily from Gylder's own pricing rather than from DeGiro.

Was this helpful?