Collapse Menu
Docs Home
Extensibility Options
Contact Support

Prorating when Upgrading or Downgrading Subscription Plans

Overview

This article explains how you can prorate adjustments to a customer's subscription, to immediately bill the customer or refund the difference compared to the previous subscription, rather than waiting for your changes to take effect on the next billing date.

Overview

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.

 

  • 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 calculates the difference between the value of what your customer did not use from their original subscription plan (based on the number of days remaining before renewal) and the value of the remaining days of the new plan (at the new rate), and then creates a single, net refund or charge for the adjustment.

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 charges the customer the $10 difference immediately.  This is calculated as follows:

The screenshot image below illustrates another (separate) example of proration, where the subscription quantity has been increased from 1 to 2, causing an increase in the monthly plan charges from $14.95 per month to $29.90 per month.

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. Calculate the Value of the Unused Portion of the Old Subscription
  2. Determining the Next Renewal Date for the Subscription
  3. Calculating the Value of the Remaining Portion of the New Subscription
  4. Creating a Single, Net Refund or Charge

 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.

Calculating the Value of the Unused Portion of the Old Subscription

User-added image

FastSpring will credit the customer for 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 credit the customer $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 by giving a refund manually. Automatic proration, however, can only happen when changing from a standard 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 the 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.

User-added image

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.
 

User-added image

 

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.
 

Calculating the Value of 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 value of the remaining portion of the new subscription would be $100 * (365-16)/365.


User-added image 

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

 

Creating a Single, Net Refund or Charge

Once the next renewal date has been determined and the values of the unused portion of the subscription (at the old price) and the remaining portion of the new subscription have been calculated, FastSpring immediately creates a single transaction to refund or charge the customer for the net amount.

 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.

Try FastSpring

Get a free account and see why FastSpring is the ecommerce partner of choice for software providers around the world. Try our full-service ecommerce solution today to unlock revenue growth for your online company.