How to import more than one year of IBKR history
4 min read · Updated 8 September 2026
Interactive Brokers limits every statement export to a single year of data. If you have been trading for five years, there is no export button that gives you all of it at once — but there is a straightforward way to assemble the full record.
The one-year cap
The limit applies per export, not per account, and it applies to both the on-demand Activity Statement and Flex Queries. So the approach is simply to run the export once per year and import each file.
Use calendar-year boundaries — 1 January to 31 December — rather than rolling twelve-month windows. Calendar years tile cleanly with no gaps, they line up with how you will think about the results later, and they make it obvious at a glance which years you have already loaded.
Exporting year by year
- 1
Start from the earliest year you want
Run an Activity Statement for 1 Jan to 31 Dec of that year, in English, in CSV.
- 2
Import it, then move forward one year
Repeat for each subsequent year. Importing in chronological order is not strictly required, but it makes the running totals easier to sanity-check as you go.
- 3
Finish with the current year
For the year in progress, export from 1 January to today — or better, connect a Flex Query so the current year keeps itself up to date from then on.
Why overlapping ranges are safe
If you export 1 Jan–31 Dec 2024 and then, months later, a "last 12 months" range that reaches back into 2024, the same trades appear in both files. PaprBoard detects duplicate trades on import and discards them, so overlapping date ranges never double-count. After each upload you are shown how many new trades were added and how many duplicates were ignored.
This matters more than it sounds. Deduplication is what makes it safe to be sloppy with date ranges — you can re-import a year you are unsure about rather than carefully reconstructing what you have already loaded.
If trades still look missing
- Check the query period. A Flex Query set to a fixed window like "Last Business Week" excludes the current week. Use "Last 30 Calendar Days".
- Check the date range covered. The trades you are looking for have to fall inside the range you exported.
- Today's trades will not be there. The Activity statement only covers up to the previous business day; you need a Trade Confirmation query for same-day fills.
- Check the report sections. A statement exported without the Trades section imports cleanly and contains no trades.
Related guides
How to export an IBKR Activity Statement as CSV
How to run and download an Activity Statement from the IBKR Client Portal in CSV format, which report sections to include, and what each section is used for.
How to get today's IBKR trades in realtime with a Trade Confirmation query
Why today's fills are missing from your IBKR activity statement, and how a second Trade Confirmation Flex Query imports them in realtime without double-counting.