'effectiveDateForExistingSubscriptions' behavior

33 views
Skip to first unread message

Nick Mancuso

unread,
Jun 27, 2024, 9:19:17 PM (9 days ago) Jun 27
to Kill Bill users mailing-list
Greetings Team, 

I am struggling to understand how the 'effectiveDateForExistingSubscriptions' field works on plans. I have read through https://docs.killbill.io/latest/userguide_subscription#_deferred_price_change, but I am not sure that I fully grasp how this affects existing subscriptions. Let me explain my understanding, please let me know if this is correct:

Given an existing subscription plan, P,  that has existing subscriptions, and we change the price of P...

1. If we leave 'effectiveDateForExistingSubscriptions' null, the price change takes effect on the next billing cycle for existing subscriptions, and applies to all new subscriptions immediately.
2. If we set 'effectiveDateForExistingSubscriptions' to some date, 'X', the price change takes effect on the next billing cycle AFTER "X" for existing subscriptions, and applies to all new subscriptions immediately.
3. If we wanted all existing subscriptions to (conceptually) never be effected by the price change, we could set 'effectiveDateForExistingSubscriptions' to some date far in the future.
4. Billing cycles never change under any circumstance due to a plan change.

I am struggling with this a bit because my testing has shown a different behavior. When I set an effective date for a change to be now, fetch an existing subscription, and check the recurring price, I see that the price change is reflected. When I do not set an effective date, fetch an existing subscription, and check the recurring price, I see that it is not changed. How is this possible?

Best,
Nick


Reshma Bidikar

unread,
Jun 28, 2024, 4:08:39 AM (8 days ago) Jun 28
to Kill Bill users mailing-list
Hello Nick,

By default, when a plan price is changed, it applies only to new subscriptions. Existing subscriptions continue to be billed at the old price. If you would like the price change to apply to existing subscriptions, you need to set the effectiveDateForExistingSubscriptions attribute.

The behavior that you have observed appears to be consistent with the above, is that correct?

Also, we have some examples of how versioned catalogs work here: https://docs.killbill.io/latest/catalog-examples#_versioned_catalogs.

Please feel free to get back in case you need further information.

Regards,
Reshma

Reshma Bidikar

unread,
Jul 1, 2024, 9:59:22 AM (5 days ago) Jul 1
to Nick Mancuso, killbill...@googlegroups.com
+ Kill Bill Mailing list

Hello Nick,

The effectiveDateForExistingSubscriptions attribute specifies that the price change applies from the specified date to the existing subscriptions. So, effectiveDateForExistingSubscriptions is applicable only for subscriptions created from plans in the catalog, it does not update the plans in the catalog.

I hope this answers your question, if not, please feel free to get back.

Regards,
Reshma


On Fri, 28 Jun 2024 at 19:36, Nick Mancuso <nick.m...@finixpayments.com> wrote:
Hi Reshma,

Thank you for your quick reply, and confirmation that the behavior that I am seeing is correct. I am struggling with another concept: what should I do when I update the catalog (say, add a new plan) and some existing plans have an effective date that is now in the past? Have all of the existing subscriptions been "updated" at this point, even if they have not yet been billed? What should I do about the effective date for these plans, remove this property or update the effective date to be today?

I guess a good way to sum up my question is "What is the behavior of the Killbill system in relation to effectiveDateForExistingSubscriptions? Is this attribute a signal to update all of the existing plans, or is this value only checked when billing for a plan?"

Thanks,
Nick

--
You received this message because you are subscribed to a topic in the Google Groups "Kill Bill users mailing-list" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/killbilling-users/aQWjTBJJ4Mw/unsubscribe.
To unsubscribe from this group and all its topics, send an email to killbilling-us...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/killbilling-users/d8a6ba76-6f39-4c1a-9a27-4f983dba18ddn%40googlegroups.com.


--

Nick Mancuso

Software Engineer


nick.mancuso@finix.com 

Finix is Now a Payments Processor

Recent News: TechCrunch | Business Insider

Backed by Bain Capital Ventures, Lightspeed Venture Partners, Visa, and others


Shaun Forgie

unread,
Jul 1, 2024, 5:34:11 PM (5 days ago) Jul 1
to Nick Mancuso, Kill Bill users mailing-list
Hi Nick,

The key concept at play here is that billing catalogs are versioned. If you update an existing plan in the catalog with a new price then that new price will only apply to new subscriptions created after the catalog is published. Existing subscriptions created before the new catalog was published refer to the previous catalog version and are not affected unless you set a value in the effectiveDateForExistingSubscriptions attribute.

So subscriptions refer to their billing plan via a catalog[publish-date].plan. This reference gets updated once the effectiveDateForExistingSubscriptions is reached. 

So when is this price change actually applied?  The next billing cycle date/time that is triggered after the effectiveDateForExistingSubscriptions date.

A note on subscriptions having price overrides: I assume they would not be impacted by the changes to plans as they get a unique plan id created in the catalog which is occurred outside of the published catalog.xml updates.

Rgs
Shaun

--
You received this message because you are subscribed to the Google Groups "Kill Bill users mailing-list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to killbilling-us...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/killbilling-users/3529a2bc-287c-4a3c-adf1-3e78ed7c2179n%40googlegroups.com.


--
Shaun Forgie [Principal] - Method Maker Ltd
57a McIntyre Rd, Manukau 2022, Auckland, New Zealand
Mobile +64 21 666 910
Reply all
Reply to author
Forward
0 new messages