Happy Business Starts Here

Set 'Billing Timing = In Arrears', why did the charge still be billed in advance?

Support SME
Support SME

Set 'Billing Timing = In Arrears', why did the charge still be billed in advance?

Question or Problem Statement:

In SubscriptionRatePlanCharge, I set 'Billing Timing = In Arrears', why did the charge still be billed advance?


For example, In an Evergreen subscription, there is a recurring Monthly PerUnitPricing charge.

Customer Account BillCycleDate = 1st of the month

ChargeTriggerDate = ContractEffectiveDate = 08/03/2020

Charge.Quantity = 1

Billing Timing = In Arrears


So the Service Period = 08/03/2020 - 08/31/2020


As per the doc, “Billing in arrears lets you bill your customers after the products or services are provided. Billing with a target date after the end of the billing period will create an invoice for the billing period charges.”



If BillRun with ‘Target date = 08/04/2020, this BillRun will not generate an invoice.

If BillRun with ‘Target date = 09/01/2020, this BillRun will generate an invoice.


Now do an amendment - Update a product quantity 20 on 08/07/2020.

Now do a BillRun with ‘Target date = 08/07/2020’ - Invoice is generated with proration(08/03/2020 - 08/06/2020).  


The charge Billing Timing = In Arrears, set BillRun Target date = 08/07/2020, why the charge was still picked up by this BillRun? Why was the invoice generated? Should the charge be picked up by BillRun with ‘Target date = 09/01/2020’ rather than ‘Target date = 08/07/2020’?




'Billing Timing = In Arrears' still applies to the Active segment. There are 2 segments in the above sample.
Segment 1: 08/03/2020-08/06/2020(Add a product quantity 10 on 03 August)
Segment 2: 08/07/2020-08/31/2020(Update a product quantity 20 on 06 August)


08/07/2020 is in Segment 2. Because of 'Billing Timing = In Arrears', there is no new InvoiceItem created in Segment 2, this setting still works. 


Please be noted: 'Billing Timing = In Arrears' applies on charge segment.


Supporting References:





If you found my answer helpful, please give me a kudo ↑
Help others find answers faster by accepting my post as a solution √