title: Portfolio Tax Lots description: FIFO capital-gains estimates for the Portfolio Planner transaction ledger.
Portfolio Tax Lots
The Tax Lots page rebuilds FIFO lots from the read-only portfolio transaction ledger and groups realized capital gains by the Indian financial year (1 April through 31 March, IST). It is an estimate to help reconciliation; it is not an ITR filing or personalised tax advice.
Endpoint
GET /api/portfolio/reports/tax-lots?portfolio=&fy=2025-26 returns realized
lot matches, remaining open lots, unmatched sale warnings, and the summary
{ ltcg, stcg, exempt, taxable, est_tax }. Omit portfolio for the Networth
aggregate. fy must be YYYY-YY.
Buy costs include allocated transaction fee_tax; sell proceeds subtract it.
Lots are matched independently by portfolio, symbol, and currency, oldest
first. A sale that is larger than the known prior ledger is flagged as
unmatched_sells rather than receiving an invented zero cost basis.
Split rows rescale every still-open lot for that symbol: quantity is multiplied
by the recorded split ratio and per-unit cost is divided by it, preserving
total basis without inventing a zero-cost lot.
Classification and rates
Current holding asset classes classify lots. Indian equity, equity mutual funds, and legacy generic mutual-fund rows use the equity path: sales strictly more than 12 months after acquisition are LTCG; otherwise STCG. Debt mutual funds and bonds use 36 months. Debt mutual funds acquired on or after 1-Apr-2023 are always classified STCG and use the configurable slab-rate estimate.
Equity LTCG uses the configured exemption once across the FY. The dashboard assumes STT has been paid for equity transactions because the current ledger does not persist a per-transaction STT field. It also cannot automatically apply 31-Jan-2018 grandfathering because no historic FMV is stored; the pure calculation supports an explicit FMV input for future import enhancements. Losses are shown in lot detail but the aggregate taxable/estimated-tax values do not model capital-loss set-off or carry-forward. The ₹1.25L equity-LTCG exemption is annual per taxpayer: a portfolio-filtered view applies it within that view and can therefore understate tax relative to the Networth aggregate.
Configure CAPITAL_GAINS_LTCG_EQUITY_MONTHS,
CAPITAL_GAINS_LTCG_DEBT_MONTHS, LTCG_EQUITY_RATE,
LTCG_EQUITY_EXEMPTION_INR, STCG_EQUITY_RATE, LTCG_DEBT_RATE, and the
optional STCG_DEBT_RATE estimate in arb_bot.config.Config.
The Export for ITR control is deliberately deferred until the export slice; the current page does not create a filing artifact.