Plan Switching allows customers to move between subscription plans (upgrade or downgrade) mid-cycle without cancelling and re-subscribing. DMSI Subscriptions Pro handles the proration calculation, payment adjustment, and billing date reconciliation automatically.
📌 What This Extension Adds: Core DDLS does not support mid-cycle plan changes. Subscriptions Pro adds the plan switch request flow, proration engine, prorated order creation, and license tier adjustment on switch.
Upgrade vs Downgrade #
| Direction | Description | Payment | Timing |
|---|---|---|---|
| Upgrade | Moving to a higher-priced plan | Prorated charge for the remaining current period billed immediately | Immediate — new plan activates at once |
| Downgrade | Moving to a lower-priced plan | Credit for unused days of current period applied to next renewal | Next cycle — new plan activates at next renewal |
The upgrade/downgrade direction is determined by comparing the new plan price against the current plan price.
How a Plan Switch Works (Upgrade Example) #
- Customer selects a new plan in the customer portal.
- Subscriptions Pro calculates the proration: cost of new plan for remaining days minus credit for unused days of old plan.
- A proration preview is shown to the customer with the charge amount.
- Customer confirms the switch.
- A prorated WooCommerce order is created and payment is collected.
- The subscription plan is updated. License tier is adjusted.
- The next billing date remains unchanged (billing cadence preserved).
- A plan switch confirmation email is sent.
Immediate vs Next-Cycle Switching #
Upgrades take effect immediately. Downgrades take effect at the start of the next billing cycle. This behaviour can be modified by customising the dmsilm_sp_plan_switch_timing filter.
Plan Switch Logging #
All plan switches are logged to WooCommerce order notes on the subscription record, including the from-plan, to-plan, proration amount, and timestamp.
For detailed proration calculation logic, see Proration Calculation.
