TL;DR
Zerodha, Upstox, and Groww each publish a "Tax P&L" report inside their reports section, and it gives you realized profit/loss for the financial year — not turnover, and not a verdict on whether a tax audit applies to you. If you trade through more than one broker, none of these reports combine automatically, and the column layouts rarely match closely enough to just paste one under the other. Turnover, the number that actually decides Section 44AB applicability, has to be worked out separately from the raw tradebook.
Every year, somewhere between January and July depending on the deadline, F&O traders go looking for "the tax report" on their broker's platform. It exists on every major broker. It's just not the whole picture — most people find that out only when their CA asks for turnover and the PDF they downloaded has no such number on it.
What's actually in a tax P&L report
On Zerodha, Upstox, and Groww alike, the report goes by some variant of "Tax P&L" or "Tax P&L statement," and it answers one question: what did you realize in profit or loss this financial year, by segment. Typically that means separate lines or sheets for equity delivery, equity intraday, F&O, currency, and commodities — because each is taxed differently and your CA needs them apart, not lumped together.
What it usually leaves out:
- Turnover. The one that trips people up most, because a report titled "tax" feels like it should have every number the filing needs. It doesn't have this one.
- Mark-to-market on open positions. A futures position or short option still open on March 31 typically isn't reflected here — the unrealized leg has to come from a separate position statement.
- A ready-made speculative/non-speculative split. F&O is non-speculative business income, intraday equity is speculative. The report gives you the segment; mapping that to the right ITR schedule is still on you.
- Consistent treatment of charges. Whether brokerage, STT, and exchange charges are netted into the P&L figure or shown separately varies — worth checking rather than assuming, especially if you're reconciling against your own trade log.
Where to actually find it
Broker platforms get redesigned often enough that a specific menu path written today can be stale by the time you read it. What's held steady across Zerodha, Upstox, and Groww is the pattern, not the label: a "back office" or reports-and-statements area, separate from the day-to-day trading app, holds the tax P&L export, filterable by financial year. On Zerodha specifically, that back-office area has historically sat under a separate login (Console) from the trading terminal (Kite) — if you're only searching inside the trading app, that's usually why you're not finding it.
If the label doesn't match what you see on any of these three, search that broker's help center for "tax P&L" rather than assume the feature's gone. A renamed menu is far more likely than a broker quietly dropping a report every trader needs at filing time.
Trading with more than one broker?
Import tradebooks from every broker you use into one ledger, and get your F&O turnover calculated automatically — not just the raw P&L your broker exports.
Reconciling more than one broker
With a single broker, downloading the tax P&L report is close to the whole job. Trade through two or three, and the report stops being the answer — it's one input you now reconcile by hand, and the exports don't make that easy:
- Row granularity differs. Some brokers export every buy/sell leg as its own row; others net the day's activity per scrip first, so five trades on one scrip show as one line on one broker's file and five on another's.
- Contract naming isn't standardized — expiry and strike get encoded into the instrument name differently enough that a text match across two files often fails, and you end up matching by hand instead.
- Date formats and file structure vary — DD-MM-YYYY versus YYYY-MM-DD, one combined sheet with a segment column versus three separate files per segment.
- Charges treatment differs again, so the same trade can show a slightly different P&L figure on two brokers' reports even when nothing about the trade itself changed.
None of this is a broker doing something wrong — each export is built to be internally consistent for that broker's own statement, not for reconciling against someone else's. The work of combining them is yours, and it's genuinely tedious past a handful of trades.
Why the report's number isn't what decides audit applicability
Your tax P&L report can show a small profit, a small loss, or near break-even for the year, and you can still be past the turnover threshold that triggers a mandatory audit under Section 44AB. That's not a contradiction — net P&L and turnover measure different things.
Net P&L nets winners against losers. Turnover doesn't net anything: every trade's result, win or lose, adds to the total in the same direction. A trader who makes ₹5,000 on one trade and loses ₹4,800 on the next has a net P&L of ₹200 — and a turnover contribution of ₹9,800 from those two trades alone. Run that across a year of active, leveraged F&O trading and turnover routinely runs to multiples of net P&L, sometimes crossing audit thresholds for traders who'd never call it a "big" year based on what they actually made.
That's why the P&L report can't answer the audit question — it's answering a different one accurately. Whether the current Section 44AB threshold applies to you, or whether presumptive taxation under Section 44AD is available instead, depends on turnover, and these thresholds do get revised through Finance Bills — check the current limit rather than reusing last year's number.
What turnover actually is, and why it's separate
Turnover isn't a raw field in trade data — it's a calculation applied to it, and the accepted method (per ICAI guidance notes) has had enough interpretive nuance over the years that brokers stick to plain realized P&L and leave turnover to the trader or CA rather than taking a position on the calculation.
- Futures: sum the absolute value of profit or loss on every trade — a loss adds to turnover exactly as much as an equal-sized win.
- Options: sum the absolute profit or loss on every trade, plus the premium received on options sold (not bought) — that premium leg is why options turnover tends to run higher than futures turnover for similar activity.
A quick example: a futures trade nets ₹10,000 profit, another nets a ₹6,000 loss, and an option sold for ₹15,000 premium is bought back for a ₹4,000 loss. Net P&L is ₹0. Turnover is ₹10,000 + ₹6,000 + ₹4,000 + ₹15,000 = ₹35,000 — even though the trader's actual result for the year is nil. That gap is why turnover can't be read off a P&L report.
Because the calculation runs trade-by-trade against the raw tradebook, it also has to be summed across every broker you use before you check it against any threshold — there's no shortcut where per-broker turnover figures happen to add up correctly on their own; you compute the same way for each and add.
Where do I find my tax P&L report on Zerodha, Upstox, or Groww?
Look for a Tax P&L or tax report export inside the reports/statements section of the broker's web platform, filterable by financial year — on Zerodha this has historically lived in Console rather than the Kite trading app. Exact menu labels shift with redesigns, so search the broker's help center for 'tax P&L' if you don't see it where expected.
Does my broker's tax report tell me if I need a tax audit?
No. It shows realized profit/loss, not turnover. F&O turnover — the figure that decides whether Section 44AB's audit threshold applies — is the sum of absolute profit/loss per trade plus premium received on options sold, calculated separately.
Can I have a small profit or loss and still cross the audit threshold?
Yes, and it's common in active F&O trading. Turnover doesn't net winning and losing trades against each other, so it can run to several multiples of net result even in a break-even year.
I trade through two or more brokers — do their tax reports combine automatically?
No. Each report only covers that broker's trades, and row layouts, contract naming, and date formats often differ enough that pasting them together doesn't work cleanly. Turnover has to be calculated per trade and summed across every broker, not estimated from each broker's P&L figure.
Does the tax P&L report include open positions I haven't closed?
Generally not fully. It's built around realized P&L, so mark-to-market on a position still open at year-end typically has to come from a separate position statement.
Why doesn't any broker just add a turnover column to the tax report?
Turnover is a calculation, not a raw field, and the accepted method has had enough interpretive nuance over the years that brokers present plain realized P&L and leave turnover to the trader or CA.
