How does Stripe handle subscription plan changes in the middle of a billing period?
Does Stripe prorate plans? How is prorating handled if the customer changes from a monthly plan to an an annual plan?
When a customer switches subscription plans in the middle of a billing period, here’s what happens:
If the old plan was a free plan or if the new plan has a different billing frequency from the old plan (for example, monthly to yearly, active to trialing, and so on)
- The first full period of the new plan begins immediately (or after a trial period, as desired), and the customer is charged for the first period less the account balance.
If the new plan has the same billing frequency, we do something slightly more complex, but with the result of keeping the billing schedule the same:
- We immediately create a line item for the remaining portion of the current billing period at the new plan rate
- At the next scheduled billing, the customer is charged for the line item and the full charge for the upcoming period, less the account balance.
- If you’d rather charge the user for the line item at the same time as plan change, you can create an invoice – which automatically sweeps up the line item – after the plans are changed, and then pay it.
If the account balance amount is larger than the amount due, the customer is not charged anything, and the account balance is carried over to future billing periods, until it’s spent down.