IBKR's activity statement, section by section
July 2026 · 7 min read
The activity statement is the report Interactive Brokers gives you by default — the annual summary you can pull in two clicks. It is a genuinely good document, and for large parts of an Indian return it is enough. It is also the document that quietly runs out of detail in exactly the two places Indian filing needs most. Knowing which is which saves a lot of wasted effort.
How the file is laid out
Downloaded as CSV, it is not one table but many stacked together. Every row begins with its section name, then a row type — so a dividend row looks like Dividends,Data,USD,2025-01-02,… and is preceded by Dividends,Header,Currency,Date,Description,Amount. Each section also ends with its own Total row, which is why adding up a column without filtering those out gives you exactly double the right answer.
Section by section
| Section | What's in it | Useful for |
|---|---|---|
| Statement | Broker name and address, the period covered, when it was generated | Table A2's institution details |
| Account Information | Account number, type, base currency | Table A2's account number |
| Cash Report | Starting and ending cash, plus every category that moved it | Table A2's closing balance |
| Open Positions | One summary row per symbol: quantity, average cost, value | Limited — see below |
| Trades | One row per order: date, quantity, price, proceeds, realized P/L | Limited — see below |
| Dividends | Every dividend received, dated, per symbol | Schedule OS |
| Withholding Tax | US tax withheld on each dividend | Form 67, Schedules FSI and TR |
| Interest | Credit interest paid by the broker, by month | Schedule OS |
| Deposits & Withdrawals | Money in and out of the account | Reconciling your LRS remittances |
| Financial Instrument Information | ISIN, exchange, security type per symbol | Identifying holdings |
| Corporate Actions | Splits, mergers and similar events | Explaining quantity changes |
The income side is complete
This deserves emphasis, because it is often assumed otherwise: the Dividends, Withholding Tax and Interest sections are not summarised. They list every event with its own date and amount, which is precisely what Rule 115 conversion needs — each amount converted at the rate tied to its own month. Compared against the same period's Flex Query export, they reconcile event for event.
So Schedule OS, and the foreign tax credit workings behind Form 67, FSI and TR, can be built from an activity statement alone.
Where it runs out: the two limits
Open Positions are summary-level. You get one row per symbol — 154 shares of a stock at an average cost — with no indication that those shares were bought across five different dates at five different prices. Schedule FA Table A3 wants one row per lot, each with its own date of acquisition and initial value. That information is not merely hidden in the file; it is not in it.
Trades carry no closed-lot rows. A sale appears as an order with a realized profit figure, but nothing says which purchase it closed. For capital gains that matters twice over: the holding period decides short versus long term, and the cost has to be converted at the rate for the month it was actually incurred. A dollar P/L with no lot behind it can't answer either question.
There is a tempting workaround — stack up every annual statement since the account opened and replay the purchases yourself. It is more work than the alternative, and it silently produces wrong numbers if any year is missing or if the broker's own lot matching differed from your replay.
What to use instead, and when
If your foreign activity for the year was dividends and interest with nothing sold, an activity statement covers what you need. The moment you hold shares that must be disclosed in Schedule FA, or you sold anything, you need lot-level data — which is what a Flex Query is for. It is free, takes about ten minutes to set up once, and is reusable every year afterwards.
The longer comparison is in why the activity statement isn't enough, and the exact setup is in the Flex Query guide.
Frequently asked questions
Is the activity statement useless for Indian tax filing?
Not at all. Its Dividends, Withholding Tax and Interest sections are complete and match a Flex Query event for event, so the income side of Schedule OS and the foreign tax credit numbers can be built from it. Where it runs out is holdings and capital gains, which need lot-level detail it does not carry.
What does DataDiscriminator mean in the CSV?
It is the row's level of detail. In Open Positions it reads Summary, meaning one aggregated row per symbol. In Trades it reads Order, meaning one row per order executed. Neither is lot level, which is the granularity Schedule FA Table A3 and the holding-period test actually need.
The statement shows Realized P/L. Why isn't that enough for Schedule CG?
Because the rupee gain is not the dollar gain. Each sale has to be matched to the specific lot it closed so that the cost is converted at the rate for that lot's acquisition month and the proceeds at the rate for the sale month, and the holding period decides whether it is short or long term. The statement gives a single dollar P/L number without the lot behind it.
Why do the section totals look doubled if I add them up?
Each section ends with its own Total row. If you sum a column naively you count every amount twice. Any parser reading these files has to skip the Total and SubTotal rows.