- Export
- Activity Statement · CSV
- Find it in
- Performance & Reports → Statements
- Plan
- Every plan, including Free
- Each file
- Up to 4 MB and 2,000 rows
- Steps checked
- 22 October 2026, on a real account
- How well it's tested
- Checked on real data. See the record on the broker page
Export the file from Interactive Brokers
Open Statements
Sign in to the IBKR Portal and open Performance & Reports, then Statements. If your Portal has a Menu button at the top left instead, it is under Reporting → Statements.
Hold more than one account? Pick one in the account selector at the top of the page. Leaf Edge reads one account per file.
Run the Activity Statement
Under Default Statements, find Activity Statement and press the blue Run arrow on its right.
Pick the period and download the CSV
Set Period to Year to Date for this year so far, or choose Custom Date Range and enter the From and To dates. Then press Download CSV.
Your browser saves a .csv file named after your account number and the dates it covers. Upload it as it is: opening and saving it again in a spreadsheet can change the columns Leaf Edge reads.
Import it into Leaf Edge
Open Upload File in Leaf Edge
Sign in to Leaf Edge and open Sync in the top bar. Choose Upload File. File import works on every plan, including Free.

Drop the file in
Drag the file onto Upload Trading Statement, or click the box to choose it. Leaf Edge recognises an export from Interactive Brokers by what is inside it, so there is nothing to pick first. Each file can be up to 4 MB and 2,000 rows.

Check the preview
Nothing is saved yet. Review Import counts the rows as New, Unchanged, Corrections, Skipped and Rejected, and lists each row with its reason. Read every skipped and rejected row before you go on.
Forex rows in an IBKR statement are currency conversions, not positions, so the preview counts them under Skipped by design.
If the file holds trades in a currency your journal doesn't have yet, the preview says so. They keep their own currency, and your P&L is shown in the one currency you pick from the filter bar, converted at the European Central Bank's reference rate on the day each trade closed.

Commit the import
Press Commit import to save the trades, or Cancel preview to leave your journal as it was. Leaf Edge pairs the fills into round trips, so you will usually see fewer trades than the file has rows.
Changed your mind? Undo imported trades appears straight after an import, until your next upload and as long as you haven't started reviewing those trades.

History longer than one file
Each file can be up to 4 MB and 2,000 rows; a bigger one is refused rather than cut short. For more history, run the statement with Custom Date Range once per stretch, a quarter or a year at a time, and import the files one by one, oldest first. Keep the ranges from overlapping.
Cover each position from the day you opened it. A file that starts after a position opened holds the closing trade but not the opening one, so Leaf Edge marks that history as incomplete instead of inventing a result for it.
IBKR keeps custom date ranges for the current year and the four calendar years before it (IBKR: Statements (opens in a new tab)).
What an Activity Statement brings in
- Stocks (warrants count as stocks), and equity and index options.
- Futures are listed in the preview but not imported: this statement doesn't carry their contract multipliers. A Flex Query does (below).
- Forex rows are currency conversions, not positions, so every route skips them. CFDs and crypto aren't imported.
- A statement that holds more than one account is refused. Run it for one account at a time.
- IBKR's times carry no time zone, and Leaf Edge reads them as New York time. Compare one trade's time with IBKR's after your first import.
- Anything else the file holds is listed in the preview with the reason it was left out.
US stock and ETF trades can be shown on delayed US-equity history (T+1) in the Charts beta, with your fills marked; it isn't live data. There are no option, futures or warrant bars. See Charts for what the beta covers.
Other ways in from Interactive Brokers
- A Flex Query file, for futures. In Performance & Reports → Flex Queries, create an Activity Flex Query for one account with the Trades section, and choose XML as the format. Run it with the blue Run arrow and upload the .xml file the same way as the statement. The Flex Web Service guide lists the fields to include. Include Open/Close Indicator: Leaf Edge leaves out a fill when it can't tell whether it opened or closed a position.
- Flex Web Service, on Pro and Ultimate. Leaf Edge fetches your Flex reports itself, with a Flex token and two query IDs, whenever you press Fast Sync or Full Sync. See the Flex Web Service guide.
- Auto-sync, on Pro and Ultimate: a read-only connection through SnapTrade. On Free the broker picker shows it as Auto-sync · Pro. SnapTrade updates transactions once a day, a day behind, and brings no futures. After you connect, Interactive Brokers data can take 1–2 business days to appear. See the SnapTrade guide.
Use one way in for each account. A file import and a SnapTrade connection for the same account can count the same trade twice.
If the import doesn't work
- “This Interactive Brokers Activity Statement has no trades.” The period you picked has none. Run the statement again for a period that includes your trades.
- The file is too large. Each file can be up to 4 MB and 2,000 rows. Run the statement for a shorter date range.
- Leaf Edge can't read the trades in it. Download the CSV again and upload it untouched. If it still fails, export a Flex Query as XML instead, or write to us.
Common questions
- Is the IBKR import free?
- Yes. Uploading an Activity Statement or a Flex report works on every plan, including Free, and it doesn't use a broker connection. Flex sync, where Leaf Edge fetches your Flex reports for you, needs Pro or Ultimate.
- Which IBKR report should I upload?
- An Activity Statement downloaded as CSV, for stocks and options. If you trade futures, upload a Flex Query report as XML instead, because an Activity Statement leaves out futures' contract multipliers. Run either one for one account at a time.
- Why are my futures missing?
- An Activity Statement doesn't carry futures' contract multipliers, so the preview lists futures rows but doesn't import them. A Flex Query report does carry them: upload one as XML, or use Flex sync on Pro.
- Does Interactive Brokers import automatically?
- Not by itself. Flex sync on Pro and Ultimate runs when you press Full Sync or Fast Sync; scheduled imports are off. A read-only SnapTrade connection, also on Pro and Ultimate, updates once a day, a day behind.
Where these steps come from
We followed these steps on a real Interactive Brokers account on 22 October 2026. Menus move from time to time; if yours doesn't match, these pages have the current path:
- IBKR: Run a Statement (opens in a new tab) · updated 27 April 2026
- IBKR: Statements (opens in a new tab) · updated 30 October 2025
- IBKR: Create an Activity Flex Query (opens in a new tab) · updated 22 July 2026
- IBKR: Run a Flex Query (opens in a new tab) · updated 25 February 2026
Sources read on 22 October 2026.
Next
Then review your first trade
Once your trades are in, each one has its own page: link it to a playbook or mark it as an honest skip, grade it, and note what you planned, what you did and what you learned. How a trade review works.