Subscription Billing Infrastructure: How Stripe, Recurly, and Chargebee Work

Why Subscription Billing Is Harder Than It Looks

"We just charge a card every month. How hard can it be?"

That question has launched dozens of internal billing systems. Most of them became technical debt graveyards within two years. A few survived long enough to block acquisitions and delay IPOs because the revenue numbers they produced couldn't pass an audit.

Subscription billing looks simple on the surface. It is not simple underneath. Here is what a billing system actually has to handle:

Proration. A customer on your $50/month plan upgrades to $100/month on day 15. Do you charge $25 immediately? Credit $25 toward their next invoice? Apply the change at the next renewal? All three are technically valid. Each has different cash flow and revenue recognition implications. Now multiply that logic across thousands of simultaneous plan changes happening continuously.

Dunning. Approximately 10% of recurring payments fail on the first attempt - expired cards, soft declines, insufficient funds, bank-side fraud flags. Each failed payment requires a retry sequence. Retry too aggressively and you damage the customer relationship. Retry too passively and you leave recoverable revenue on the table.

Usage metering. Twilio, AWS, and Stripe itself charge based on consumption - API calls, messages sent, active seats. Usage metering requires real-time aggregation of usage events, reliable rollup into billing periods, and accurate invoice generation. At 10 million API calls per billing cycle, rounding errors become material line items.

Tax compliance. The US has 11,000+ distinct sales tax jurisdictions. The EU has 27 VAT regimes with different rates and B2B exemption rules. Digital services face specific treatment under rules like the EU's OSS scheme. Manual tax calculation is a compliance liability. Automated tax engines exist for a reason.

Revenue recognition. Under ASC 606 (US GAAP) and IFRS 15, subscription revenue must be recognized as the service is delivered - not when cash is collected. A customer who pays $1,200 annually upfront on January 1 does not generate $1,200 in January revenue. It generates $100/month over 12 months. Your billing system needs to generate the deferred revenue schedules your finance team and auditors require.

Building all of this correctly, maintaining it across card network rule changes and tax law updates, and keeping it secure enough to handle PCI-scoped card data - that is the actual scope of "just charge a card every month."

The mature answer is to buy this capability. The interesting question is which platform to buy.


The Core Billing Problems (And Why They're Non-Trivial)

Proration and Plan Changes

Proration is arithmetically simple and operationally complex. The math is straightforward: if a customer upgrades on day 15 of a 30-day cycle, they owe half the difference.

The complexity is in the edge cases. What about annual subscribers upgrading mid-year? What about customers who downgrade after a trial? What about companies that want to offer upgrade incentives without creating confusing credit balances on customer invoices? What about annual contracts with quarterly payment schedules?

Every billing platform handles proration differently by default. Stripe Billing defaults to immediate prorated charges. Chargebee offers four distinct proration modes configurable per-subscription. Recurly allows proration rules to be set at the plan level.

The wrong proration behavior, applied at scale, creates customer service issues, accounting headaches, and revenue leakage. Getting it right requires both good tooling and deliberate configuration decisions.

Dunning - The Art of Recovering Failed Payments

Failed payments are not a billing problem. They are a revenue operations problem.

The industry average for initial payment failure rates on recurring transactions sits around 10–12%. That sounds small until you realize that on a $1M ARR business, it represents $100K+ in revenue at immediate risk each month. Some portion of those failures are permanent (closed accounts, fraud). Most are recoverable.

Smart dunning - meaning ML-driven retry scheduling that accounts for time of day, card type, failure code, and historical patterns - can recover 20–30% of initially failed charges. Stripe's built-in smart retries are powered by their aggregate data across millions of merchants. That dataset is a real competitive moat.

The dunning experience also matters to customers. A well-designed failed payment email sequence - clear, non-accusatory, with a direct update-payment-method link - recovers revenue without damaging the relationship. A poorly designed sequence reads like a collections notice and triggers churn.

This is not something most product and engineering teams want to spend sprints building.

Usage-Based and Metered Billing

Usage billing has become the dominant model in developer-tools and infrastructure SaaS. OpenAI, Twilio, Snowflake, and Datadog all charge based on consumption rather than flat seats.

The challenge at scale: your billing system must ingest usage events in real time (or near-real time), aggregate them correctly across billing periods, handle late-arriving events, apply tier pricing logic (first 1M API calls at $0.001, next 9M at $0.0008), and generate auditable invoices. If a customer disputes a $50,000 usage invoice, you need to produce a line-by-line breakdown.

Building this infrastructure in-house is a multi-quarter project for a senior engineering team. Stripe Billing and Chargebee both offer native metered billing primitives. Maxio (formerly SaaSOptics/Chargify) has made usage billing a specific product focus.

Tax Compliance

US sales tax on SaaS is a state-by-state patchwork. Some states tax SaaS as a service. Some tax it as software. Some exempt B2B SaaS entirely. South Dakota v. Wayfair (2018) created economic nexus rules that mean a SaaS company with $100K in annual revenue in a state may have tax obligations there even without physical presence.

EU VAT adds another layer: B2C digital services sold to EU consumers are taxable in the consumer's country of residence, not the seller's. The EU OSS (One Stop Shop) scheme simplifies filing but not the underlying calculation complexity.

Stripe Tax, Avalara, and TaxJar integrate directly with billing platforms to handle tax calculation and, in some cases, filing. This is almost always cheaper than building it, and it shifts compliance liability to a specialist.

ASC 606 and Revenue Recognition

This is where billing infrastructure becomes a finance infrastructure problem.

ASC 606 requires revenue to be recognized as performance obligations are satisfied. For SaaS, that typically means ratably over the subscription term. For professional services bundled with SaaS, it may require allocation of the contract price across different obligation types.

Annual contracts paid upfront are the most common example: $12,000 collected in January needs to be recognized as $1,000/month. Your billing system needs to track the deferred revenue balance and generate the schedules your accountants use.

Public companies and those preparing for Series B+ audits cannot operate without compliant revenue recognition. Chargebee's RevRec module and Maxio are specifically designed for this. Stripe Billing can produce the necessary data with additional configuration.


The Main Platforms and Who Should Use Each

The billing platform market has consolidated around a handful of serious contenders. Here is the honest assessment of each.

Stripe Billing

Stripe Billing is the default choice for developer-first companies that are already on Stripe Payments.

The developer experience is genuinely excellent. Stripe's API documentation is the benchmark the rest of the industry compares against. Smart retries leverage Stripe's aggregate payment data across millions of merchants - a real advantage over platforms with smaller datasets. The webhook and event infrastructure makes it easy to build operational tooling on top of billing events.

The weaknesses are real. Stripe Billing gets expensive at scale - 0.5–0.8% of billing volume on top of payment processing fees adds up quickly at $10M+ ARR. The reporting and analytics are adequate but not exceptional. Complex enterprise billing scenarios (multi-entity, highly customized contract terms, sophisticated add-on structures) can become difficult to model.

Stripe Billing is the right default for early-to-mid-stage companies that value developer velocity and are already in the Stripe ecosystem.

Recurly

Recurly sits in the mid-market sweet spot: more flexible than Stripe Billing for complex pricing, less expensive and complex than Chargebee or Zuora.

Recurly's dunning logic is strong and highly configurable. Multi-gateway support is a genuine differentiator - companies that want to route transactions across multiple processors for redundancy or interchange optimization can do so without leaving Recurly. The analytics and subscription metrics (MRR, churn, LTV cohorts) are better out of the box than Stripe's.

The weakness: Recurly is less tightly integrated with a payment processor than Stripe Billing is with Stripe. If you are building on Stripe Payments and want billing too, Recurly adds integration complexity.

Recurly is the right choice for mid-market SaaS companies with complex pricing models (multiple tiers, add-ons, trials, coupons) that are not already deep in the Stripe ecosystem.

Chargebee

Chargebee targets B2B SaaS companies scaling toward enterprise, specifically those approaching the point where finance and revenue operations demands start driving platform decisions.

The ASC 606 / IFRS 15 compliance features are the best in class at this price tier. Chargebee RevRec generates the deferred revenue schedules and revenue waterfall reports that finance teams need for audits. The Salesforce and NetSuite integrations are mature and production-tested. For companies with high-touch sales motions - custom contracts, negotiated pricing, multi-year deals - Chargebee handles the billing complexity that Stripe Billing struggles with.

Chargebee is significantly more expensive than Stripe Billing at comparable volumes. It is also more operationally complex to configure.

Chargebee is the right choice for B2B SaaS companies that have outgrown Stripe Billing's reporting capabilities, are preparing for a Series B or C audit, or have enterprise contract structures that require genuinely flexible billing logic.

Zuora

Zuora is the enterprise standard for large organizations with highly complex subscription billing - telecommunications companies, enterprise software vendors, media companies with multi-product bundles.

It is expensive, implementation-heavy (plan on a multi-month professional services engagement), and carries significant operational complexity. Zuora is the right answer for a $500M revenue business with 12 product lines and a 50-person finance team. It is overkill for most software companies under $50M ARR.

Building Your Own

Sometimes it makes sense. Mostly it does not.

The scenarios where in-house billing is genuinely justified: highly novel pricing models that no existing platform can represent, regulated financial services requiring specific infrastructure controls, companies with billing volumes above $500M annually where the platform fees become material relative to engineering cost.

For everyone else, the math does not work. The hidden costs of in-house billing include: senior engineering time to build and maintain the system (conservative estimate: 2–3 engineers, full-time, in perpetuity), ongoing compliance work as tax laws and card network rules change, PCI scope implications if card data flows through your systems, and audit risk if revenue recognition logic contains errors. The platforms charge 0.5–1.0% of billing volume. At $5M ARR, that is $25K–$50K per year. Two senior engineers cost more than that before salary.

Platform Comparison

Platform Best For Pricing Model Key Strengths Key Weaknesses Notable Customers
Stripe Billing Developer-first, Stripe-native SaaS 0.5–0.8% of billing volume Best DX, smart retries, tight Stripe integration Expensive at scale, limited enterprise billing logic Notion, Figma, Intercom
Recurly Mid-market SaaS, complex pricing ~$249–$559/mo + % of revenue Strong dunning, multi-gateway, better analytics Less integrated than Stripe Billing for Stripe users Sling TV, BarkBox, FabFitFun
Chargebee B2B SaaS scaling toward enterprise ~$599/mo+ at scale Best ASC 606, Salesforce/NetSuite integrations High cost, complex setup, overkill pre-Series B Freshworks, Okta, Drift
Zuora Large enterprise, multi-product Enterprise contract (six figures+) Maximum flexibility, enterprise-grade Heavy implementation, expensive, complex Zoom, Ford, Box
Build in-house Unique pricing, very high volume Engineering cost (2–3 FTEs) Full control, no platform fees at scale Maintenance burden, compliance risk, opportunity cost Amazon, Netflix


The Migration Problem

Here is the cost nobody discusses when evaluating billing platforms: switching.

Moving from Stripe Billing to Chargebee - or from Recurly to Zuora - is not an export-import operation. Subscription state is complex. Each active subscriber has a current plan, a billing cycle anchor date, a proration history, an outstanding credit balance, a dunning status, a payment method on file, and potentially years of invoice history. That state is stored inside the billing platform and represented in its data model.

A billing migration requires your engineering team to export all subscription data, transform it into the new system's data model (which will not map cleanly), migrate payment methods via PCI-compliant vault transfer agreements, re-create all active subscriptions, and run parallel systems long enough to be confident the new system produces correct invoices.

Realistic timeline for a company with 5,000 active subscribers: three to six months. Realistic cost at a senior engineer's fully-loaded compensation: $150K–$300K.

This is not a reason to avoid buying billing infrastructure. It is a reason to be deliberate about which platform you choose. Treat the decision with the same seriousness as your database or ERP selection. Migrating off the wrong billing platform is expensive and introduces revenue recognition continuity risk - auditors take a close look at billing system migrations.

The build-vs-buy question in billing is more precisely a buy-carefully-because-you-are-also-choosing-your-switching-cost question. Pick Stripe Billing if it fits your current and foreseeable needs. Pick Chargebee if you are heading toward enterprise contracts and public-company-grade reporting. Do not pick either as a temporary measure with a vague plan to migrate later.


Key Takeaways

  • Subscription billing is not "charge a card monthly." Proration, dunning, usage metering, tax compliance, and ASC 606 revenue recognition are each non-trivial engineering and compliance problems that billing platforms have already solved.
  • Smart dunning (ML-based retry logic) recovers 20–30% of initially failed charges. Stripe Billing's data advantage here is real and is one of the strongest arguments for staying in that ecosystem.
  • Platform selection maps to company stage: Stripe Billing for early-stage developer-first companies; Recurly for mid-market SaaS with complex pricing; Chargebee for B2B companies approaching enterprise scale and audit readiness.
  • Building in-house is almost never the right answer below $500M ARR. Two senior engineers cost more than the platform fees, and the ongoing compliance maintenance never ends.
  • Billing platform migrations are expensive and risky. Treat the initial platform selection as a multi-year commitment, not a decision you can easily revisit.
  • Revenue recognition compliance (ASC 606) is increasingly a selection criteria, not a nice-to-have. If you are raising a Series B or preparing for an audit, choose a platform with native RevRec support before you need it, not after.

Related Reading


Free Weekly Fintech Insights

Billing infrastructure decisions have long-term consequences for engineering roadmaps, audit readiness, and finance operations. FinTekCafe publishes weekly analysis for product managers and finance leaders evaluating the infrastructure behind modern financial services.

Subscribe free → | Explore Pro membership →