At the moment we subscribe to the pending_invoice_created event to add on any metered charges to invoices before they are charged to the customer. This works great on renewals but the event doesn't fire on subscription activation.
Our model is a little different in that we offer a free trial subscription but the user can still incur metered charges within their free trial. We're a telecoms provider and although we offer the service free - certain calls need to be charged for during the trial.
As the pending_invoice_created event doesn't fire on activation, we end up mopping up these charges a month later on their first renewal, along with any metered charges made since activation and renewal.
Would it be possible to enable this event on subscription activation please? That way we can capture these trial metered charges as soon as they activate and pay for their first month subscription.
Can you clarify the reason behind listening only to the pending_invoice_created event for adding the charges? We now support adding unbilled charges to a subscription. This means that you can add multiple usage charges to a subscription that is still in trial and have all these charges billed together at the time of activation. You can keep adding multiple charges to a subscription as and when the usage occurs, and then combine all of these charges along with the regular subscription fees into a single invoice during activation or renewal. Will that work for you?
We run on online phone system. The metered charges are added at the end of the month based on a calculation of the customers calls/message and other billable usage charges made during the month. A custom can have lots of users making and recieving calls, sending messages and incurring other usage based costs. There could be hundreds or even thousands of these billable items in a month so it doesn't make sense for us to send these through to Chargebee as unbilled charges. They don't link to product catalog items as we've got lots of different call rates that we don't want to map to addons etc - it's far better for us to calculate usage at the end of the month using the pending_invoice_created date.
We use the product catalog for the customer's subscription, individual user accounts subscription and certain addons (extra phone numbers etc), but I don't believe this would be the best way to handle our usage costs.
What we really need is to continue with our pending_invoice_created mechanism of adding metered charges, but then also be able to send unbilled charges through for any subscription updates made during a billing period.
I understand that including such a large number of billable items as unbilled charges is not feasible.
An alternative solution would be to replace the trial with a $0 plan and create a subscription in active state at trial start. This way at the end of the one month trial period, a pending_invoice_created would be generated as it would be the second invoice for the $0 subscription. You could include the charges incurred during the trial in this invoice.
Does this work for you?
That's not going to work for us really. We offer7 or 14 day trials, not a month trial. Also, this would mess with our churn data as it would look like active customers are cancelling so our SaaS metrics wouldn't look particularly healthy as it would be clouded by trial users in an active state.
Also, we make use of the trial ending reminder emails which we'd lose if customers went straight to an active state.
Is there a reason why this event can't be set to fire for the first invoice?
The reason why the pending_invoice_created event is not generated on first Invoice generation is because the system is designed such that the first Invoice generated with Metered billing will not be in the Pending state. Only the second Invoice generated and the Invoices generated post that will be in the Pending Invoice.
When the first Invoice is generated, the 'invoice_generated' event is created. You could look for the "first_invoice": true item in the event content to identify first Invoices and create a one time charge for the services used during trial.
So this would result in an additional invoice being sent to the customer containing just the one-time charge, immediately after the first one has been sent?
If that's the case then we'd rather just stick to our current mechanism of billing the usage fees used during trial along with the usage fees from month 1 on their second monthly invoice.
Just to add to what my colleague said - Chargebee follows the prepaid billing model by default, charging for the upcoming month/billing period in advance. However, with metered billing where usage charges are added, in majority of scenarios there are no use-cases at the start of the month. This is the reason why metered billing is not set to work for the first invoice as it's unlikely that there will be any usage charges before the subscription starts.
However, having read your use-case, I do understand that this is a scenario that we didn't consider earlier. I'll take this up as a feedback for our product team to have metered billing work for first invoice as well in case the merchant chooses to make it work that way. While I cannot provide an ETA on this feature, I'll certainly let you know when it's enabled.
That would be great - thanks for your help with this.
We have a very similar scenario, and we would like to get the event for the first invoice as well.
Thanks for your feedback!
We have this as a part of the Metered Billing revamp but I'm unable to give you an ETA on this. We'll notify you once it is implemented.