SaaS subscription billing design is product architecture: plans, entitlements, taxes, failed payments and upgrades must stay consistent or support becomes chaos.
Core objects to model early
- Customer, subscription, plan, price, invoice
- Entitlements (what features a plan unlocks)
- Trial and grace periods
- Payment method and dunning state
- Proration rules for upgrades/downgrades
Build vs billing provider
Most teams should use Stripe, Razorpay or Chargebee for tax/PCI complexity and keep entitlements in your app. Custom billing engines are rarely worth it before Series B. Wire providers through clean API development boundaries inside SaaS development.
Edge cases that break naive checkouts
- Failed renewal while users still work
- Seat changes mid-cycle
- Discounts and annual vs monthly
- GST invoices for Indian customers
- Refunds that must revoke access
Entitlement sync pattern
- Webhook updates subscription status
- App recomputes entitlements
- UI reads entitlements — never raw Stripe fields
- Admin can override with an audit log
Metrics finance will ask for
MRR, churn, failed payment rate, trial conversion. Instrument these from day one. Pair with multi-tenant architecture so invoices map cleanly to tenants.
Map billing states before coding UI
Book a call and we will sketch your plan catalogue and entitlement matrix.


