Why IBKR's activity statement isn't enough for Indian tax filing
July 2026 · 6 min read
Every tax tool asks for "your broker statement", and for Interactive Brokers most people reach for the annual activity statement — the PDF or CSV that IBKR produces by default. For Indian filing that instinct fails quietly: the activity statement is a performance report, and Schedule FA is a disclosure form that wants facts the performance report was never designed to carry.
What the activity statement doesn't tell you
- The acquisition date of each open lot. Table A3 wants one row per lot with its "date of acquiring the interest" and initial value. The activity statement summarises open positions per symbol — the lot dates behind them are simply absent.
- The account's opening date. Table A2 asks when the account was opened — a fact from years before the statement's own date range.
- A replayable cash history. A2's peak balance means reconstructing the account's cash day by day: every deposit, dividend, withholding, settlement and interest credit as clean structured rows.
- IBKR's own record of which lot each sale closed. For capital gains you need each sale matched to the lot it closed — with that lot's true acquisition date and cost basis — rather than re-guessing the matching yourself.
What a Flex Query is
A Flex Query is IBKR's build-your-own report: you define a template once — choosing sections (open positions, trades, cash transactions, account information) and the exact fields within each — and then run it for any date range, exporting clean CSV. Two settings make it fit Indian filing where the activity statement can't:
- Open positions at lot-level detail — one row per lot, each with its own open date and cost basis, exactly the granularity Table A3 wants;
- Trades including closed-lot rows — each sale accompanied by the specific lots it closed, straight from IBKR's own accounting.
Where each section of the export ends up
| Flex Query section | Feeds |
|---|---|
| Open Positions (lot level) | Schedule FA Table A3 — one row per lot |
| Trades (with closed lots) | Schedule CG, and A3's sale-proceeds column |
| Cash Transactions | Schedule OS, A2's cash reconstruction, FTC workings |
| Account Information + Cash Report | Table A2 — account number, opening date, balance reconciliation |
One template, run twice
Because Schedule FA runs on the calendar year while Schedule CG and OS run on the financial year, the same template is run twice — once for January–December, once for April–March. Building the template takes about ten minutes the first time; the exact sections and field lists are in our Flex Query setup guide, after which each year's exports are a two-minute job.
Frequently asked questions
Is a Flex Query free on Interactive Brokers?
Yes. Flex Queries are a standard feature of IBKR Client Portal under Performance & Reports — there is no charge to create or run them, and a template can be re-run for any date range once defined.
Can I still use the activity statement for capital gains?
Partly — the activity statement does show realized gains. But Schedule CG needs each closed lot's acquisition date and cost converted to INR at the right rate for that specific month, and doing that reliably needs the closed-lot rows a Flex Query provides in clean CSV form.
Why do I need to run the same Flex Query twice?
Because Schedule FA runs on the calendar year (January–December) while Schedule CG and OS run on India's financial year (April–March). Same template, two date ranges: one export per period.