next_renewal_at date advances. Every renewal cycle has its own status, attempt history, and — when applicable — approval state.
Renewal cycle statuses
A
failed cycle that failed because of a payment error will trigger dunning automatically. See Dunning for how payment recovery works.How renewal execution works
Renewal cycles are processed by a background scheduler that runs every five minutes. The scheduler discovers all cycles with statusscheduled or failed whose scheduled_for date is in the past and runs the execution workflow for each.
During execution, the workflow:
- Validates that the linked subscription is eligible (not paused or cancelled).
- Checks whether approval is required and has been granted.
- Re-validates the current plan offer policy, including any pending plan changes.
- Creates the renewal order using the subscription’s current plan and shipping address.
- Applies any approved pending plan change to the subscription’s active cadence.
- Updates
next_renewal_atand creates the next scheduled renewal cycle.
The approval flow
Some renewal cycles require admin approval before they can execute — for example, when a plan change is pending and your configuration requires human review before the change takes effect. When approval is required, the cycle will not run until an admin approves it. Approval statuses:
You approve or reject a cycle from its detail page in the Admin renewals queue. Rejection requires a reason; approval does not.
Manual force renewal
You can run a renewal cycle immediately from the Admin regardless of its scheduled date using the force renewal action. Force renewal uses the same execution workflow as the scheduler — the only difference is that it runs on demand.If a cycle requires approval, you must approve it before a force renewal is allowed.
What happens when a renewal fails
When a renewal cycle fails after successfully creating the renewal order, Reorder starts a dunning case automatically. The subscription moves topast_due and the dunning scheduler begins retrying the payment according to the configured retry schedule.
If the renewal fails before an order is created — for example, due to a validation or eligibility error — dunning is not started. The cycle remains in failed state and can be retried manually using force renewal.
Skipping a cycle
When you or a customer enables skip next cycle on a subscription, the upcoming renewal cycle is not cancelled — instead, it is skipped during execution and rescheduled for the following period. Theeffective_next_renewal_at field shows the projected delivery date after the skip, while next_renewal_at remains the internal billing anchor.
To skip the next delivery:
- Admin users can use the subscription detail page.
- Customers can call
POST /store/customers/me/subscriptions/:id/skip-next-delivery.
skip_next_cycle flag resets to false after the skip is applied.