Recurring billing is the automated process of collecting payment from customers at regular intervals without requiring manual action each time. The customer authorizes an initial payment method, and the billing system charges that method on a defined schedule until the subscription is cancelled. It is the backbone of every SaaS business model.
How recurring billing works
At its core, recurring billing has a simple loop: charge the customer, wait for the interval to pass, charge again. But the details matter.
Each billing cycle has two phases. At the start of the period, the base plan price is charged in advance. The customer pays $99 on March 15 for access from March 15 to April 15. At the end of the period, any usage-based charges are calculated and added to the closing invoice. This is called a true-up.
The advance charge covers the predictable part of the bill (plan base price, included features). The true-up covers the variable part (metered overage, extra seats added mid-cycle, addon activations). Splitting the bill this way gives customers predictable costs upfront while still capturing variable revenue.
Billing intervals
Three billing intervals are standard in SaaS.
Monthly is the most common. The customer pays every 30 days (anchored to their subscription start date, not the calendar month). Monthly billing provides the lowest commitment for the customer and the most frequent revenue recognition for the vendor.
Quarterly charges every 90 days. Some B2B products offer quarterly billing as a middle ground between monthly flexibility and annual commitment. It is less common but useful when the sales cycle favors a quarterly cadence.
Yearly charges once every 12 months, typically at a discounted rate compared to monthly pricing. A plan that costs $99/month might be offered at $948/year ($79/month effective), giving the customer a 20% discount in exchange for a 12-month commitment. Annual billing improves cash flow predictability and reduces involuntary churn from payment failures.
Usage true-up across intervals
Here is a detail that catches many billing implementations off guard: usage-based overage is always calculated monthly, regardless of the billing interval.
A customer on a yearly plan at $1,188/year with 10,000 included API calls per month does not get 120,000 calls to use however they want across the year. They get 10,000 calls per month. If they make 15,000 calls in March, the 5,000-call overage is calculated and invoiced at the end of March, even though their next base charge is not due until next year.
This prevents a scenario where a customer front-loads their usage in the first month, consuming 100,000 calls, and then coasts for the remaining 11 months. Monthly true-up ensures overage is always measured against the monthly quota.
For more on how billing cycles and invoices interact, see the invoices and billing cycles documentation.
Payment collection
Recurring billing requires a stored payment method. When a charge is due, the system creates a payment intent against the customer's card or bank account. If the payment succeeds, the invoice is marked as paid and the subscription continues. If it fails, the subscription enters a dunning process with retry attempts.
The reliability of payment collection directly impacts revenue. Failed payments that are not recovered become involuntary churn. This is distinct from voluntary churn (customer actively cancels) and is often a larger source of lost revenue than cancellations.
Recurring billing vs. one-time charges
Recurring billing is not the only charge type in a subscription system. One-time charges appear alongside recurring invoices in several situations: credit pack purchases, addon activation proration, and plan upgrade proration. These are single charges that do not repeat.
The billing system must distinguish between the two because they affect revenue recognition differently. Recurring charges are recognized over the service period. One-time charges are recognized at the point of delivery.
Why recurring billing is hard
The concept is simple, but the implementation is full of edge cases. Timezone boundaries at period close, payment method expiration mid-cycle, partial refunds on prorated upgrades, currency conversion for international customers, and retry logic for failed payments all need to be handled correctly.
A single billing error at scale can affect thousands of customers simultaneously. Overcharging erodes trust. Undercharging erodes revenue. Getting it right requires treating the billing system with the same rigor as the product's core infrastructure.
Related
- Billing Cycle: the period between two invoice dates
- Subscription Billing: the broader model of charging for ongoing access
- Dunning: handling failed payments with retries
- Proration: fair mid-cycle adjustments when customers change plans
- Invoices and Billing Cycles: how cycles and invoices work together