# SaaS Pricing & Billing: Stripe Implementation, Plans, Metering and Annual Discounts | Alher Tech

> SaaS billing is where pricing strategy meets engineering reality. Per-seat, usage-based, hybrid, freemium, annual discount, dunning, proration. The 2026 reference implementation on Stripe Billing, including the metering pipeline, webhook handlers and the pricing changes you can ship without migrating customers.

- Canonical page: https://alhertech.com/en/saas-guides/saas-pricing-billing-implementation/
- Site: Alher Tech (custom software, AI agents and SEO engineering, https://alhertech.com/)
- Contact: https://alhertech.com/en/contact/

---

SaaS billing is where pricing strategy meets engineering reality. Per-seat, usage-based, hybrid, freemium, annual discount, dunning, proration, mid-cycle upgrade: every business decision creates an engineering decision. The good news: in 2026, Stripe Billing handles 80% of what you need out of the box. The challenge is the 20% that's specific to your business model. This guide is the reference implementation we ship at Alher Tech.

## Pricing Models in 2026

- **Per-seat**: Most common in B2B SaaS. Predictable for the customer, easy to bill. Best when customer value scales with team size (Notion, Slack).
- **Usage-based**: API calls, transactions, AI tokens, storage. Aligns cost with value but creates billing-shock risk. Best when usage is variable and value is consumed.
- **Hybrid (per-seat + usage)**: Base seats + overage on usage metric. The dominant model for AI-native and infra SaaS in 2026.
- **Tiered / packaged**: Starter / Pro / Enterprise with different feature sets. Common for self-serve. Watch for entitlement complexity at the code level.
- **Annual contract / ACV**: Custom pricing for enterprise. Negotiated discount on annual upfront. The default for $25K+ deals.
- **Freemium**: Free tier to drive adoption, paid tier for value. Works only when free has low marginal cost. Watch for free abuse.

## Stripe Billing as the Foundation

- Subscriptions with multiple price tiers and configurable intervals
- Per-seat pricing with quantity adjustments mid-cycle
- Usage-based via metered billing + UsageRecord API
- Tax calculation via Stripe Tax (US, EU, UK, AU, more)
- Dunning: automatic retry on failed payments, customer email flows
- Customer Portal: self-service plan changes, payment method updates, invoice download
- Webhooks for every state change. Drive your application from these
- Stripe Tax for global tax compliance, which saves you from the mess of VAT, GST, sales tax

## The Reference Implementation

- **Customer + Subscription model**: One Stripe Customer per workspace. One Subscription with one or more SubscriptionItems for different products. Don't conflate Customer with User: billing is at workspace level.
- **Webhook handler**: Idempotent receiver for all subscription state changes. Source of truth: Stripe. Your DB is a cache. customer.subscription.updated, invoice.payment_succeeded, customer.subscription.deleted are the critical ones.
- **Entitlement layer**: Map Stripe price IDs to feature flags. 'Customer has Pro plan' resolves to 'unlimited API calls + advanced reports'. Don't hardcode prices in your app; map them through entitlements.
- **Usage metering pipeline**: Track usage events in your app, batch-report to Stripe (every 5-15 min). Idempotent in case of retries. Cap reports per customer to prevent runaway bills.
- **Customer Portal integration**: One-click button to Stripe-hosted portal for plan changes. Reduces support tickets dramatically.
- **Internal admin**: Override controls for support/sales: free trials, custom discounts, manual subscription edits. Don't let this be a Stripe-only operation.

## Common Patterns You'll Want

- Annual discount: separate price ID with the annual interval. Toggle on the customer portal lets users switch.
- Trial: trial_period_days on subscription. No credit card required for self-serve, card required for higher-touch.
- Proration: Stripe handles proration on plan changes. Test your handlers, because proration logic is subtle.
- Mid-cycle upgrade: instant access to new tier, prorated charge on the next invoice. Standard Stripe behavior.
- Mid-cycle downgrade: applies at the end of current period to avoid refunds. Also standard.
- Volume discount: tiered pricing on quantity. Bulk discount kicks in at break points.
- Usage caps: track usage in your app, soft-fail or alert before hitting hard cap. Don't let customers run up surprise bills.

## Pricing Changes Without Migrating Customers

Pricing pages change. Customer pricing usually shouldn't, unless you want to retain them. The patterns:

- **Grandfather existing customers**: Keep old prices on existing subscriptions. New customers see new prices. Stripe handles this naturally: old subscriptions reference old prices.
- **Migration with notice**: 30-90 day notice email, opt-in to new pricing. Customer Portal lets them switch. Some leave; most stay.
- **Forced migration**: Last resort. Update all subscriptions on a date, accept some churn. Reserved for major repositioning.
- **Add-on pricing**: Don't change the base price; add new SKUs that customers can opt into. Lower friction, lower churn risk.

## What Goes Wrong

- Webhook drift: webhooks missed, your DB and Stripe disagree. Run a daily reconciliation job.
- Entitlement bugs: customer downgraded but still has Pro features for a week. Drive entitlements off Stripe state, not local cache without TTL.
- Usage reporting failures: bug in metering = no charges, customer gets free service for a quarter. Monitor reporting volume.
- Tax surprises: forgot to enable Stripe Tax, owe back taxes. Enable from day one if you sell internationally.
- Failed-payment churn: payments fail, no dunning, you lose revenue silently. Configure dunning emails and grace periods.
- PCI scope creep: storing card details in your DB. Don't. Stripe Elements + tokenization keep you out of PCI scope.

## Cost and Timeline

| Scope | Cost | Timeline |
| --- | --- | --- |
| Basic Stripe + per-seat subscription | $10K – $25K | 2 – 4 weeks |
| Hybrid model with usage metering | $25K – $80K | 4 – 8 weeks |
| Full enterprise billing (custom contracts, ACV) | $60K – $200K | 8 – 16 weeks |
| Multi-currency, tax, regional pricing | $30K – $120K | 5 – 10 weeks |

## Bill Like It's Production Engineering

Billing is the most important system in your SaaS; it's literally how you collect revenue. Treat it like production engineering: idempotent webhooks, reconciliation, monitoring, audit. The teams that don't pay for it later in lost revenue and customer trust.

Stripe Billing handles 80% of the work. The remaining 20% (entitlements, usage metering, custom contracts) is where engineering quality determines whether your billing is a moat or a liability.

## Frequently asked questions

### Should I use Stripe Billing or Chargebee/Paddle?

Stripe Billing for most SaaS in 2026: best dev tooling, best integration ecosystem. Paddle for international SaaS that wants merchant-of-record (handles tax/compliance for you). Chargebee for complex enterprise billing logic Stripe doesn't natively support.

### How do I prevent runaway usage bills?

Soft caps with email alerts at 80% threshold. Hard caps that pause service or queue requests until next billing cycle. Customer-controlled spend limits in the portal. Trust matters more than maximum revenue.

### Can I change pricing without losing customers?

Yes if you grandfather. Keep old prices on existing subs, new prices for new customers. Stripe handles this. Most SaaS run 3-5 historical price tiers in parallel.

### What about taxes (VAT, GST, sales tax)?

Stripe Tax handles global tax calculation, registration where needed, and remittance in most jurisdictions. Enable from day one. Going back to fix tax 2 years in is expensive.

### Do I need a separate billing system for enterprise?

Stripe Billing handles up to ~$1M ACV deals comfortably. Past that, custom contracts, RFPs, multi-year deals start needing CPQ tooling (Salesforce CPQ, Subskribe, Maxio). Plan the upgrade path.

## Related guides

- [Building a SaaS MVP](https://alhertech.com/en/saas-guides/saas-mvp-development/)
- [Multi-tenant SaaS architecture](https://alhertech.com/en/saas-guides/multi-tenant-saas-architecture/)
- [API-first architecture](https://alhertech.com/en/saas-guides/api-first-saas-architecture/)
- [Our custom software services](https://alhertech.com/en/services/custom-software-development/)
