#jonbca-quantity-subscription

1 messages ยท Page 1 of 1 (latest)

hasty stream
#

Hello ๐Ÿ‘‹
Can you share the subscription ID and/or a request IDs for this? Want to make sure I'm on the same page first ๐Ÿ™‚

stray sapphire
#

Sure can: sub_1LAeJBKUFyK8h5oo9sRJya2h

hasty stream
#

thanks
so you're not prorating when downgrading/decreasing the seats but you're setting a proration date when upgrading/increasing, correct?

stray sapphire
#

Correct

hasty stream
#

Give me a few, trying to run some tests on my end

stray sapphire
#

Sure thing. I appreciate you looking into it

hasty stream
#

This is what I see after running through the simulation/example you've shared earlier

Started with 3 seats (each seat $10) -> Downgrade to 2 seats (no proration) so upcoming invoice = $20
-> Upgrade (w/ prorations) 3 seats = $40

stray sapphire
#

Hmm, maybe I am thinking about this wrong. I would assume the Remaining Time would be $40, the unused would be $30 for a +10 prorating (plus the 3 users for next month)

#

The math happens to work out for this one, but the counts are wrong, or I am misunderstanding something

hasty stream
#

Hmm yeah my billing skills aren't the best but it seems like that's expected
Let me give it some more thought how to best explain this

stray sapphire
#

Out of curiosity, this seems like something I've seen lots of other SaaSs do. Am I just modelling this weird? Is there a better way to do this? For example, can I update the quantity of the subscription at the last minute to account for the cancelled seats before the charging the customer?

hasty stream
#

I think for per-seat pricing model you're implementing it correctly

stray sapphire
#

Yup, thats what I was looking at when I set things up. It works perfectly as long as there are never any cancellations.

#

If I don't make updates for cancelations and just wait for the invoice.created event, I could update the line item and subscription at that point though I suppose

hasty stream
#

Okay so talked to some colleagues and got some clarification about prorations here ๐Ÿ™‚

#

Give me a moment and I'll explain

#

When a subscription is downgraded or upgraded for per-seat model, we look at the latest invoice as well as the last calculated proration so the exact number of seats aren't correctly reflected (since downgrade doesn't have any prorations but the upgrade does).

An alternative here would be to use subscription schedule and scheduling phases for upgrade/downgrade for the upcoming month

stray sapphire
#

So for this I could add seats using proration, but create a schedule for downgrades. When a cancelation happens I would check for an existing schedule on the subscription (already had a cancellation this month). For the new/updated schedule it would set the new sub quantity, and it would just be a single phase.

That's the idea from the high level?

hasty stream
#

I think so? I'd recommend testing it out for sure ๐Ÿ™‚

stray sapphire
#

Haha, yes. That I will do!

#

I wasn't familiar with the subscription schedules. I think that's going to give me what I need to do this setup. Thank you very much