#NickMason-proration
1 messages ยท Page 1 of 1 (latest)
Hey! Sure, that's possible. It's called prorations: https://stripe.com/docs/billing/subscriptions/prorations
Great โ thank you. Is it possible to do this with quotes as well? i.e. we send a customer a quote for their upgrade, they accept and we prorate like that? Or would we need to do that with manual credit notes through the API?
Hmm, not sure what you mean? Once you accept a Quote, it's converted to a Subscription/Invoice. So the proration/upgrade would be done on the subsequent Subscription object
got it, thank you. So I would set the proration on the original subscription and it would apply to the new one from the quote?
I'm confused. Which new subscription?
Sounds like:
- You have a pre-existing subscription.
- You want to upgrade/downgrade a user.
- You send them a quote.
- You want to upgrade/downgrade the existing subscription to reflect the quote.
correct!
Not sure you can use quotes like that with a pre-existing subscription, checking
ok, thanks
Hmm, maybe you can (haven't used Quotes at all to be clear ๐ )
Ah, that's a beta feature
got it โ so we can't use it right now?
I'm afraid not ๐ฆ
ok, thanks. But could we do it with manual credit notes for example?
Well once your quote was approved, you would just perform the subscription update manually: https://stripe.com/docs/billing/subscriptions/upgrade-downgrade
That will handle the prorations as you need too (by passing proration_behaviour param)
Cool, so process is:
- Make new quote for customer
- They accept it
- We go into their original subscription and update it based on the quote they accepted
Is that right?
Yup, should work as you need!
thanks! Will we need to void the invoice the quote will generate, too?
Yeah that's probably the sore point of this way. It'll likely create a new subscription as your quote will contain a recurring price I assume:
If the quote has at least one recurring price on a line item, then a subscription or subscription schedule is created. A subscription schedule is created if the effective date on the quote is in the future, otherwise a subscription is created. The first invoice on the subscription is in draft status with auto_advance set to true.
https://stripe.com/docs/quotes/overview#accept
yeah, exactly...ok, thanks!
What I'd do to probably workaround that is pass subscription_data.effective_date (https://stripe.com/docs/api/quotes/create?create_quote-subscription_data-effective_date)
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Then it'll create a subscription schedule, which isn't user facing, that you can just cancel
splendid, thank you! Great idea!
So to check:
- Make new quote
- Update effective date to 1st Jan 2050
- Customer accepts quote
- Copy line items from quote to existing subscription
- Cancel quote
No, you'd cancel the new Subscription Schedule generated from the Quote
It'll be a Subscription Schedule, which would turn into a Subscription on the effective date (1st Jan 2050 in your example)
Np!