How to export an IBKR Activity Statement as CSV
5 min read · Updated 8 September 2026
The Activity Statement is the complete record of what happened in your Interactive Brokers account over a date range — trades, positions, cash movements, and the P&L that ties them together. Exporting it as CSV takes about a minute, and the only thing worth being careful about is which report sections you include.
Exporting the statement
- 1
Log in to IBKR Client Portal
Use your normal Interactive Brokers credentials.
- 2
Go to Performance & Reports → Statements
This is where IBKR keeps the on-demand report runner, separate from the saved Flex Query templates.
- 3
Choose Activity Statement and click Run
Set the date range you want. Remember that IBKR caps a single export at one year of data.
- 4
Set Language to English and Format to CSV
Language matters more than it looks: IBKR localises the section headers inside the file, and importers key off the English ones.
- 5
Download the file
You now have a CSV you can upload to PaprBoard or open in a spreadsheet.
The report sections you need
An Activity Statement is a bundle of sections, and you can choose which ones to include. For a complete analysis, make sure the export contains all of these:
- Account Info — identifies the account and its base currency.
- Net Asset Value — the account value at the start and end of the period.
- Change in NAV — how the account got from one to the other, which is what makes deposit-adjusted returns possible.
- Open Positions — everything you were still holding at the end of the range.
- Trades — every execution, with price, quantity, commission, and currency.
- P/L Summary — realised and unrealised profit and loss.
- Cash Transactions — deposits, withdrawals, dividends, interest, and fees.
Leaving out Change in NAV or Cash Transactions is the most common cause of numbers that look almost right but not quite: without them, a deposit is indistinguishable from a gain, and your return gets overstated.
CSV or XML — does it matter?
Both work. CSV is what the on-demand Activity Statement runner produces and is the easier one-off export. XML is what Flex Queries deliver, and it is the format you get if you automate retrieval through Flex Web Service. PaprBoard accepts either.
The practical rule: use CSV when you are backfilling history by hand, and set up a Flex Query in XML when you want the data to keep itself current.
Related guides
How to import more than one year of IBKR history
IBKR caps each statement export at one year. Here is how to export year by year, merge the files into one continuous record, and why overlapping ranges do not double-count.
How to set up an IBKR Flex Query and Flex Web Service token
Step-by-step guide to enabling IBKR Flex Web Service, generating a token, creating an Activity Flex Query in XML, and choosing a query period that never drops recent trades.