Prorate when Upgrading or Downgrading Subscription Plans
You can prorate adjustments to a customer's subscription to immediately bill 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).
- If a prorated change is attempted on the same day as a normal subscription rebill it will result in "Last charge is still pending" error
Note about upgrades and downgrades via the FastSpring API
Note about subscriptions older than six months
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.
Prorating Process for Subscriptions
The process of creating prorated adjustments happens automatically when you click Prorate. The process consists of the following steps:
- Calculating the Value of the Unused Portion of the Old Subscription
- Determining the Next Renewal Date for the Subscription
- Calculating the Value of the Remaining Portion of the New Subscription
- Creating a Single, Net Refund or Charge
Calculate 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.
Determine 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.
Calculate 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.
Create 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
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.