Work / Chitragupt / Wiki / Decisions
2026-08-10-tax-tables-ay2019-20-ay2020-21
Decisioncanonicalverified 2026-08-10
DECISION.2026-08-10.TAX-TABLES-AY2019-20-AY2020-21Verified tax tables added for AY2019-20 and AY2020-21
Decision
Added packages/shared/src/data/tax-tables/ay-2019-20.ts (FY2018-19) and ay-2020-21.ts (FY2019-20), registered in TAX_TABLES (packages/shared/src/data/tax-tables/index.ts, TAX_TABLES_VERSION bumped 1.1.0 → 1.2.0). Both ship as tax_tables_verified: "verified" — every non-trivial figure (slabs, cess, §87A rebate, standard deduction, surcharge tiers, §80CCD(2) NPS-employer cap history, §80EEA/§80EEB vintage) was cross-checked against public sources (Referencer.in, TaxGuru, Lexology/BDO) before marking verified, following the same "AI-audited" convention already used for ay-2021-22.ts onward.
Real self.ritesh tax documents exist for both years (~/git/personal/documents/docs/self_ritesh/tax/fy2018-19/, fy2019-20/) but Tax Review was structurally skipped for them (skipped_reason: "unverified_ay_v1", gated on tax-review-engine.ts's call to getVerifiedTaxTable) — this closes that gap. TAX_TABLES now spans AY2019-20 → AY2027-28 (9 AYs), covering the full self.ritesh corpus range from its earliest document.
Key figures:
- AY2019-20 (FY2018-19): slabs nil/5%/20%/30% at ₹2.5L/5L/10L (senior 3L, super-senior 5L); standard deduction ₹40,000 (its first year, replacing transport+medical allowance exemptions); Health & Education Cess 4% (its first year, replacing the old 3% education cess); §87A rebate ₹2,500 up to ₹3.5L taxable income; surcharge only 2 tiers (10% @ ₹50L–1Cr, 15% @ >₹1Cr — the enhanced 25%/37% tiers didn't exist yet).
- AY2020-21 (FY2019-20): same slab structure; standard deduction raised to ₹50,000; §87A rebate raised to ₹12,500 up to ₹5L taxable income (Budget 2019); surcharge gains the enhanced 25%/37% tiers (Finance (No. 2) Act 2019), with
capital_gains_cap_pct: 15capping 111A/112A surcharge (Taxation Laws (Amendment) Ordinance 2019); §80CCD(2) central-government NPS cap raised 10%→14%; §80EEA/§80EEB go live for the first time.
Regime-less-year handling: neither year has Section 115BAC (the "new regime" wasn't introduced until AY2021-22). Rather than changing the shared orchestrator's interface (which unconditionally computes both an old and new branch and recommends the cheaper), both files populate slabs.new_regime as a mirror of slabs.old_regime.under_60 and null out standard_deduction.new_regime_paise / section_87a.new_regime.{rebate_paise,ceiling_paise}. This makes the "new" branch's computed tax always ≥ the "old" branch at identical income, so the regime comparison always and correctly resolves to "old regime" (or a zero-deduction tie) — never a fabricated "switch to new regime, save ₹X" recommendation for years where no such choice legally existed.
Why
User asked (2026-08-10) to ensure all documents and calculations for self.ritesh are correctly processed "for all years from 2018" — the literal earliest year in the real document corpus is FY2018-19 (AY2019-20). The two-AY gap was a known, previously-documented V1 scope limitation (2026-07-25 self-validation findings: "6/8 AYs populated" for Tax/Expense), explicitly called out to the user as an open item this session; user chose to close it now rather than leave it deferred.
Impact
- pillar-tax —
PILLAR.TAX.AY-RANGEupdated to reflect AY2019-20 → AY2027-28 (9 AYs), was previously undocumented on the entity page. - Verified end-to-end against real data: a fresh
yarn db:seed && yarn db:selfproduced full computedtax_reviews/2019-20andtax_reviews/2020-21documents for self.ritesh (previously these docs only containedfiling_statefrom the separately-parsed ITR-V, with noregime_old/regime_new/position/composition— the skip was silent, not just absent). Real output: AY2019-20 recommends old regime (saves ₹13,988), refund position ₹10,038.91, ITR-2, 14 docs; AY2020-21 recommends old regime (saves ₹14,744), refund position ₹200, ITR-2, 11 docs. - No canonical value changed for any other AY — purely additive.
Status
Active.
Sources
packages/shared/src/data/tax-tables/ay-2021-22.ts(structural template).- Referencer.in — Normal tax rates AY 2019-20 / AY 2020-21.
- TaxGuru — Important Amendments applicable for FY 2018-19 (AY 2019-20) and FY 2019-20 (AY 2020-21); Finance Act 2019 amendments.
- Lexology / BDO — Taxation Laws (Amendment) Ordinance 2019: surcharge cap on 111A/112A capital gains.
- Direct Firestore inspection (
tax_reviews/2019-20,tax_reviews/2020-21) against a freshyarn db:seed && yarn db:selfrun, 2026-08-10.
Every project of mine is written down like this.
Read the résumé