Skip to content
Ritesh FirodiyaGet in touch

Work / Chitragupt / Wiki / Entities

tax-tables

Entitycanonicalverified 2026-08-10

TAX-TABLES

Tax tables

Summary

Per-AY constants that drive every rate, cap, and slab in the tax recompute engine. One file per Assessment Year under packages/shared/src/data/tax-tables/ay-*.ts, validated at import against schema.ts. Verified tables carry every cell; draft / stub tables are markers that fail-close Mode 1.

Canonical values

Key Value Last changed
TAX-TABLES.STORAGE.PATH packages/shared/src/data/tax-tables/ay-YYYY-YY.ts 2026-05-29
TAX-TABLES.VERIFIED-AYS 2019-20 · 2020-21 · 2021-22 · 2022-23 · 2023-24 · 2024-25 · 2025-26 · 2026-27 (2019-20 and 2020-21 added; not present as of 2026-07-12) 2026-08-10
TAX-TABLES.STUB-AYS 2027-28 (IT Act 2025 — awaiting statute clarifications) 2026-05-29
TAX-TABLES.SCHEMA Discriminated union on tax_tables_verified: "verified" | "draft" | "stub". Verified tables carry every cell; draft tables cache values pending CA sign-off; stubs are import-time markers. 2026-05-29
TAX-TABLES.CELLS.SLABS slabs.new_regime + slabs.old_regime.{under_60, senior_60_to_79, super_senior_80_plus} — from_paise/to_paise/rate_pct rows 2026-05-29
TAX-TABLES.CELLS.STANDARD-DEDUCTION standard_deduction.{new,old}_regime_paise + family-pension variants 2026-05-29
TAX-TABLES.CELLS.87A section_87a.{new,old}_regime.{rebate_paise, ceiling_paise, marginal_relief, carve_out_111A/112/112A} 2026-05-29
TAX-TABLES.CELLS.SURCHARGE surcharge.bands[] + capital_gains_cap_pct + marginal_relief flag 2026-05-29
TAX-TABLES.CELLS.CESS cess.health_education_pct (4%) 2026-05-29
TAX-TABLES.CELLS.CAPITAL-GAINS.EQUITY capital_gains.rules[] — split into _pre_23_jul_2024 and _post_23_jul_2024 entries for AY 2025-26+. Post entry wins for mid-year filers. 2026-05-29
TAX-TABLES.CELLS.CAPITAL-GAINS.DEBT-MF debt_mf_acquired_on_or_after_2023_04_01 (always slab) · debt_mf_acquired_before_2023_04_01_pre_23_jul_2024 (20% w/ indexation) · debt_mf_acquired_before_2023_04_01_post_23_jul_2024 (12.5% w/o indexation) 2026-07-12
TAX-TABLES.CELLS.CAPITAL-GAINS.VDA virtual_digital_asset (§115BBH flat 30% — both regimes identical) 2026-05-29
TAX-TABLES.CELLS.DEDUCTIONS.OLD-REGIME 80C · 80CCD_1B · 80D_self/parents (senior/non-senior) · 80DD · 80U · 80DDB · 80E · 80EE · 80EEA · 80EEB · 80G (category_driven) · 80GG · 80GGC · 80TTA · 80TTB · 24b_self_occupied · hp_loss_inter_head_cap_71 · hp_loss_carry_forward_71B 2026-07-12
TAX-TABLES.CELLS.DEDUCTIONS.BOTH-REGIME 80CCD_2.nps_employer_cap.{private,central_govt}_{old,new}_regime_pct_basic_da (10%/14% split per Finance Act 2024) · 80CCH · 80JJAA 2026-07-12
TAX-TABLES.CELLS.HRA-METROS hra_metros: ["Mumbai", "Delhi", "Kolkata", "Chennai"] — statutory §10(13A) list 2026-05-29
TAX-TABLES.CELLS.NPS-TIER1-RETURNS nps_tier1_returns.{scheme_e,scheme_g,blended}_cagr_pct_range (PFRDA-published decade window) 2026-05-29
TAX-TABLES.CELLS.SETTLEMENT settlement_cycle_days (T+0 / T+1 / T+2) 2026-05-29
TAX-TABLES.CELLS.REGIME-RECOMMENDATION regime_recommendation_thresholds.{clear_tie, comfortable_switch, large_switch}_paise — thresholds for the "roughly the same" / "worth switching" / "comfortably worth switching" copy variants 2026-07-12
TAX-TABLES.CELLS.NRI-BASIC-EXEMPTION nri_basic_exemption.{old,new}_regime_paise — NRIs get resident-under-60 basic exemption regardless of age; no senior/super-senior slab benefit 2026-07-12

Related

Sources

  • packages/shared/src/data/tax-tables/schema.ts — cell-shape source of truth.
  • packages/shared/src/data/tax-tables/ay-{2019-20..2027-28}.ts — per-AY cells.
  • .context/wiki/synthesis/tax-table-verification-ay-*.md — verification reports.

Every project of mine is written down like this.

Read the résumé