Skip to content
Ritesh FirodiyaGet in touch

Work / Chitragupt / Wiki / Decisions

2026-06-10-section-87a-total-income

Decisioncanonicalverified 2026-06-26

DECISION.2026-06-10.SECTION-87A-TOTAL-INCOME

§87A ceiling check uses TOTAL income (incl. CG), not regular taxable income

Decision

The §87A rebate eligibility ceiling is checked against TOTAL income (regular taxable income + carve-out STCG 111A + carve-out LTCG 112A), not regular taxableIncome. The rebate BASE stays as slabTax (already CG-carved).

Why

Bug in tax-computer.ts: §87A eligibility ceiling was checked against taxableIncome (slab-taxable regular income only), violating §2(45) which defines "Total Income" to include capital gains. A user with ₹4L salary + ₹2L LTCG would incorrectly receive the old-regime ₹12.5k rebate because ₹4L < ₹5L ceiling, even though total income is ₹6L. Finance Act 2025 carve-outs (carve_out_111A, carve_out_112, carve_out_112A on AY 2026-27 schema) affect the rebate BASE; eligibility ceiling is a separate concern and always uses total income.

Impact

  • applySection87A parameter renamed taxableIncome → totalIncome. Caller now passes taxableIncome + stcg_111a_paise + ltcg_112a_paise (same convention used by surcharge band check).
  • Rebate base stays as slabTax — structurally already CG-carved (LTCG / STCG tax computed and added back after rebate).
  • Two regression tests added in tax-computer.test.ts: (a) old regime ₹4.5L salary + ₹2L LTCG → no rebate; (b) old regime ₹4.5L salary + zero CG → rebate applies.
  • Existing tests unaffected (the carve-out STCG case at ₹7L salary + ₹5L STCG keeps total ₹11.25L < ₹12L new-regime ceiling).
  • Affects pillar-tax and reference-test-fixtures.

Status

Active.

Sources

  • .context/wiki/decisions/* § "2026-06-10 — §87A ceiling check uses TOTAL income (incl. CG), not regular taxable income"

Every project of mine is written down like this.

Read the résumé