How to handle Stripe subscription upgrade billing dates: Why doesn't MS2.0 reset the renewal cycle like MS1.0 did? Answered
Has the way these worked changed from MS1.0 to MS2.0?
I’m 99% sure the billing date used to reset, but now it doesn’t.
e.g. customer subscribes on Jan 1st to an annual subscription at 100 USD/year, then on 1st July (half-way through the year, let’s say), upgrades to a 200 USD/year subscription.
If I’m correct, the customer will be charged an additional 50 USD for 1 July - 31 Dec, taking into account the -50 USD “remaining” and then adding the extra +100 USD for the new subscription. And then the customer will be billed 200 USD on Jan 1st at renewal. No change in renewal date.
But I think in MS1.0 it used to work differently, i.e.
Customer signs up on Jan 1st to 100 USD/year, upgrades to 200 USD/year on July 1st, pays 150 USD on July 1st (-50 to remaining time + 200 for new sub), then the billing cycle is changed to July 1st-Jun 30th.
Is this correct?
What would you expect to happen? If the 2nd option, does anyone know how to change this in Stripe? I couldn’t find a setting….
Comments
6 comments
I would expect it to behave as the first option, and I feel like that’s how it behaved in 1.0 as well, but maybe I just wasn’t paying attention.
If you wanted something like the second option, you could do a prorated refund of the first membership and just start a brand new membership. Not sure if you can get Stripe to make that first refund a “credit” to apply to the new membership.
I’m assuming you’ve seen all these options under “update subscription” for a customer? I’m not sure of the magic combo to make things happen (or how to automate it), but it might be there.
OK phew, glad you thought it worked like that too Aletta.
I saw that you can do it on a “per invoice” basis, but I’m looking to change global settings so that this happens for every customer. I just started a Black Friday promo and saw that a load of people on a lower plan were able to get it for “free” or very small cost because the promo credit and the time remaining was greater than the difference in subscription cost…
Yeah, nah, the second way wouldn’t make any sense, because they’d be getting 1.5 years for the price of 1 year. If the world makes sense at all, it’s the first way.
That must be some super Black Friday promo you’ve got there!
You mean the first way, e.g. billing date not resetting?
My Black Friday promo is like this:
plan 1: €79.99/year
plan 2: €119.88/year
Promo: get plan 2 for the price of plan 1, so it applies a discount of €39.89 to the first year.
I sent the promo email to a lot of users on plan 1, assuming that they would be charged €119.88 - 39.89 - [pro-rata time remaining], and the billing date would reset to the day they made the change, so they’d get a year from then. In other words, if plan 1 started 364.9 days ago, they would be charged €79.99, if it started 0.1 days ago they would be charged practically €0.
What actually happened (I think) is they were charged (119.88 x [days remaining on plan 1 / 365] - 39.89 (credit) - [pro-rata time remaining].
In other words, everyone who upgrades from plan 1 to plan 2 with this offer will get it for free. It’s not such a massive tragedy, as they’ll essentially get a “free trial” of plan 2, but it really isn’t what I expected to happen…
NB: this only happens when switching from one annual plan to another annual; monthly to annual the behaviour is as expected.
Yup. That’s what I would expect. But damn. Can you quickly switch it to “new customers only”?
Hmm, it’s a bit of a tricky one. I think I’ll just not promote it any more to current customers….
Please sign in to leave a comment.