Subscription billing works best when pricing, payment collection, account changes, and customer communication follow one documented workflow. This guide shows how to design recurring payment setup, estimate recovery outcomes, handle upgrades and cancellations, and create practical rules for proration, retries, grace periods, refunds, and revenue reporting.
Overview
A subscription system is more than a recurring charge. It is a sequence of decisions: which plan a customer selects, when the first payment is collected, how future invoices are generated, what happens when a card fails, and how the subscription ends. Making those decisions explicit reduces inconsistent support responses and makes your billing data easier to reconcile.
A reliable workflow usually connects five components:
- Catalog: Plans, prices, billing intervals, included usage, taxes, and optional add-ons.
- Billing engine: The system that creates invoices, calculates adjustments, and records subscription status.
- Payment processor: The service that authorizes and settles card, bank, or other supported payments.
- Customer communication: Receipts, upcoming-payment notices, failed-payment messages, renewal reminders, and cancellation confirmations.
- Operations and reporting: Reconciliation, refunds, disputes, revenue recovery, tax records, and access control.
Before launch, document the source of truth for each event. For example, the billing platform may own plan status while the processor owns authorization results. Your integration should use verified events or webhooks to synchronize those systems rather than relying only on a customer returning to a checkout page. For implementation details, see the Payment Gateway API Integration Checklist.
How to estimate
Use a simple model to estimate subscription revenue, payment costs, and the potential effect of failed-payment recovery. The model is not a forecast unless its assumptions are supported by your own records; it is a repeatable planning tool.
1. Estimate scheduled recurring revenue
Scheduled recurring revenue = active subscriptions × price per billing period.
If plans have different prices, calculate each plan separately and add the results. Exclude one-time fees, credits, taxes collected for remittance, and usage charges unless you intend to measure total invoiced value rather than recurring plan revenue.
2. Estimate payment costs
Estimated payment cost = processed volume × percentage fee + number of transactions × fixed fee.
Use the rates in your current merchant services agreement or payment processor dashboard. Keep card, ACH, and other payment methods separate because their fees, settlement timing, returns, and dispute processes may differ. Your estimate should also identify refunds, chargebacks, currency conversion, and any platform or invoice fees that apply.
3. Estimate failed-payment recovery
Recovered amount = failed amount × recovery rate.
Calculate the failed amount from a defined period, such as one billing cycle. Define “recovered” before measuring it: a successful retry, a customer-updated payment method, or funds actually settled may produce different totals. Track the result by failure reason, payment method, plan, and retry stage.
4. Estimate involuntary churn exposure
Revenue at risk = failed subscriptions × average subscription value.
This is a screening estimate, not a claim that every failed subscription will cancel. It helps prioritize recovery work and compare changes to your dunning workflow over time.
Inputs and assumptions
Record the following inputs in a worksheet or billing review dashboard. Add the date and source for each value so that another operator can reproduce the calculation.
- Active subscriptions by plan and billing interval.
- List price, discounts, credits, add-ons, and usage charges.
- Payment method mix, including cards and bank payments.
- Processor percentage fees, fixed fees, refund costs, and other contract charges.
- Invoices created, paid, failed, retried, refunded, and disputed.
- Average time from first payment failure to recovery or cancellation.
- Tax treatment, invoice requirements, and customer location rules applicable to your business.
- Whether the processor supports network tokenization or account-updater features, and which customer consent or operational conditions apply.
Choose a clear proration policy before customers can change plans. Common approaches include charging or crediting the unused portion of the old plan, applying the adjustment on the next invoice, or making changes effective at the next renewal. Each approach can be valid; consistency and clear disclosure matter more than choosing a single universal rule.
A practical policy template is: “Plan changes take effect [immediately/at the next renewal]. If an immediate change is selected, the billing system calculates a credit for unused time and a charge for the remaining time on the new plan. The exact adjustment appears on the invoice.” Have the final wording reviewed for the markets in which you sell.
For failed payments, define a dunning workflow with a status such as past due, a limited grace period, a set of retry conditions, and a final action. Avoid retrying indefinitely or treating every decline the same way. A soft decline may be appropriate for a later retry, while an expired card usually requires a payment-method update. Use processor documentation and your own results to set timing, and avoid claiming that any particular retry schedule is universally optimal.
Worked examples
Example 1: Comparing two plan mixes
Assume a business has 80 customers on a monthly plan priced at $30 and 20 customers on a monthly plan priced at $75. Scheduled recurring revenue is:
(80 × $30) + (20 × $75) = $3,900 per month.
If 4% of the monthly volume is estimated to fail initially, the failed amount would be $3,900 × 0.04 = $156. If the business later observes a 50% recovery rate for that defined cohort, the estimated recovered amount would be $156 × 0.50 = $78. These figures demonstrate the method; they are not a benchmark for another business.
Example 2: Estimating payment costs
Assume 100 monthly invoices produce $3,900 in processed volume. If your agreement uses a percentage fee of p and a fixed fee of f per successful transaction, estimated processing cost is:
$3,900 × p + 100 × f.
Replace p and f with the rates currently shown in your contract. If some invoices are paid by ACH and others by card, calculate each group separately rather than applying one blended rate without checking the underlying mix.
Example 3: Applying a plan change
A customer moves from a $30 monthly plan to a $75 monthly plan halfway through a 30-day billing period. Under an immediate-proration policy, the system could credit the unused half of the old plan and charge the unused half of the new plan. The illustrative adjustment is ($75 × 15/30) − ($30 × 15/30) = $22.50, before taxes or other adjustments. Your billing platform may use a different time basis or rounding method, so document and test its actual behavior before publishing the policy.
Failed-payment recovery checklist
- Capture the processor response and internal invoice ID.
- Classify the failure without exposing sensitive payment details to staff who do not need them.
- Send a clear message with the amount, due date, secure update path, and support contact.
- Retry only under the documented policy and processor guidance.
- Use an account-updater capability where available and appropriate, but do not assume it will update every payment method.
- Apply the grace-period rule consistently and record any access limitation.
- Close, pause, or cancel the subscription after the final notice, then issue a confirmation.
- Reconcile recovered payments against invoices and subscription status.
Refunds also need a written rule. State whether refunds are full or partial, how proration affects eligibility, when access ends, and how the customer receives confirmation. Separate a refund from a chargeback: a refund is initiated by the merchant, while a chargeback is a dispute process handled through the payment ecosystem.
When to recalculate
Recalculate the model whenever pricing inputs, processor terms, or observed payment behavior changes. At minimum, revisit it before launching a plan, changing prices, adding a payment method, migrating billing platforms, or changing the retry and cancellation workflow.
Run a monthly revenue-recovery review using the same definitions each time. Compare invoices created, initial failures, retries, recovered payments, refunds, cancellations, and remaining past-due balances. Investigate material changes by plan, country, payment method, and failure reason rather than relying only on an overall recovery percentage.
Also review the customer-facing policy when tax or invoicing requirements, consumer-protection expectations, processor capabilities, or payment authentication requirements change. For payment security responsibilities, consult the PCI Compliance for Small Businesses checklist and, where relevant, the guide to 3D Secure and Strong Customer Authentication.
Finish each review with three actions: update the assumptions sheet, test the affected billing and webhook paths in a non-production environment, and assign an owner and due date for any policy or integration change. That small operating rhythm keeps subscription billing software aligned with the commercial rules customers were shown and the payment events your systems actually receive.