Upgrade. Downgrade. Without losing the customer.
A customer on the €19 plan wants to move to the €49 plan today. Or the reverse: they're paying €49 and want to step down to €19 instead of cancelling. The plugin handles both — with prorate, with token reuse, with no second checkout.
Switch in a few clicks. The plugin does the maths.
The customer picks the new plan from their My Account → Subscriptions page. The plugin calculates the prorated balance, applies it as credit (upgrade) or as a positive remainder (downgrade), reuses the saved payment token, and updates the renewal cycle.
- Token reuse. The saved Stripe / PayPal / WooPayments / Redsys token is reused. Customer doesn't re-enter card data.
- No second checkout. The switch happens in-place. No abandoned cart, no friction.
- Prorate, your way. You decide how prorate is computed (full amount, daily, none) and whether it shifts the next payment date or not.
- Signup fee, optional on switch. Charge it on the switch or skip it. Per-product setting.
- Variable products. Downgrade within a variable subscription product (e.g. monthly → yearly variation) is supported as a special case.
Switch plan
ActiveNo prorate? Full prorate? Charge the signup fee on switch? You decide.
All settings live under WooCommerce → Settings → Advanced Subscriptions → Advanced. Each one is on/off or a small enum. No code required for any of these decisions.
| Setting | What it does | Default |
|---|---|---|
aswc_enbale_downgrade_upgrade_subscription | Master toggle to allow customers to switch plans from My Account. | Off |
aswc_downgrade_variable_subscription | Allow downgrading within a variable subscription product (e.g. yearly → monthly variation). | Off |
aswc_enable_prorate_on_price_downgrade_upgrade_subscription | Apply prorate when switching plans. | On |
aswc_enable_signup_fee_downgrade_upgrade_subscription | Charge the new plan's signup fee on a switch. | Off |
aswc_manage_prorate_amount | How the prorate amount is computed (full / daily / fixed). | Daily |
aswc_manage_prorate_next_payment_date | Whether the prorate also shifts the next payment date forward. | Off |
aswc_prorate_no | Hard override: never prorate. Useful for flat-price businesses. | Off |
aswc_prorate_price_on_sync | Prorate the next payment when syncing to an anchored day. | Off |
A switch is not a churn.
When a customer downgrades because the current plan is too much, the right answer is to keep them on the cheaper plan, not to lose them. The plan-switching engine lets a downgrade replace a cancellation — and lets an upgrade happen without sending the customer back through checkout.
Combine it with Customer self-service: pause, switch and change-payment-method together cover the three most common reasons a subscription would otherwise end. The math on retention compounds fast.