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

SectionWhat's in itUseful for
StatementBroker name and address, the period covered, when it was generatedTable A2's institution details
Account InformationAccount number, type, base currencyTable A2's account number
Cash ReportStarting and ending cash, plus every category that moved itTable A2's closing balance
Open PositionsOne summary row per symbol: quantity, average cost, valueLimited — see below
TradesOne row per order: date, quantity, price, proceeds, realized P/LLimited — see below
DividendsEvery dividend received, dated, per symbolSchedule OS
Withholding TaxUS tax withheld on each dividendForm 67, Schedules FSI and TR
InterestCredit interest paid by the broker, by monthSchedule OS
Deposits & WithdrawalsMoney in and out of the accountReconciling your LRS remittances
Financial Instrument InformationISIN, exchange, security type per symbolIdentifying holdings
Corporate ActionsSplits, mergers and similar eventsExplaining 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.

Doing this by hand?

ethro turns two IBKR Flex Query exports into all six CA-ready reports — Schedule FA Tables A3 and A2, capital gains, dividend and interest workings, and the foreign tax credit numbers behind Schedule FSI, TR and Form 67 — with the right SBI rate applied to every amount. ₹200 per brokerage account, per financial yearfree for now.

Generate your reports

Related guides

This guide is general information, not tax advice. Rules, rates and form layouts change between assessment years — review every figure with your CA before filing.