Prorating when Upgrading or Downgrading Subscription Plans

Last modified February 6, 2019

This article applies to Contextual Commerce. (Looking for Classic Commerce documentation?)

After performing an upgrade, downgrade or other changes to a subscription plan via the Dashboard, you will have the option to charge or credit the customer for the prorated difference between their current subscription plan and the new plan, via the PRORATE command.

Example of the PRORATE option following a subscription upgrade or downgrade

  • If you want the changes to wait until the next billing period to take effect, do not click the PRORATE command.
  • If you want the changes to take effect immediately and you want to charge or credit the customer for the prorated difference, click PRORATE.  The calculations for the prorated adjustments will be shown on the next page, and you can click CONFIRM to confirm you want to make the adjustments, or click CANCEL to cancel the proration (not the subscription).

Note about upgrades and downgrades via the FastSpring API

Prorated upgrades and downgrades can also be initiated through an  API option (POST /subscriptions). The Boolean prorate field in your JSON request allows you to control whether or not proration will occur with the upgrade or downgrade.

Note about subscriptions older than six months

Certain subscriptions for which the original / initial charge occurred more than six months ago cannot be prorated because we can no longer do a refund for the unused portion of the original payment period. In such cases, the PRORATE option will not appear in Dashboard, and attempting to prorate via the API will result in a response of "prorate":"The order is no longer refundable".

Proration handles the increase or decrease to the subscription price when a price changes during any period of a subscription. FastSpring refunds what your customer did not use from their original subscription plan (based on the number of days remaining before renewal) and then immediately charges your customer for the remaining days of the new plan.

For example, changing from a $20 monthly plan to a $40 monthly plan on day 15 of the original month results in a significant difference that will not be captured for another 15 days. By using the PRORATE option, FastSpring refunds $10 to the customer (for the 15 days out of the original 30 days that were unused) and charges $20 afterwards (for the 15 remaining days of the $40 monthly plan).

The screenshot image below illustrates another (separate) example of proration, where the subscription plan has been changed from $14.95 per month to $79.99 for six months.

Example of the proration confirmation page

While the prorating functionality is not usually necessary or recommended for subscriptions that are one month long or less, it can be important for subscriptions that have either different periods or frequencies, or subscriptions that are longer than one month.

The Prorating Process for Subscriptions

The process of creating prorated adjustments happens automatically when you click PRORATE.  The process consists of the following steps:

  1. Refunding the Unused Portion of the Old Subscription
  2. Determining the Next Renewal Date for the Subscription
  3. Creating a Charge for the Remaining Portion of the New Subscription

Note

A modified subscription that has already had a prorated adjustment can be modified again, and a new prorated adjustment can be made.  In that case, the review page will show the date of the last prorated charge, and adjustments will be made based on that transaction.

Refunding the Unused Portion of the Old Subscription

Refund amount calculation

FastSpring will refund a portion of the old subscription plan by multiplying the old subscription plan price by the ratio of unused days left on the subscription plan to the total days in the period of the subscription. For example, if the old subscription was purchased on January 1 for $10 per month and a change was made on January 16 to a new yearly subscription, then we will refund $10 * (16 /31). Additionally, the shipping price will also be prorated.

Although proration does not work automatically for managed / ad hoc  subscriptions because you can only prorate if the subscription has a renewal date, you can still create prorated adjustments prorate by giving a refund manually. Automatic proration, however, can only happen when changing from a normal subscription to a managed subscription, and not the reverse.

Determining the Next Renewal Date for the Subscription

The next renewal date for the subscription depends on whether the new subscription is the same length, longer, or shorter than the old subscription plan.

Same Length Subscriptions

If the period length for the old subscription and the new subscription plans are the same, the renewal date will not change. Additionally, if the subscription was altered by changing the quantity, etc., the renewal date will not change.

New Subscription Period is Longer than Old Subscription Period

If the new subscription period length is longer than the old subscription period length, the renewal date gets extended by the difference in plan. For example, if the old subscription was weekly and began on January 1 with a renew date of January 8, and the new subscription is monthly, the renewal date will be extended to February 1, which is one month from the initial date of the original subscription plan. Future renewal dates will remain based off of the purchase or previous renewal date, but will continue to extend by the new time period length.

New Subscription Period is Shorter than Old Subscription Period

If the new subscription period length is shorter than the old subscription period length, and it is longer into the current subscription than the new subscription length, then the renewal date becomes the date the change is made and the next renewal date will be based off of the length of the new subscription plan. For example, if the old subscription was monthly and began on January 1 with a renewal date of February 1, and a new weekly subscription was put in place on January 15 (two weeks into the period), the renewal date will become the date the subscription plan changes (in this case January 15), and the next renewal date will be one week later, or January 22.

Determining the renewal date when the new subscription period length is shorter than the old, and it is longer into the current period than the new subscription length

If the new subscription period length is shorter than the old subscription period length, and it is not longer into the current subscription than the new subscription length, then the subscription is made shorter. For example, if the old subscription was monthly and began on January 1, with a renewal date of February 1, and a two week subscription was put in place on January 7 (after one week), then one week will remain in the new subscription period, and the renewal date will be at the end of that week, or January 15.
 

Determining the renewal date when the new subscription period length is shorter than the old, and it is NOT longer into the current period than the new subscription length


For pricing and discounts, the period will be considered the First Period if the second period of the old subscription has not yet occurred at the time of the change.
 

Creating a Charge for the Remaining Portion of the New Subscription

If the old and new subscription plans have the same period length or if the new subscription period is longer than the old subscription period, then the charge for the new subscription plan is calculated by multiplying the new price by the ratio of unused days left on the new subscription to total days in the period of the new subscription. For example, if the old subscription was created on January 1 as a monthly subscription plan, and a change was made on January 16 to a new $100 per year subscription, then the new charge would be $100 * (365-16)/365.


New charge amount calculation 

If the new subscription period is shorter than the old subscription period, then the charge will be the full price plan for the new subscription.

Note about declined charges

If the new charge is unsuccessful, the subscription will immediately have an overdue payment. You can control the behavior of subscriptions that have overdue payments via the Pricing field of the subscription product and / or by modifying an individual subscription instance. The renewal date will be set to today.

Understanding Period Start and End Dates with Proration


Subscriptions are based completely on three dates: Entry, Period Start and Period End.
  • Entry:  This is when the entry was made, and it is from this date that we calculate the amount.
  • Period Start:  The original start date. This will be the same as the Entry date, except if prorations were made throughout the period.
  • Period End:  The date the period ends.  It is to this date that we calculate the amount. The Period End date + 1 will be the Period Start date for the next entry.