FY 2025-26 · Section 112A grandfathering

Drop your broker CSV. Walk out with ITR-Schedule CG.

Browser-only parser for Zerodha Console, Groww, ICICI Direct, Upstox tradebooks. Auto-classifies STCG vs LTCG by holding period, applies the 31-Jan-2018 FMV rule for grandfathered shares, and gives you a row-per-trade table that maps 1:1 to ITR-2 Schedule 112A and 111A.

Parser · 100% client-side Brokers · 4 mapped + Generic Grandfathering · Top 100 NSE auto-FMV Cost · Free
Privacy
Your CSV never leaves your browser. We use the FileReader API + Papa Parse locally. Open DevTools → Network and watch — zero requests fire when you parse a file. How we proved it →

Import tradebook

Pick your broker, drop the CSV (or paste tab/comma-separated text). Headers are auto-detected for known brokers.

Drop CSV here

Or click to browse — .csv, .tsv, .txt up to 5MB

Browse file — or paste below —
No transactions yet. Drop a tradebook CSV above to begin.
01 — Logic

How the importer actually classifies your trades

The math sounds boring until you realise most online calculators get the grandfathering rule wrong. Here is exactly what runs in your browser:

Holding period holding_days = sell_date − buy_date if (asset == listed_equity && holding_days ≤ 365) → STCG (Section 111A, flat 15%) else if (asset == listed_equity && holding_days > 365) → LTCG (Section 112A, 10% above ₹1L) else if (asset == property && holding_days ≤ 730) → STCG (slab rate) else if (asset == property && holding_days > 730) → LTCG (20% with indexation)

Grandfathering (the one rule everyone forgets)

For listed equity acquired before 1-Feb-2018, Section 112A says the cost is the higher of:

  1. Actual cost of acquisition, or
  2. Fair Market Value (FMV) on 31-Jan-2018, capped at the sale price.
Grandfathered cost cost_for_LTCG = max(actual_cost, min(FMV_31_Jan_2018, sale_price))

If you bought Reliance at ₹500 in 2015, FMV on 31-Jan-2018 was ₹928, and you sold at ₹2,400 — your taxable gain is computed on cost = ₹928, not ₹500. The importer ships an embedded JSON of FMV on 31-Jan-2018 for the top 100 NSE stocks; for anything else it prompts you for FMV manually with a link to NSE's archive.

Brokerage, STT, exchange charges

Per Section 48, brokerage and stamp duty are deductible from the sale price (or addable to cost). STT, however, is NOT deductible when computing capital gains under 111A/112A — the IT Act explicitly excludes it. The importer detects these columns and applies them correctly. If a broker bundles them into a single "charges" column, we err on the side of treating them as STT (non-deductible) and let you adjust.

02 — Tax implications

STCG, LTCG and the ₹1 lakh exemption — worked example

Assume FY 2025-26: you sold three holdings.

Total LTCG = ₹1,00,000 (Infy) + ₹20,000 (ITC) = ₹1,20,000. After the ₹1L Section 112A exemption, taxable LTCG = ₹20,000 × 10% = ₹2,000. STCG = ₹30,000 × 15% = ₹4,500. Cess @4% applies on top.

Trap: the ₹1 lakh LTCG exemption is per FY across all 112A scrips, not per stock. People often double-count.

Set-off rules (don't miss this)

03 — Strategy

What CAs do that DIY filers miss

1. Bunch sales to use the ₹1L LTCG exemption every year

The exemption doesn't carry forward. If your LTCG this FY is only ₹40,000, you have ₹60,000 of "free" gain capacity. Sell-and-rebuy a long-held holding to lock in cost-base step-up at zero tax.

2. Tax-loss harvesting in March

Before 31-March, scan your portfolio for unrealised losers and sell them to offset realized gains. We have a dedicated tax-loss harvesting calculator for this — it integrates with the same CSV.

3. Spouse / HUF gifting (clubbing-aware)

Gifts to a non-working spouse trigger clubbing under Section 64 — the income from the gifted asset is taxed in your hands. But gifts to adult children or major HUF members avoid clubbing. CAs use this to reset cost basis at zero tax (gift price = donor's cost under Section 49).

4. Schedule 112A bulk upload

The income-tax portal accepts a CSV bulk upload for Schedule 112A. Our "Export to CSV" button outputs columns in the exact order: ISIN, Name, No. of shares, Sale price per unit, Total sale value, Cost of acquisition, FMV on 31-Jan-2018, Cost of acquisition without indexation. Saves 30 minutes of manual entry.

04 — Privacy proof

How we kept your tradebook in your browser alone

This page does three things, in order:

  1. You drop a file. FileReader.readAsText() reads the bytes from disk into a JS string. No network involved.
  2. We pipe the string to Papa.parse(), a CDN-loaded JS library that runs in a Web Worker locally.
  3. The parsed array is held in a JS variable, rendered into the table. Nothing is fetch()-ed or POSTed.

Open DevTools → Network tab → clear → drop a file. You will see zero new requests. The only network call this page ever makes is the initial CDN load of Papa Parse. After that, you can disconnect Wi-Fi and the parser still works.

This isn't a privacy policy — it's an architecture statement. Compare to broker portals that "let you compute taxes online" but require login, sending your trades to their server.

05 — FAQ

Common questions about CSV import & ITR Schedule CG

Is my CSV uploaded anywhere?

No. The CSV is parsed entirely in your browser using the FileReader API and Papa Parse. Disconnect from the internet after this page loads — you will see the parser still works perfectly. Verifiable in DevTools → Network.

What is grandfathering and why does it matter?

For listed equity acquired before 1-Feb-2018, Section 112A allows you to step up cost basis to FMV on 31-Jan-2018 (capped at sale price). This often slashes LTCG by 50%+. Most online calculators skip this; we apply it for top 100 NSE stocks automatically and prompt you for others.

What's the holding-period cutoff for STCG vs LTCG?

Listed equity / equity MF: 12 months. Unlisted equity / immovable property: 24 months. Debt funds (purchased after 1-Apr-2023): always taxed at slab rate regardless of holding period.

Does this handle bonus shares and splits?

Yes — bonus shares get zero cost basis with allotment date as acquisition; splits adjust per-share cost proportionally. The importer flags unusual quantity ratios for confirmation.

Can I edit a row after import?

Yes. Every cell — buy date, sale date, ISIN, quantities, prices — is editable inline. Totals recompute live. Delete non-CG rows (interest, charges) with the × button.

What about buy-back, demerger, tendered shares?

Buy-backs (post-2020) are exempt in shareholder's hands but flagged. Demergers preserve cost basis split — you may need a CA's input for the cost-allocation ratio.

Why differ from Zerodha's P&L?

Brokers usually show realized P&L without grandfathering and without distinguishing STCG vs LTCG to the day. Our totals are ITR-rule-aligned, so a small delta is expected. Brokerage and stamp duty are deducted; STT is not (per Section 48 + 111A exclusion).

Can I export an ITR-portal-ready file?

Yes. The "Export Schedule CG CSV" button outputs columns in the exact order required by the income-tax portal's Schedule 112A bulk-upload utility.

Disclaimer. This tool computes capital gains tax based on Indian Income Tax Act provisions current as of Budget 2025. Verify with a Chartered Accountant before relying on these numbers for ITR filing. FMV-31-Jan-2018 values shipped here are sourced from public NSE / BSE archives and may have minor reconciliation differences with bonus-adjusted records. We do not handle ESOPs (Section 17 perquisite + Section 49 cost basis is non-trivial), foreign-asset capital gains (Schedule FA + DTAA), or partnership-firm transactions. Pricing/rules as per Budget 2025; verify against final Finance Act.