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.

After performing an upgrade, downgrade, or other changes to a subscription plan via the FastSpring App, 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 appear on the next page. You can then 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

You can also initiate prorated upgrades and downgrades through an API option (POST /subscriptions). The Boolean prorate field in your JSON request allows you to control whether or not proration occurs 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 have prorated adjustments. This is because, in some cases, we can no longer do a refund for the unused portion of the original payment period. In such cases, the Prorate option does not appear in the FastSpring App, and attempting to prorate via the API results 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 value of what your customer did not use from their original subscription plan (based on the number of days remaining before renewal). Separately, FastSpring calculates 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 first month results in a significant difference that you would not capture for another 15 days. By using the Prorate option, FastSpring charges the customer the $10 difference immediately. The charge amount 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 $30.00 per month to $60.00 per month.

You might decide that the prorating functionality is not necessary for subscriptions that are one month long or less. However, prorating can be important for subscriptions that have different charge intervals 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. Calculating 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 shows 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

FastSpring credits the customer for a portion of the old subscription plan. The old subscription plan price is multiplied 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 customer purchased the old subscription on January 1 for $10 per month and a change was made on January 16 to a new yearly subscription, then FastSpring credits the customer $10 * (16 /31). Additionally, the shipping price (if any) is also prorated.

Proration does not work automatically for managed/ad hoc subscriptions because you can only prorate if the subscription has a renewal date. However, you can still create prorated adjustments by giving the customer 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 does not change. Additionally, if you alter the subscription by changing the quantity or the price (for example), the renewal date does 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, suppose 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 is extended to February 1, which is one month from the initial order date of the original subscription plan. Future renewal dates will continue to be based on the purchase or previous renewal date, using the new charge interval.

New Subscription Period is Shorter than Old Subscription Period

If the new subscription period length is shorter than the old subscription period length, and more of the current subscription period has elapsed than the new subscription length, then the renewal date becomes the date the change is made. The next renewal date will be based on the length of the new subscription plan. For example, suppose 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 would become the date the subscription plan changed (in this case, January 15). The next renewal date would be one week later, or January 22.

If the new subscription period length is shorter than the old subscription period length, and the time elapsed in the current subscription period is not longer than the new subscription length, then the subscription is made shorter. For example, suppose 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). One week would remain in the new subscription period, and the renewal date would be at the end of that week, or January 15.

 

For pricing and discounts, FastSpring considers the current period to be 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 one, then FastSpring calculates the prorated charge for the new subscription plan 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 began 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.

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

 

Creating a Single, Net Refund or Charge

Once the system has completed the following steps:

  • determined the next renewal date has 
  • calculated the value of the unused portion of the subscription (at the old price)
  • calculated the value of the remaining portion of the new subscription

...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 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 entirely 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 unless prorations have occurred during 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.