How to export your portfolio from DEGIRO, XTB, IBKR and Revolut

The files are the same shape underneath. Only two things differ per broker, and neither can be guessed from the outside.

· 8 min read

DEGIRO, XTB, Interactive Brokers, Revolut and Trade Republic all export a transaction history. None of them agree on what to call the columns, and several export in whatever language your account is set to — which is why an importer that only recognises one broker’s wording fails on all of them.

The fix is not more guessing. It is asking you two questions about your own file, once.

What every broker export has in common

Underneath the naming, the files are the same shape. One row per event, and each row carries:

  • a date, in one of about four formats
  • an action — what happened, in the broker’s own words
  • a ticker or ISIN
  • a quantity and a price
  • a total, usually in your account currency

Only two things differ in ways no amount of alias-matching can cover: the column headings, and the vocabulary in the action column. eToro writes “Open Position”. XTB writes “Stocks purchase”. A DEGIRO export in Dutch writes “Koop”. All three mean buy.

This is also why a broker’s export cannot simply be renamed to match another’s. The mapping is per file, and it is knowledge only the account holder has.

Which report to export

Brokers offer several downloads and they are not interchangeable. Broadly:

Report typeContainsUsable?
Transaction history / account statementEvery buy, sell, dividend, deposit, with datesYes — this is the one
Portfolio / positionsWhat you hold right nowNo — no history, so no cost basis
Tax reportRealised gains for one tax yearPartial — one year, already aggregated
Trade confirmationsIndividual contract notesUsually one file per trade

The one you want is the full transaction history, in CSV rather than PDF, covering the entire life of the account. A PDF statement contains the same facts and no reliable way to read them back out.

Where it lives, by broker

These interfaces change, and any article listing exact menu paths goes stale within months. What does not change is the name of the thing you are looking for, so this describes that instead.

DEGIRO

Under the account or inbox area, alongside your statements. DEGIRO distinguishes an Account statement (all cash movement, including dividends and fees) from a Transactions report (trades only). Take both if offered — the trades give you positions, the account statement gives you dividends and deposits. Exports arrive in the account’s language.

XTB

In the account history or reports section of the web platform. XTB writes actions in phrases such as “Stocks purchase” and “Stocks sale”, and separates cash operations from trades in some report types.

Interactive Brokers

Under Reports or Statements — IBKR calls its exports Activity Statements and is the most configurable of the group. Choose a custom date range covering the whole account and CSV as the format. Its flex queries can produce exactly the columns you want, which is a real advantage once you have set one up.

Revolut

In the investing section of the app rather than with your bank statements — the trading account exports separately from the current account. Revolut generally offers a full account statement for the investment account as both CSV and PDF; take the CSV.

Trade Republic

Historically the weakest of the group for exports, with statements delivered largely as PDF documents rather than a machine-readable history. Check whether a CSV transaction export has been added to your account before assuming one exists — this is the broker most likely to require manual entry.

The two questions

Once you upload a file that is not recognised automatically, the mapping screen asks:

  1. Which column is which? Your headers are shown with a best guess against each field. You correct the ones it got wrong, which is usually one or two rather than all of them.
  2. What does each action value mean? Every distinct value in your action column is listed with a row count, and you say whether each is a buy, a sell, a dividend, a deposit, a withdrawal, interest, or something to ignore.

The second list is shorter than people expect. A ten-year history usually contains six to ten distinct action values, and you classify a list, not a history.

Details that decide whether the numbers come out right

  • Decimal commas. European exports write “1.234,56” where US ones write “1,234.56”. Read wrongly, a thousand-euro trade becomes a one-euro trade. Detection is by which separator appears last in the number, which is reliable in both conventions.
  • Semicolon delimiters. A CSV from a European locale is frequently semicolon-separated, precisely because the comma is busy being a decimal point.
  • Date order. 03/04/2026 is 3 April to a European broker and 4 March to a US one. Where a file contains any day above 12 the order is provable; where it does not, the broker’s locale decides.
  • Negative quantities on sells. Some brokers write a sale as −10 shares, others as 10 shares with the action saying sell. Counted without noticing, a sale adds to your position.
  • ISIN instead of ticker. Common at European brokers. An ISIN identifies the security unambiguously, which is more precise than a ticker, but it has to be resolved to one before prices can be fetched.

Several brokers, one portfolio

If you hold positions at two brokers, export both and upload both. The histories merge into a single position list, and total return across the pair becomes computable — which is the thing neither broker’s own app can show you, because each one can only see its own half.

One trap: a transfer of shares between brokers looks like a withdrawal in one file and a deposit in the other. Classified literally, it registers as money leaving and separate money arriving, and both accounts’ returns come out wrong. Mark those rows as ignored — see the piece on cash flows for why that matters to the calculation.

HaboFi reads a Trading 212 export automatically and asks these two questions for any other broker. No broker login and no API key — a file you downloaded yourself, and nothing that keeps reading your account afterwards.

Try HaboFi free

Common questions

Which report should I export from my broker?

The full transaction history or account statement, as CSV rather than PDF, covering the entire life of the account. A positions or portfolio report shows only what you hold now and contains no history, so cost basis and past dividends cannot be recovered from it.

Why does my DEGIRO export have column names in Dutch?

DEGIRO exports in the language your account is set to, so headers and action values arrive in Dutch, German or whichever language you use. The file is still complete — it just cannot be recognised by matching against English column names, which is why the columns are mapped once by hand instead.

My CSV numbers look wrong after import. Why?

Usually the decimal separator. European exports write 1.234,56 where US ones write 1,234.56, and read under the wrong convention a thousand-euro trade becomes a one-euro trade. The related cause is the delimiter: European files are frequently semicolon-separated because the comma is already the decimal point.

Can I combine exports from two different brokers?

Yes, and it is the main reason to use a tracker at all, since neither broker's own app can see the other half. One thing to watch: a transfer of shares between brokers appears as a withdrawal in one file and a deposit in the other, and counted literally it distorts the return figures for both.

Does Trade Republic offer a CSV export?

Historically its statements have been delivered mainly as PDF documents rather than a machine-readable transaction history. Check whether a CSV export exists on your account before assuming one does, because it is the broker most likely to require entering positions by hand.

This article is general information about how these calculations work. It is not financial, investment or tax advice, and nothing in it is a recommendation to buy or sell any security. See our terms.

Read next

How to export your portfolio from Trading 212Trading 212 exports your whole history as a CSV. Two settings on that screen decide whether the file is usable, and both default to leaving things out.Why your Trading 212 return percentage is wrongTrading 212 shows a simple return that treats every deposit as if it had been there from the start. Here is what the number actually measures.