Skip to content
Ritesh FirodiyaGet in touch

Work / Chitragupt / Wiki / Concepts

freemium-per-ay

Conceptcanonicalverified 2026-06-26

CONCEPT.FREEMIUM-PER-AY

Freemium, one-time per AY

Summary

The platform is free to use as an Inbox; the Tax/Expense/Portfolio engine unlocks via a one-time payment scoped to a single assessment year — never a subscription, never auto-debit.

Why it matters

Tax filing is an annual event, not a monthly utility. A subscription would charge users in months they get no value, which is the wrong shape for the workload. A one-time-per-AY model also lines up cleanly with the refund window (24h after unlock, or 14 days / first export — see pricing-upgrade-topups): the user pays once, the engine runs once, and there is nothing recurring to cancel. Free-forever Inbox is the acquisition channel — get users organising documents in March, charge them when they want the answer in June.

Implications

  • No recurring billing infra. Every charge is a one-time order keyed by userId + AY + tier.
  • Past AYs are always free — the unlock applies only to the current AY engine.
  • Free-tier uploads land in view_only (no parse). On upgrade, every prior view_only doc auto-queues for parsing.
  • Upgrades within an AY are paid as deltas (top-ups), not new full-price purchases — see pricing-upgrade-topups.
  • Storage caps are tier-scoped and enforced at the signed-URL flow — see tier-free and tier-self.
  • Refund window resets on each top-up.
  • Auto-debit / subscription recurring is permanently out of scope.

Related

Sources

  • .context/wiki/concepts/* § "Hard constraints (V1)" — Pricing tiers, Past-AY-free, Free-tier-not-parsed, Refund window rows
  • .context/wiki/concepts/* § "Pricing — two streams, they stack, they don't substitute" — Stream 1
  • .context/wiki/concepts/* § "Hard rules" rule 12 (refund within 24h if nothing exported)

Every project of mine is written down like this.

Read the résumé