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. 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. 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. 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.

Put your statements to work

PaprBoard turns the export you just made into performance, positions, and a trade journal.