Billing Operations

Subscription billing operations

Connect subscription charges, payment recovery, order release and prepaid deliveries to each delivery commitment.

Run subscription billing around each delivery commitment: what is due, whether payment was collected, whether an order can be released, and what the customer is still owed. Keep the plan, payment attempts, order and fulfilment record connected without treating them as one event.

Give each delivery a clear state

Record the subscriber, plan, delivery covered, expected charge if any, change deadline and intended fulfilment window. An operating view can distinguish deliveries that are scheduled, awaiting payment, paid, held, released for packing, dispatched or awaiting a remedy. Define who can move a delivery between states.

Under a payment-before-dispatch policy, a pay-per-delivery parcel needs its required payment before release. A prepaid parcel can be due without a new charge. In Shopify, a subscription app creates pay-per-delivery orders at recurring intervals, while one advance-paid order can contain several scheduled fulfilments. Check how the installed app represents these commitments before building a report around its order labels.

Shopify represents a prepaid subscription as one order with multiple scheduled fulfilments. It remains Scheduled between fulfilment dates; when a date arrives, its status changes to Unfulfilled, then returns to Scheduled after fulfilment until the next date. The order's fulfilment cards separate fulfilled, unfulfilled and scheduled items, so the next due parcel can be checked without treating the whole order as ready to dispatch.

In Shopify, filter the Orders page by Scheduled fulfilment to review upcoming work that needs no immediate action. Filter by Unfulfilled to find prepaid orders ready for fulfilment, then sort by oldest date first so older orders do not sink to the bottom of the list. You can save this filtered and sorted view for repeat use during fulfilment runs.

Subscription Delivery Lifecycle in Shopify

Scheduled
Initial state; delivery is planned but not yet due for fulfilment.
Unfulfilled
Delivery date has arrived; payment confirmed and ready for packing.
Fulfilled
Parcel dispatched; record updated to reflect delivery completion.
Scheduled (post-fulfilment)
Returns to scheduled status after completion, awaiting next cycle.

Pay-Per-Delivery vs Prepaid Subscriptions in Shopify

Pay-Per-Delivery
Each delivery generates a new order; payment required before dispatch.
Prepaid Subscription
One order covers multiple deliveries; payment made upfront.

Coordinate billing and release

Set separate points for customer changes, the intended billing attempt, payment review and final order release. State which parcel a cutoff affects and give its time zone. A change to a subscription after an order has been released may need separate handling for that order.

Check sign-ups around the first-cycle cutoff, skips and payments recovered after the intended charge date. If recovery misses the packing window, decide which later run can take the parcel and update the customer. A scheduled charge date is not an arrival promise.

Keep the subscription contract and its individual cycle distinct when recording changes. Shopify's developer documentation describes a billing cycle as one period of billing and delivery information that inherits its default schedule and contract details from the source contract. Changes to an upcoming cycle can be made without overwriting the source contract, helping preserve the standing plan while managing a particular delivery.

Billing and Release Coordination Workflow

  1. Customer Change DetectedRecord change and determine which delivery cycle it affects.
  2. Intended Billing Attempt ScheduledSet charge date with time zone context; align with delivery window.
  3. Payment Review & Exception HandlingAssess success/failure; assign ownership if payment fails.
  4. Final Order Release DecisionConfirm whether parcel is held or released before packing run.

Own payment exceptions

Treat an unsuccessful charge as an open exception for the affected delivery. Record the reason the provider supplies, the next permitted action and whether the parcel is held, and name who owns the exception and who follows it up. Set a retry limit and a rule for an unresolved charge so an old exception cannot enter a later packing batch unnoticed.

Retry mechanics — how many attempts, the interval between them and what happens after they fail — belong with failed-payment handling; the concern here is ownership at the billing-to-fulfilment handoff. Whoever owns that handoff confirms whether the parcel is held or released before the next packing run, and is responsible for telling the customer where the delivery now stands.

Check that any automatic message triggered by a failed attempt or a post-failure action matches the actual subscription and parcel state before it reaches the customer.

Reconcile charges, orders and deliveries

For each delivery, compare the expected charge with attempts and collected payment, then compare the order with fulfilment, so that a recovered charge and a separate order are not run together. Classifying a recovered charge against a separate checkout or a later scheduled cycle belongs with failed-payment handling.

At the end of a run, investigate paid deliveries without the expected order, orders released without the payment required by their plan, and deliveries due without a fulfilment plan. Include prepaid deliveries in that last check even when no charge is due, and link refunds and remedies to the affected order.

Do not assume that changing an order also changes the recurring arrangement. In Shopify, editing an order containing a subscription item does not modify the subscription contract; changes intended to apply to future fulfilments must be made in the subscription management application.

Post-Fulfilment Reconciliation Checks

  • Paid delivery without expected order?Investigate mismatch; ensure no duplicate or missing records.
  • Order released without required payment?Verify billing compliance; prevent premature dispatch.
  • Delivery due without fulfilment plan?Check prepaid deliveries even when no charge is due.
  • Refunds and remedies linked to correct order?Ensure adjustments are traceable and auditable.

Keep the customer record consistent

Show the next charge, the delivery it covers, planned dispatch and remaining prepaid deliveries separately. Explain what a skip, pause or cancellation changes before confirming it.

Australian price displays for consumer offers are subject to consumer law: the ACCC educates businesses about their responsibilities under it and can investigate a business it considers has broken the law about displaying prices. The billing description should match the plan actually supplied.

Where customer accounts are active, Shopify customers can manage subscriptions from their account; legacy-account customers can be given access through the subscription management URL. Customers can also reach subscription management from automated subscription emails. Make the available management route clear so that a customer's requested change can be checked against the affected delivery before fulfilment proceeds.

In this guide

  1. Handling a subscription payment that failsIdentify the failed charge, decide whether its parcel is held, guide the customer and close the payment exception.
  2. Distinguishing a billing retry from a new orderTrace the intended cycle, payment attempts and order records to recognise a recovered charge and investigate duplicates.
  3. Reconciling prepaid subscriptions with delivery commitmentsTrack each parcel funded by a prepaid subscription and resolve the deliveries still outstanding.

More from Billing Operations

Billing Operations

Forecasting subscription revenue with explicit churn assumptions

Build a planning forecast from due billing cycles, stated churn, skips, sign-ups and prices, then separate expected charges from collected cash.