A subscription is not one recurring charge. It is a continuing agreement translated into billing attempts, orders, inventory commitments, fulfillment work, customer choices, communications, returns, refunds, and accounting. Weak coordination creates overselling, surprise charges, avoidable churn, duplicate shipments, and support debt.
Scope disclosure: This is an operational guide, not legal, tax, accounting, or payment-network advice. It does not claim a ChoiceRidge production implementation. Sources are first-party product and platform documentation checked August 31, 2026; visuals are original editorial assets.

Define the objects
Keep these concepts separate:
- Offer or plan: product, price, discount, frequency, term, and eligibility.
- Subscription contract: the customer's continuing selection and rules.
- Billing attempt or invoice: a request to collect money at a point in time.
- Order: the commerce record created for fulfillment.
- Fulfillment: physical or digital delivery work.
- Payment state: pending, paid, action required, failed, refunded, or disputed.
- Customer preference: skip, pause, reschedule, swap, address, or payment change.
Shopify notes that editing one subscription order does not necessarily update the future subscription contract. Every operating procedure must state which object it changes.

Design the renewal timeline
Work backward from fulfillment:
- Forecast upcoming renewals and inventory demand.
- Give the customer an appropriate reminder and self-service window.
- Lock changes at a documented cutoff.
- Validate address, product, price, tax, shipping, and payment readiness.
- Attempt collection and handle required authentication.
- Create or release the order only under the defined payment policy.
- Allocate stock and fulfill.
- Send accurate tracking and post-delivery communication.
- Reconcile payment, order, shipment, refund, and accounting records.
The timeline differs for pay-per-delivery and prepaid subscriptions. Shopify documents prepaid orders as one order with scheduled fulfillments, while pay-per-delivery creates recurring orders.
Inventory controls
Subscriptions create future demand but not certainty. Build forecasts by SKU, frequency, renewal date, expected skips/cancellations, recovery rate, lead time, safety stock, and substitute policy.
Decide what happens when stock is insufficient:
- delay and notify;
- offer a substitute with explicit approval;
- skip without charge;
- partially fulfill;
- cancel and refund;
- reserve stock earlier for prepaid commitments.
Test bundles and product swaps because component inventory can fail even when the subscription product appears available.
Failed payments and dunning
Some payment failures are temporary; others require a new method or customer authentication. Stripe documents webhook-driven subscription states and events such as invoice.payment_failed, plus retry policies. A robust process should:
- classify the failure without exposing sensitive details;
- stop duplicate attempts;
- select a permitted retry schedule;
- provide a secure payment-update path;
- coordinate access or fulfillment policy;
- terminate, pause, or mark unpaid according to defined rules;
- reconcile recovery and communication.
Measure recovered contribution margin, not just recovered gross revenue. Excessive retries can increase complaints and network risk.
Customer self-service
A useful portal should expose the actions customers actually need: view the plan, next date and price; skip; pause; reschedule; change frequency; swap; add a one-time item; update address or payment; and cancel clearly.
Recharge's custom-portal documentation maps these actions to subscription, charge, address, payment, and order resources. Test the hosted portal before funding custom development. Custom portals add authentication, authorization, key management, accessibility, testing, and maintenance obligations.
Cancellation and retention
Retention should improve fit, not obstruct exit. Offer pause, skip, frequency adjustment, or a relevant alternative when it genuinely solves the customer's stated problem. Keep cancellation clear, record the reason without coercion, and confirm the outcome and remaining obligations.
Review requirements with qualified counsel in every market served. Rules around disclosures, reminders, cancellation, refunds, and consent can change.
Metrics that can be trusted
Define formulas and sources for:
- active subscribers and subscriptions;
- gross and net recurring revenue;
- voluntary and involuntary churn;
- renewal success and payment recovery;
- skip, pause, and reschedule rate;
- fulfillment accuracy and on-time delivery;
- refund, return, chargeback, and support-contact rate;
- contribution margin by cohort;
- inventory write-off and stockout rate.
Do not use “active” without specifying whether it refers to contract, paid invoice, access, or upcoming fulfillment.
Software-selection requirements
Test the platform, subscription app, processor, OMS, WMS/3PL, helpdesk, and marketing system as one workflow. Score:
- platform and checkout compatibility;
- pricing plus transaction fees;
- portal actions and accessibility;
- failed-payment recovery controls;
- prepaid, gifts, bundles, swaps, and one-time add-ons;
- inventory and fulfillment state handling;
- APIs, webhooks, scopes, logs, retries, and exports;
- permissions, auditability, security, and data retention;
- migration and rollback.
Incident scenarios
Run tabletop tests for:
- Payment processor outage during renewal batch.
- Duplicate webhook and duplicate order risk.
- Popular SKU out of stock after reminders are sent.
- Address changed after warehouse cutoff.
- Customer canceled but a downstream order remained open.
- Incorrect price or tax applied to a cohort.
- Subscription app unavailable during support contact.
- Migration totals do not reconcile before cutover.
Each scenario needs owner, detection, containment, customer communication, recovery, financial reconciliation, and retrospective.
A monthly reconciliation pack
Create one operational pack that compares opening contracts, new subscriptions, renewals due, successful collections, failures, recoveries, pauses, skips, cancellations, refunds, chargebacks, orders created, shipments delivered, and closing active contracts. Differences should reconcile to named states rather than an unexplained “timing” bucket.
Segment the pack by product, cohort, renewal number, payment method, destination, and fulfillment location. This exposes a recurring offer that looks healthy in aggregate but loses margin through stockouts, discounts, shipping, support, or late-stage churn.
Next decision
Read the Recharge review, Failed Payment Recovery Guide, OMS vs WMS vs Inventory Management, and Loop Returns review.