Use immediate proration when access should change now and the customer can settle the unused-value difference. Defer the switch when the current paid entitlement should remain through renewal. Use no proration only when charging the full replacement plan now is intentional. Define credits, failed payments, taxes, fees, and effective dates before launch.
Key takeaways
- Proration controls money, entitlement timing, and the billing anchor together.
- ArraySubs provides immediate, apply-at-renewal, and no-proration modes globally.
- A downgrade surplus is an internal subscription credit in current code, not automatically cash.
- “No proration” currently means full target price now and a new anchor.
- Minimum-charge, rounding, tax, coupon, and target pricing phases require careful testing.
Compare the three methods

| Method | Cash at request | Access changes | Next billing anchor |
|---|---|---|---|
| Prorate immediately | Net remaining-period amount; downgrade can create internal credit | After switch order is paid | Existing date for same cadence; cycle change can reset |
| Apply at next renewal | None now; target amount and fee on next renewal | After target renewal is paid | Existing renewal date |
| No proration | Full target price plus fee now | After switch order is paid | New target cycle from switch |
The saved ArraySubs global setting is authoritative. Switching can be limited by status and upgrade/downgrade/crossgrade permissions, and a pending cancellation blocks the normal switch path.
Immediate proration formula
For a simplified same-cadence change:
unused current value = current daily rate × days remaining
remaining target value = target daily rate × days remaining
net due now = max(0, remaining target value − unused current value)
credit candidate = max(0, unused current value − remaining target value)
Assume a 30-day month, 15 days remaining, and an upgrade from $30 to $60:
unused current value = ($30 ÷ 30) × 15 = $15
target remaining value = ($60 ÷ 30) × 15 = $30
net due = $15
For a downgrade from $60 to $30, the same arithmetic creates a $15 credit candidate and $0 due now. Current ArraySubs stores that surplus as internal subscription credit; it is not automatically a gateway refund or a general store wallet.

Illustrative arithmetic excludes tax, shipping, coupons, fees, refunds, and gateway costs.
Deferred change
Apply-at-renewal stores one pending switch while keeping the current product and access. The next invoice uses the target product/price and captured fee. Only after that renewal is paid does the subscription product and entitlement change.
This method fits a downgrade where the customer should keep the tier already purchased. It also avoids creating an immediate credit. If the target renewal remains unpaid, the target entitlement is not granted; ordinary failure and grace rules still apply.
Full-price replacement
Current “No Proration” behavior charges the full target recurring price now, adds any switch fee, and starts a new target cycle after successful payment. It is not “change for free.” Use customer copy such as “full-price replacement beginning today” and show the new next date before confirmation.
Choose by entitlement, not formula alone
Choose immediate when the buyer needs higher-tier access now, the adjustment can be paid reliably, and the store can explain the amount and next date. Choose deferred when paid access should remain intact or a clean boundary simplifies operations. Use full-price replacement only when overlapping value and the new anchor are deliberate.

Current limitations to disclose
- Current calculator approximates day/week/month/year as 1/7/30/365 days.
- The UI’s configured minimum charge is not enforced by the inspected plan-switch calculator.
- The UI rounding choice does not currently drive this calculator’s two-decimal rounding.
- Timing is global; “upgrades now, downgrades later” is not a native split policy.
- Coupon, tax, shipping, zero-total, and gateway authentication interactions need representative tests.
- Target trial, signup-fee, and different-renewal-price phases do not reliably transfer through all switch paths.
- Legal refund requirements vary; arithmetic does not decide whether a cash refund is due.
WooCommerce’s own switching documentation is useful ecosystem context, but its formulas and coupon behavior should not be attributed to ArraySubs without testing (switching costs).
For the timing decision without the formulas, read Immediate vs Next-Renewal Plan Changes.
Final recommendation
Publish one plan-change policy that states the amount, effective date, access result, next renewal date, and credit/refund result. Test the real order with every relevant gateway and modifier. Compare ArraySubs plans.
Frequently asked questions
What is subscription proration?
Proration allocates old-plan and target-plan value across the remaining billing period. A complete policy also defines access timing, next billing anchor, credit versus refund, and the result when the adjustment payment fails.
Should upgrades be immediate and downgrades deferred?
That is a common policy, but current ArraySubs timing is global rather than split by direction. Implementing different timing by direction needs a supported customization or product change.
Is a downgrade credit refunded in cash?
Not automatically. Current ArraySubs can store excess value as internal subscription credit. Whether cash is required depends on the disclosed contract, product delivery, jurisdiction, and merchant policy.
Does “no proration” mean no immediate payment?
No. Current ArraySubs charges the full target price now, changes the plan after payment, and creates a new billing anchor. Customer copy should say “full-price replacement.”
What happens when a deferred switch renewal fails?
The target plan appears on the renewal invoice, but the subscription entitlement changes only after payment. The old entitlement remains until lifecycle and failure rules produce another status outcome.
Disclosure, verification, and update log
- July 2026: Verified against current ArraySubs proration calculator, switch controller, and plan manager. Examples are not benchmarks or legal refund conclusions.
Continue from strategy to setup
Use a recipe when the model is settled
These articles own the decision and operating model. The ArraySubs feature map and recipes cover the exact product, billing, and customer-workflow configuration.
Written by
Emran // ArrayHash
Research and practical guidance for WooCommerce subscription operators and implementation teams.
Technical review
ArraySubs Engineering Team
Reviewed against current ArraySubs code, product documentation, and the linked primary platform sources.




