Skip to content
Ritesh FirodiyaGet in touch

Work / Chitragupt / Wiki / Concepts

capital-gains-booking

Conceptcanonicalverified 2026-07-10

CONCEPT.CAPITAL-GAINS-BOOKING

Capital-gains booking

Summary

Capital gains are computed from parsed broker / MF / statement lots — never from user-entered trades. When cost basis is ambiguous (bonus issues, corporate actions, missing prior lots), the CG-booked variant on Portfolio surfaces a lot-classification workflow that resolves parser ambiguity. Classification never initiates a trade; the resulting CG position flows deterministically into Tax Review.

Why it matters

CG is the one place Portfolio meets Tax with a live money number. If the wiki lets an LLM invent a BOOK PROFIT or HARVEST GAINS CTA, we cross SEBI's advisory line (2026-06-26-portfolio-sebi-strip); if we let it forget that lot classification is parser disambiguation, users will read the workflow as "select a lot to sell" — which we do not do. Everything downstream (§112A headroom callouts, Tax refund waterfall) trusts that CG is computed from parsed statements + user-resolved ambiguity, not from user-declared intent.

Implications

  • Statements are the sole source of truth. No manual entry of trades, no broker API, no live prices. Corollary of upload-only and no-manual-entry.
  • Lot classification is disambiguation, not action. Verbatim invariant from portfolio-review-cg-booked.html: "Classification corrects parser ambiguity · it does not initiate any trade. Tax position flows into Tax Review." Buttons: FIFO · LTCG / Specific lot · STCG / bonus-issue split rule / Manual cost / Zero cost.
  • Only triggered when the parser can't decide. CG-booked variant surfaces a banner like "₹2.3L LTCG already booked this AY · tax ₹13k · 2 trades need lot classification before tax compute is final." If the parser has unambiguous lots, no workflow appears — the CG number is final.
  • Rates and §112A headroom are canonical. STCG @ 20%. LTCG @ 12.5% over ₹1.25L (§112A annual exemption). Personal headroom = ₹1.25L per AY. Family headroom stacks: N × ₹1.25L cross-PAN on Pro Family (3 members = ₹3.75L). Chitragupt surfaces the sequencing across PANs — each member executes via their own broker.
  • Unused headroom is a call-to-review, not a call-to-sell. Callout copy: "₹1.25L of long-term capital gains exemption unused this AY (the annual §112A limit)" — descriptive. No HARVEST GAINS button. The next step is CA consultation (what-you-missed on Tax) or a personal decision on the user's own broker.
  • CG flows into Tax deterministically. Once lot ambiguity is resolved, the CG total is a number the Tax waterfall consumes without user intervention. No re-entry, no reconciliation UI.
  • Family workspace amplifies the lens. Household combined view shows cross-PAN §112A staging ("3× ₹1.25L §112A cross-PAN headroom · ₹3.75L available this AY"), plus senior-parent §80D super-top-up hints when a senior member has room. Filings still stay per-PAN.
  • View-only family members can't classify. Lot-classification is admin-only in Family; view-only members see the workflow read-only.
  • Chitragupt never executes trades. Verbatim from portfolio-view-only.html: "Chitragupt never executes trades for anyone." This applies universally, not only in view-only mode.
  • Observation-only framing. No HOLD, no SELL, no BUY. SEBI disclaimer strip mandatory (2026-06-26-portfolio-sebi-strip).

Related

Sources

  • .context/designs/web/portfolio/cg-booked.html
  • .context/designs/web/portfolio/portfolio.html
  • .context/designs/web/portfolio/family.html
  • .context/designs/web/portfolio/view-only.html

Every project of mine is written down like this.

Read the résumé