Proration: Do not generate at invoice each time subscription addons quantity is modified

Hi everyone,

My subscription is composed of:

- a basic plan: 1$/month for 5 users

- a quantity based addon: 1$/month for every additional user

I use to charge customer with prorating charges meaning that when customer with more than 5 users is adding or deleting 1 user, he receives a prorated invoice => If he adds one user at the middle of the monthly subscription period, he will be charged 0,5$.

The problem is that when he adds 10 users to go from 5 to 15 users, he receives 10 invoices.

Is there a way to avoid the generation of a new invoice each time I modify the addon quantity (=the number of user) and includes the changes on the next invoice at renewal and keeping the prorating mechanism?

1 person likes this idea

Hi Erwan

Can you help us with the API calls you are using to increase the users and also with how often the users are increased? Are the additional users added at one go or are they being added at different days as and when required? 

I just simplified the business model. Real price is actually 30$ per user per month. I'm using /api/v2/subscriptions/{subscriptionId} with parameter plan_quantity to set the new quantity. Users can be activated and deactivated by customers as much as they want. That means that plan_quantity can change every day. I would like to invoice only one time at the end of the month. And I would like to invoice exactly what they consumes with proration. 

Ex 1: If during 15 days there were 1 user and during the 15 other days there were 2 users, I would like to invoice => (1x15+2x15)/30 x 30$ => 1,5 x 30$ = 45$. 

Ex 2: If during 10 days there were 1 user, during 10 days there were 2 users and during 10 days there were 3 users, I would like to invoice => (1x10+2x10+3x10)/30 x 30$ => 2 x 30$ = 60$. 

It's exactly how it works with proration enabled but I would like not to flood customers with invoices and have only one at the end of the month...

Hi Erwan,

Cumulating multiple proration charges and presenting them on a single invoice at the end of the billing term is a feature that is currently unavailable but is in the product pipeline.

Though we do not have a firm ETA yet, I've tagged your request to the list of feature requests to step up it's priority and so that we'd be able to notify you if the feature is picked up for implementation in the future.

For now, as a workaround, you could calculate the charges for the month manually at your end and use Metered Billing so that you could apply those charges to the Pending invoice generated at the end of the month and close it.

2 people like this

Metered biling is not really an option for me as customers could deactivate all users the day before and activate them again the day after. I'm looking forward to hear when you'll implement what I need. Is it possible to have a link to see and track the feature request?

I'm sorry Erwan - At the moment the feature request tracking is not public. Our feature requests are prioritized based on the customers requesting for a feature and the impact it'd have on their business. We'll give you an update when this is taken up .

We have the same issue as our customers can add multiple users to our service and we didn't want an invoice to fire on each change of subscription.  As a workaround, we only pass subscription updates through to ChargeBee once per day as part of a scheduled job.  It's still not ideal that customers get multiple invoices in a month, but if they add 10 users in a day, at least they only get 1 additional invoice for this now.  If they added more the next day then they'd get another invoice.  We'd really like these changes wrapped up into their standard monthly invoice though with prorata costs calculated.

Please also let us know when this new feature is available and we can remove our own custom solution/workaround.


1 person likes this

Hi Ben

We recently released the unbilled charges feature where changes can be applied to the subscription immediately and invoiced on demand or on next renewal. Can you try this and check how it works?

3 people like this


That's great news.  Looking at the docs it seems to do exactly what we want.  We'll kick this off into development as soon as possible.  So long as the unbilled charges can be set to be included on the standard invoice created on their normal renewal date, then that's perfect.


Unfortunately, this doesn't do what we want to do as we need to add metered charges to a pending invoice.

"Adding to unbilled charges is not supported as 'Notify and wait to close invoice' setting is enabled".

This is very frustrating.  Is this likely to be changed anytime soon?

Hi Ben

The error comes up while trying to change a subscription and adding the charges to the unbilled ones. Is there any reason why you change the subscription while generating the charges? Would you be able to explain your workflow with an example?

We're a telecoms provider and charge a monthly subscription per user and also for certain extras such as additional phone numbers.  This forms the customer's subscription and they can alter the number of users or their extras at any point in the month - we need these changes to be proratered but don't want multiple invoices to fire on each change.  We built a nightly job to sync any changes made in our system to Chargebee so this means only a maximum of 1 invoice per day is created.

Unbilled charges looked ideal as it would mean these changes could be sent to Chargebee immediately and would appear on their next monthly bill (charges in arrears for changes made mind-month and charges up-front for their next month subscription).

As we're a telecoms provider, we also charge for usage costs such as calls, messages etc.  These are charged against a customer for the previous month on their renewal date along with their up-front subscription fee.  It's not feasible for us to put these through as unbilled charges as they don't exist in the product catalog (nor would we want them to) and there could be thousand of individual charges per customer per month.  The best way for us to handle this is to use the pending_invoice_created event, calculate the monthly costs, then include as additional one-off charges on the invoice.  We then close the invoice and the customer is charged.

For example, the additional one-off charges we might add to a customer's invoice are:

2,145 mins to UK numbers - 3p/min - £64.35

241 text messages - 5p/message - £12.05

Not being able to use both these features in parallel is quite frustrating as I can't see why they wouldn't work together.  Or have we missed something?


Hi Ben

I need to discuss with our Product team regarding your use-case. This might take a few days due to the upcoming weekend. I'll consult with them on how this can be handled.

Login or Signup to post a comment