Skip to content
Ritesh FirodiyaGet in touch

Work / Chitragupt / Wiki / Entities

pillar-tax

Entitycanonicalverified 2026-08-10

PILLAR.TAX

Tax pillar

Summary

The deterministic engine — one AY-keyed route with a state machine, six review widgets (5-AY tax journey · claimed donut · regime bars · waterfall · 19-question checklist · what-you-missed callouts), and a two-path aside (Invite your own CA / Hire a CA). See tax-pillar for invariants.

Canonical values

Key Value Last changed
PILLAR.TAX.ROUTE /tax — single route with data-driven states 2026-07-10
PILLAR.TAX.STATE-MACHINE locked → empty → review → (ca-invited → with-ca → filed) | past-ay (+ family-locked / family-combined variants) 2026-07-10
PILLAR.TAX.FILING-STATE not_filed · itr_v_acknowledged only (2026-07-26-self-file-permanently-out-of-scope) 2026-07-26
PILLAR.TAX.AY-PIVOT Tax-pillar only — AY selector does not apply on Expense or Portfolio (2026-06-11-ay-selector-tax-only) 2026-06-26
PILLAR.TAX.AY-RANGE Tax Review supports AY2019-20 through AY2027-28 (9 AYs) — TAX_TABLES in packages/shared/src/data/tax-tables/index.ts. 2019-20 and 2020-21 are new verified tables not present as of the 2026-07-12 sync; 2027-28 remains a stub (fails closed on Mode 1) pending IT Act 2025 clarifications. See tax-tables. 2026-08-10
PILLAR.TAX.INCOME.DOUBLE-COUNT-GUARDS Two cross-document reconciliation passes run on every confirm, in either upload order: (1) professional-receipt vs foreign-remittance (Torc/Randstad-style double count, 2026-08-06-expense-portfolio-double-counting-round-3); (2) AIS vs bank-interest-cert / broker-dividend-log / mf-cas (reconcileAisAgainstEvidenceDocuments, 1% tolerance, same-AY same-entry_type-family subset-sum match — 2026-08-10-ais-vs-evidence-doc-income-dedup). On a match the AIS row is demoted to entry_class: "other" and excluded everywhere entry_class === "other" is filtered out (Tax's income waterfall, Expense's Income KPI). Source document (certificate/broker/AMC statement) is kept as primary. No canonical value on this page changed — this closes an implementation gap against already-canonical behaviour. 2026-08-10
PILLAR.TAX.PAST-AY Read-only archive; always free (2026-05-30-past-ay-free); escapes to CA only for notices / revisions / audits 2026-07-10
PILLAR.TAX.REVIEW.WIDGET-ORDER Main column, top→bottom: (1) Claimed donut + (2) old-vs-new regime bars side by side · (3) salary-to-refund waterfall + (4) 19-question return checklist side by side · (5) what-you-missed callouts. Sidebar (not part of the main flow): AY pivot + 5-AY tax journey line, then Pick-your-CA-path. Per .context/designs/web/tax/tax.html — the journey chart is explicitly annotated "belongs in aside" in the wireframe; a prior version of this row wrongly listed it as the first main-column item, see 2026-08-03-correct-widget-order-entity-drift. 2026-08-03
PILLAR.TAX.CHART.TAX-JOURNEY-5AY V1 ✅ — dual-line, absolute (income emerald / tax rose), x-axis 22-23 … 26-27. Shared with pillar-dashboard. Implementation: dashboard/components/TaxJourneyChart. 2026-07-10
PILLAR.TAX.CHART.CLAIMED-DONUT V1 ✅ — segments HRA · §80C · Std ded · §80D. Callout: "You claimed ₹X of ₹Y available" 2026-07-10
PILLAR.TAX.CHART.REGIME-COMPARISON-BARS V1 ✅ — old vs new. Winner marked New regime ✓ (chosen) or Old regime ✓ (chosen). Implementation: TaxPage.tsx inline RegimeBars. 2026-07-10
PILLAR.TAX.CHART.INCOME-WATERFALL V1 ✅ — "From your salary to your refund" (gross → exemptions → 80C/80D → taxable → slab tax → cess → TDS → refund). Implementation: TaxPage.tsx inline WaterfallList. 2026-07-10
PILLAR.TAX.WIDGET.RETURN-CHECKLIST-19Q V1 ✅ — Quick Check · 19 interactive questions driving completeness. Count is read dynamically off INTERROGATOR_CATALOG_V1.length in TaxPage.tsx, not hand-typed — see 2026-08-03-fix-checklist-question-count-mislabel. 2026-08-03
PILLAR.TAX.WIDGET.WHAT-YOU-MISSED V1 ✅ — deduction / regime / documentation miss callouts → link to Hire-CA consultation 2026-07-10
PILLAR.TAX.CHART.DEDUCTIONS-CLAIMED-VS-AVAILABLE post-V1 ↻ — deduction-availability donut with unused-deduction callout 2026-06-26
PILLAR.TAX.REGIME.PICK Computed by engine; UI shows both regimes and marks winner ✓ chosen. User (or their CA) may override before filing. 2026-07-28
PILLAR.TAX.PICK-YOUR-PATH.PATHS (a) Invite your own CA (Free → tax-invite-ca) · (b) Hire a CA (From ₹599 → ca-marketplace-browse) — the CA-handoff-packet PDF path was removed 2026-07-28 (2026-07-28-remove-ca-handoff-surface) 2026-07-28
PILLAR.TAX.MARKETPLACE-SPLIT CA keeps 90% · Chitragupt keeps 10% (marketplace-economics · 2026-05-30-marketplace-90-10-split) 2026-05-30
PILLAR.TAX.FILED-STATE Chat drawer becomes read-only; star-rating widget replaces further messaging 2026-07-10
PILLAR.TAX.FAMILY.PER-MEMBER-TILES Family-combined stacks per-member refund tiles; per-member regime (e.g. "2 of 3 New"). Household summary is now FamilyRefundDonut + FamilyRegimeCard (components/tax/family/) above the per-member breakdown list — replaces an earlier single-line "Household refund" total. Uncommitted as of this sync pass, no decision doc yet — flagging for a follow-up /decision once this lands. 2026-08-10
PILLAR.TAX.FAMILY.HOUSEHOLD-MOVES V3 ↻ — cross-PAN reassignments (e.g. "Move Ravi's mediclaim → your §80D (₹7,800 saved)") — Family stacks, doesn't merge; filings stay per-PAN. No computation engine exists yet; the V1 OptimisationCallout component was a hardcoded, non-functional placeholder and was deleted 2026-08-01 rather than left as dead code. Tracked under ROADMAP.md V3 "family AI advisor + cross-PAN harvest". 2026-08-01
PILLAR.TAX.CONCERN Modal "Raise a concern about <CA>" — 3 fields: what / what happened / desired outcome. Route: tax-concern. 2026-07-10
PILLAR.TAX.LOCKED.CTA "Unlock for ₹249 →" + footer strip "Self ₹249 · AI Self ₹499 · Pro Family ₹799" + reminder "Past-AY reviews are always free" 2026-07-10
PILLAR.TAX.EMPTY.STATUS-BANNER "No tax documents parsed yet. Drop Form 16, Form 26AS, AIS, or TIS into Inbox to populate this page." 2026-07-10
PILLAR.TAX.INVARIANT.NO-FILING Chitragupt never submits the return. Filing is done by a CA (invited / hired). Quote: "Filing your ITR is a legal declaration. We don't push a 'submit' button on your behalf." 2026-05-31

Related

Sources

  • .context/designs/web/tax/*.html (12 files — see tax-pillar Sources)

Every project of mine is written down like this.

Read the résumé