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
applySection87Aparameter renamedtaxableIncome→totalIncome. Caller now passestaxableIncome + 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é