Issue with IN_ARREAR recurring invoice generation on cancel after upgrade

20 views
Skip to first unread message

TAMIL THENDRAL SENTHAMIZH

unread,
Nov 25, 2025, 3:19:31 AMNov 25
to Kill Bill users mailing-list
Hi team,

I am seeing inconsistent recurring invoice behavior for subscriptions billed IN_ARREAR when performing an upgrade → wait → cancel flow. I want to confirm whether this is expected or a bug.

Scenario:

Base subscription and usage are billed IN_ARREAR
Upgrade from Plan A to Plan B (same billing period alignment rules)
Both plans are EVERGREEN and recurring is billed IN_ARREAR
No phase changes
ChargedThroughDate behaves normally during upgrade

Case 1 – Cancel before any recurring invoice is generated:

Upgrade

Wait 2 days

Cancel immediately before the first recurring invoice is produced

Result:
UBB is generated immediately
Recurring invoice is generated at end of term.

Case 2 – One recurring invoice already generated, then cancel:

Upgrade

Allow one recurring invoice and UBB to be generated

Wait 2 more days

Cancel the subscription

Result:
Both UBB and recurring invoices are generated immediately on cancel.
Recurring is not delayed until end of term like in Case 1.

My questions:

Is this behavior expected for IN_ARREAR billing?

Why does recurring invoice move from end-of-term behavior (Case 1) to immediate behavior (Case 2) after the first recurring cycle is closed?

Is there any existing configuration such as:

org.killbill.invoice.align.plugin

inArrear.invoiceOnCancel=true
that affects this behavior?

Is there any known bug related to:

Cancel after an upgrade

IN_ARREAR billing

Recurring invoice generation timing?

Version:
0.22.33

Any clarification would be greatly appreciated. I just want to know whether this is expected behavior or a bug.

Thanks!

Pierre-Alexandre Meyer

unread,
Nov 25, 2025, 3:22:39 AMNov 25
to TAMIL THENDRAL SENTHAMIZH, Kill Bill users mailing-list
Hi Tamil,

Thanks for the detailed breakdown.

A quick note up front: you're running Kill Bill 0.22.33, which is now over two years old and unfortunately no longer supported. Our current LTS release is 0.24.x, and a lot of invoicing logic, especially around IN_ARREAR timing, upgrades, and cancellation edge cases, has been improved and clarified since 0.22.

Because of that, it’s very hard for us to confirm whether what you're seeing in 0.22 is expected behavior or a bug, since the relevant logic has diverged quite a bit. The first step is to upgrade to 0.24 LTS, and then we can help verify whether the behavior still occurs.

If the issue reproduces on 0.24, we're happy to dig into it in detail.

Let me know if you’d like any guidance for the upgrade path.

Kind regards,

--
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 visit https://groups.google.com/d/msgid/killbilling-users/8564710b-c83a-4935-b542-3b1f1e5c9776n%40googlegroups.com.


--
Pierre
Reply all
Reply to author
Forward
0 new messages