SaaS subscription landing with Stripe checkout, trial eligibility, plan limits from Firestore, billing portal, and usage-aware account pages for inventory businesses.
We implemented a full subscription billing layer on the Finventory landing site with Stripe checkout, trials, webhooks, billing portal, and live plan limit enforcement UI.
Billing state syncs to Firestore so the web account area and main app share one source of truth for plans and access.
Trial expiry, cancellation during trial, and plan changes needed reliable server-side sync — not client-only checks.
Prospects could not compare record limits (companies, invoices, stock, ledgers) across plans before purchasing.
Users needed a clear review step before payment without surprise tax lines or incorrect trial pricing display.
Built checkout, setup intent, billing portal, and webhook handlers as Cloud Functions with secrets stored in Firebase.
Pricing page reads subscription_plans/{planId}.limits and renders per-plan comparisons on interactive limit cards.
Implemented trial eligibility, checkout review, router guards, and subscription access helpers across account flows.
Defined Firestore subscription schema, Stripe webhook events, and effective limits rules.
Built plans page, checkout review, billing page, and usage views with live plan data.
Fixed trial-used flags, cancellation states, and unsubscribed user routing after PIN verification.
"Prospects can compare plan limits before buying, and billing just works after checkout — trials, upgrades, and cancellations all stay consistent."
Need Stripe billing, trials, and plan limits on your SaaS landing page?