Prorating Upgrades & Downgrades

By default, we prorates plan updates (upgrades or downgrades).

Prorated Adjustment

Unlike the commonly used prorating implementations which preserve the renewal payment processing time, our proration works slightly different and will restart the billing date based on the time of the plan update. This methodology simplifies understanding the discount for the customers and also benefits the sellers who will receive the initial worth of the new plan (minus the discounts) for the full billing period right away.

How Proration Works?

Proration from a Lifetime License

Customers who purchased a lifetime plan will be eligible for a proration discount only if they update their plan within 30 days from the time of purchase. The proration discount is calculated as follows:

proration_discount = min(prev_lifetime_payment, new_lifetime_price)

Examples:

  • If a user purchased a single-site lifetime pro license for $300 and after 3 days upgrades to a 5-site lifetime pro license for $600, they are only charged $300 for the upgrade.

  • If a user purchased a single-site lifetime starter license for $150 and after 6 days upgrades to a single-site lifetime business plan for $400, they are only charged $250 for the upgrade.

  • If a user purchased a single-site lifetime pro license for $300 and after 2 months upgrades to a 5-site lifetime pro plan for $600, they are charged the full $600.

To understand why lifetime upgrades aren’t just calculated as the difference in price, regardless of how long ago the original purchase was, the following two scenarios may help:

Therefore, we have the 30-day time limit in place to protect from this edge case.

Proration from a Subscription (Monthly or Annual)

Customers which are updating a plan that was purchased as a subscription will receive a proration discount, based on the unused portion of their previous plan

remaining_period = (1 - number_of_days_past_from_the_old_plan_last_payment / number_of_days_in_past_billing_cycle )
proration_discount = max(0, remaining_period x old_plan_last_payment )

Examples:

  • If a user purchased a single-site monthly pro package for $10 per month and after 2 months and 15 days upgrades to the annual billing cycle of the same single-site pro plan for $100 per year – the customer will have already paid $10, and will have used half of their current billing cycle. Therefore, the initial prorated amount will be $95 ($100 – $10 / 2).

  • If a user subscribed to a single-site annual pro license for $100 per year and after 3 months decides to downgrade to a single-site annual starter plan for $80 per year – the customer will already have paid $100, and have used only a quarter of the current billing cycle. Therefore, the proration discount for the remaining period will be $75, and the initial price for the single-site annual starter plan will be $5 ($80 – $75). The first renewal payment will be scheduled for a year from the downgrade date and will cost $80.

Proration with Coupons

When updating a plan with a percentage-based coupon, the proration discount will be calculated first, and the coupon discount will apply to the discounted price as the last discount.

In-Dashboard Plan Update

When a customer updates their plan within their WP Admin on a website where they’ve already activated it, the license will automatically be recognized by the checkout, and the user will be presented with the following options:

In Dashboard Plan Update

If the 1st option is selected, the purchase will be prorated, as described in the proration algorithm above.

Checkout Plan Update

When a customer is trying to update their plan from your website, the loaded checkout will include the following label:

Checkout Plan Update

This option will enable the customer to enter their license key:

Upgrade Plan

Once the license key is verified, the purchase will be prorated as described in the proration algorithm above.

Last updated