#fintanodowd_38546
1 messages ยท Page 1 of 1 (latest)
Should I be using Subscription Phases as opposed to Coupons perhaps?
Hi there
give me a second to read through your question
thank you!
Do you have an example subscription handy?
just want to make sure I'm on the same page as you're
Are you looking for a link to a test subcription in our account?
yes, a subscription ID with the discount behaivour you mentioned
cool I can give you a link to a real subscription if that would help - is that a secure thing for us to do?
sure, only the ID should be fine sub_xxx
i sent you a subscription ID hanzo. What happened here was that the customer bought a quantity of 25 with a set discount.
When they added one more quantity, as opposed to being billed for that, they were billed for the amount of their discount plus the pro rated amount for 1 more quantity. This is obviously problematic!
They payment of that incorrect invoice failed. I need to understand how to unwind this such that they are only billed for the 1 quantity - with a discount I need to apply outside the context of the one off discount. Hope that makes sense!
adding the subscription ID here: sub_1NdhdFABXG7iwsUNi1i1OikE
I need to step away soon but @cosmic sleet will take over and look
Hi there reading and catching up
thank you. basically:
we have a 12 month scription period.
we awarded a customer a discount for 15 quantities
we then adjusted their subscription to add 1 - total 26
they were billed for the 1 PLUS the discount applied on the first 25
luckily the payment failed
So now I need to unwind this:
I need to get them a proper invoice for 1 quantity
I need to ensure that going forward they will pay the correct amount as they add more quantities
Also just strategically, discount coupons seem a bad fit for managing subscription discounts and I am wondering if we should be using subscription phases or something instead
So I think the real reason for this issue is the proration. You passed proration_behavior: "always_invoice", on the subscription update. That calculates a prorated amount for the remaining time in the month based on the update
What's the desired behavior exactly?
Do you need to be invoiced the updated amount immediately? Or on next billing cycle?
Normally when you make a quantity update like this, you'd want it to apply in the next billing cycle and let the current one complete, but idk you requirements
our billing cycle is yearly so we want to invoice the additional prorated amount for the additional 1 quantity immediately. However, we do not want the customer to be invoiced for the discount amount on their original quantity.
Also we need a way to manage price over the course of the year - the amount we wish them to pay per quantity may change over the course of the billing cycle.
Prorations are calculated based on the amount of the original invoice
So there's no way to modify that
If the original invoice included a discount, that'll be taken into account in the proration
OK so if we are going to make any pro rated updates to subscriptions we definitely should not be using discounts.
I guess I have two follow on questions
-
How would you suggest we best unwind the issue with this current customer? We want to get to a place where he is not charged for the initial once of discount but is charged for the 1 additional quantity, and his subscription is in a position where they can add quantities going forward and be charged the correct amount?
-
Given coupoons are bad for our model, what is the best way for us to manage cost variations over the course of a subscription? For example 1 price for year 1, a higher price for year 2 etc?
The issue is you want to customize proration behavior. If you don't want the discount amount to be factored into the proration, then the customer will never receive that full discounted amount
Or is it that you do not want to charge them a prorated amount for the additional item?
Do you want them to be charge the full amount for the additional item immediately once it's added?
If you don't want the discount amount to be factored into the proration, then the customer will never receive that full discounted amount
Yes that is what we want. Now we can in the future avoid coupons as an option this is just a few customers as we are in Alpha. Customizing pro ration sounds complex is there any documentation on how to go about that?
Or is it that you do not want to charge them a prorated amount for the additional item?
We want to charge a prorated amount for the additional item minus any discount that was applied.
Do you want them to be charge the full amount for the additional item immediately once it's added?
Yes
Customizing prorations is impossible if you use our Subscription product. You'd need to build this yourself (ie use Stripe Invoices with your own custom recur/subscriptions logic and calculate the invoice amounts using your own proration logic)
OK thanks. Couldl you please provide guidance on these two questions?
How would you suggest we best unwind the issue with this current customer? We want to get to a place where he is not charged for the initial once of discount but is charged for the 1 additional quantity, and his subscription is in a position where they can add quantities going forward and be charged the correct amount?
Given coupoons are bad for our model, what is the best way for us to manage cost variations over the course of a subscription? For example 1 price for year 1, a higher price for year 2 etc?
๐ stepping in as codename_duchess needs to step away
Catching up, give me a sec to skim the above
thanks bismarck
Okay so sounds like you want to handle proration for an upgrade, but not have that proration be affected by the discount that was applied to the previous cycle
So basically just charge for the new item that is added
But have that item be prorated
And you do want to charge immediately, correct?
So if quantity 25 = $250 but you charged $200 due to discount, you want to add 1 quantity and charge $10 prorated and have it ignore the discount that had been applied previously.
Let me know if I got that right @obsidian path ?
Yes exactly
Okay so this is achievable but it will take several steps
I want to add the new quantity, have that charged based on the price that is assigned for them, without the discount being rebated
Now the discount was applied in the CURRENT cycle- we do yearly subscriptions and theirs was created in the last month
BTW the new amount doesnt really have to be prorated if that is making it more complex
What you want to do here is you want to figure out the correct proration amount by using the Upcoming Invoice endpoint (https://stripe.com/docs/api/invoices/upcoming). You would simulate creating a new Subscription and you want to set the subscription_billing_cycle_anchor to the timestamp of the next cycle of the Subscription.
When you do this, you will get a preview of an Invoice that will be prorated for the correct amount that you want
Then, you create an Invoice Item (https://stripe.com/docs/api/invoiceitems/create) for that amount and associate it with the Subscription
Then you create (https://stripe.com/docs/api/invoiceitems/create) and then pay (https://stripe.com/docs/api/invoices/pay) an Invoice for that Subscription so that the Invoice Item is picked up and charged.
Lastly, you update the Subscription to the new quantity (26) but you pass proration_behavior: none so that it doesn't charge again until the next billing cycle
I guess for that last step you have already made the update?
In which case you just void the most recent Invoice that failed since you are charging a new one for the right amount.
We made the update yes - and an invoice was generated but for the incorrect amount because it included the discount amount.
Got you. So what we do is
- Void the existing invoice - this doesnt actually update the subscription which still reflects the new quantity (i tested that)
- Create an invoice item for the new quantity with correct amount and associate it with the subscription.
question - can I do 2 above via the stripe console or do I need to use the API?
Hmm I think you need to use the API if you want the Invoice to be directly associated to the Subscription but let me check
thanks
Yeah
You can only create a separate one-off Invoice via the Dashboard
You wouldn't be able to set the Subscription property (https://stripe.com/docs/api/invoices/create#create_invoice-subscription) on it.
So if that doesn't matter to you then you can do it via the Dashboard.
But otherwise you need the API
And you'll need the API to correctly preview the Invoice to know the right proration amount
You wouldn't be able to set the Subscription property (https://stripe.com/docs/api/invoices/create#create_invoice-subscription) on it.
So if that doesn't matter to you then you can do it via the Dashboard.I dont think that that matters to me, once the invoice is created I can associate it to the 'quantity' that it relates to in our database and we should be OK.
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Question - this will solve this specific instance, but if this customer - or another customer - modifies their subscription to add additional quantities, we will run into the same issue, correct? The discount amount will be added to their pro rated amount.
Any idea how best to unwind that? I would need to either balance out the discount so it didnt impact proration or create a new subscription with a custom renewal date which was the same as their original subscription.
Yes it will affect all Subs going forward that have a discount. So yeah you can either use my steps above to correctly upgrade the Sub, or you could create a new Sub if you are willing to manage multiple Subs for the same Customer
Maybe I could credit their account for the discount amount so it wouldnt be factored into the pro ration in the future?
I was thinking I would cancel the original sub - that would trigger a rebate by default but I was assuming i could tell stripe not to rebate the customer.
What do you mean by "credit their account"?
And yes you can cancel the Sub without having it generate an Invoice and then you could recreate
If I was to credit their account in this way with the value of the discount, the next time Stripe calculated the pro ration for an increased quantity, the discount would not be factored into it perhaps? Was just an idea.
Another question - given that you have a good handle on my use case now, how would you suggest we manage providing customers with discounts for say their first year of subscription? I was looking at Subscription Phases which seems to be coupons but for Subscriptions.
Yeah the problem with this is that that credit will be picked up by the next Invoice
So it would affect when you upgrade still
Got you. That is a bad idea we wont go down that path! its just creating the opposite problem ๐
Yeah if you don't want to use coupons then using a Subscription Schedule is the best thing to do