How to Read an Interactive Brokers Activity Statement

Jul 23, 2026

Convert your bank statement to Excel now

PDF, JPG, PNG, BMP, HEIC, TIFF, MT940

Upload your bank statement

Last updated July 2026.

An Interactive Brokers activity statement is not one report. It is a set of independent reports that share a cover page, and reading it gets much easier once you stop trying to follow it top to bottom. Each section covers one kind of activity, has its own columns, and stands on its own. The cash report is the section that ties them together, and it is the one to check first.

The sections, and what each one is for

Account information identifies the account, the base currency, and the statement period. Worth a glance to confirm you are looking at the period you think you are, especially when several statements are open at once.

Net asset value shows what the account was worth at the start and end of the period, broken down by asset class. This is the summary an advisor or a client actually reads. It answers what happened, not why.

Trades lists every execution: date and time, symbol, quantity, trade price, proceeds, commission, and realized profit or loss where the position closed. On an active account this is the longest section by a wide margin, and it is the source for any gain and loss schedule.

Dividends and payments in lieu of dividends are reported separately, and the distinction matters. A payment in lieu arises when your shares were lent out over the record date, and it is not a qualified dividend, so it is treated differently for tax. If you flatten the two together you will misstate the character of the income.

Withholding tax covers amounts withheld at source, usually on foreign positions. Anyone claiming a foreign tax credit needs this section at line level rather than as a total.

Interest covers both credit interest on cash balances and debit interest on margin. Both directions appear here, so read the sign rather than assuming.

Fees covers market data subscriptions, exchange fees, and any other account level charges. Small numbers that add up over a year, and easy to overlook when they never get posted to the books.

Deposits and withdrawals is the cash you moved in and out. This is the section a bookkeeper cares about most, because it is what has to tie back to the bank.

Cash report reconciles the account's cash from opening to closing balance, broken down by currency. This is the control total for the whole statement.

Which section should I check first?

The cash report. If it reconciles from the opening balance to the closing balance, every cash affecting section beneath it is complete, because those sections are what the reconciliation is built from. If it does not reconcile, stop and find out why before using any other number on the statement. Checking the cash report takes under a minute and it validates everything else, which is a good trade.

Why does the IBKR CSV look broken in Excel?

Because the CSV is not one table. The activity statement export writes each section one after another into the same file, and every section has a different number of columns with different meanings. The first column names the section and the second marks the row as Header or Data, which is how software is supposed to tell the sections apart. A spreadsheet has no such logic. Excel takes the first header row it finds and applies it to the entire file, so everything after the first section lands under the wrong labels. The same thing defeats a plain pandas read_csv call for exactly the same reason.

The fix is to split the file by section before doing anything else, since rows belonging to the same section are consecutive and each section starts with its own header row. If you would rather not write that parser, converting the statement produces the same result directly: upload the PDF or the CSV to an Interactive Brokers statement converter and each section comes back as its own properly columned table.

Activity statement or Flex Query?

Both live in Client Portal under Performance and Reports. The activity statement is the standard report, downloadable as a PDF or a CSV, and it is the document you send to a client or an accountant because it looks like what it is. A Flex Query is a customizable extract where you choose exactly which sections and fields appear, output as XML, CSV, or delimited text.

Flex is the better tool for anything you will run repeatedly, because you configure the shape once and the output is consistent. It has one limitation that catches people out: the longest single period is the last 365 calendar days. Multiple years means several runs, configured identically, then stitched together. If the field selections differ even slightly between runs, the files will not stack.

There is a third situation neither tool covers. If the account is closed, the reporting tools are gone, and whatever statement you saved at the time is the only surviving record. The same applies when you are the accountant rather than the account holder: you were forwarded a PDF, you do not have the login, and asking for portal access to a client's brokerage account is a conversation most preparers would rather avoid.

Multi currency accounts

IBKR accounts commonly hold several currencies at once, and the statement reports cash activity per currency with separate conversions into the base currency. This is correct and useful, and it is also where careless flattening does the most damage. Summing a cash column across denominations produces a number that is not money in any currency. Keep the currency label attached to every cash row, and do the base currency conversion deliberately rather than by accident.

Using the statement for taxes

The activity statement is working detail, not a tax form. Interactive Brokers issues the relevant year end tax forms separately and those are what get filed. What the activity statement gives you is the underlying evidence: matching lots, checking wash sale adjustments against your own trade log, separating qualified dividends from payments in lieu, and pulling withholding tax by position for a foreign tax credit.

All of that needs rows. Convert the annual statement, sort the trades section by symbol and then date, and the schedule largely builds itself. The cash report gives you the year's deposits and withdrawals to reconcile against your bank records, which is often the step that surfaces a transfer nobody booked. Where a client sends the statement bundled with the rest of a year's paperwork, running the whole envelope through document data extraction first saves opening each file twice.

If the account sits inside an entity

Traders operating through an LLC, funds, and family offices have to post this activity to a general ledger rather than just file the statement. Once the sections are separated the split is natural: the cash report drives the bookkeeping entries, the trades section drives the investment schedule, and fees and interest go straight to expense. Other custodians work the same way, so the Schwab and Fidelity converters cover the rest of a multi custodian book, and brokerage statement conversion covers the general case.

Ready to convert your bank statement?

Upload a PDF and get clean Excel or CSV in seconds. Works with statements from any bank.

Convert to Excel now

Free to try, no credit card required

From the same family of tools