Start a new topic

Charge at the end of subscription


I am surprised there isn't an option to charge at the end of the term.

I have worked with various workarounds, but none of them are neat enough to allow using all the functionality chargebee has to offer. When does this feature happen?

1 person has this question


Many thanks for reaching out to us!

Quick Question: Are you looking to add an additional charge for the subscription at the end of current term?

If so, you could make use of the following APIs:

1} Add charge at term end 

2} Charge addon at term end

Please let us know if you need any clarification.

Hi Anand,

That does not work for us. We need to charge the plan amount at the end of the term. It gets very messy if we have to manually charge at term end. 


Thanks for your response.

If you're looking to collect the subscription fee only on the end of current term, you could make use of our 'Metered Billing' feature, where the invoices for each month would be generated in a 'Pending State'. You would then have to close it after which Chargebee will attempt to collect payment from the customers.

Note - This feature is mainly used for collecting variable payments {postpaid - usage based charges}, however, you could use it to fulfill your billing scenario.

Will this work?

Hi Anand,

I think that makes things too complicated.

I have plans, which can have addons. Everything needs to be charged at the end of the term. Everything should be in one invoice. What happens if an addon is added in the middle of the subscription? I have to find the previously generated invoice and add the addon to that. How do I automatically collect payments? I have to find the previous generated invoice when subscription is renewed and then close it.

Every subscription cycle I need to keep track of the invoice as well.

Now consider the situation I need to use some other functionality, such as coupons. I have to think about the design for every use case. I have to test each edge case. It's too much effort. It's not worth paying for.

How hard is it to natively support end of term payment? 


Thanks for giving an insight on your exact requirement.

In that case, as a workaround, you could configure a plan with one month trial period, thereby allowing you to collect the payments only during the end of term. Let me elucidate with an example below:

When customers sign up for the plan with one month trial, they will be not be charged anything upfront. The payment for the current term will only be charged when trial gets exhausted and subscription turns active after a month {in other words - end of current term}. If suppose, you'd like to include an addon to the subscription, you could do that and set the change to happen on next renewal, such that it is collected along the plan amount at term end.

Will this work? Please let us know.

Hey ,

I am facing the same issue with Onelyst.
I need the subscription to be charged at the end of every month.
How is your workaround going to solve this issue ? With a trial period isn't it going to be solved only for first month and still the term end will not be the end of the month.

Hey George,

Thanks for your reply.

Configuring a 30 day trial would restrict the system from collecting subscription payment immediately when the customer signs up. For example, if the customers sign up on May 1st, they will not be charged anything upfront and their next billing date would be May 31st {where the month's payment would be collected}. You could remove the field - 'Billing Period' from getting displayed on the invoice from under Settings > Site Settings > Customize Invoice & Credit Note > Select Information to Display in the web interface.

For customers signing up during mid month {say May 15th}, you could use the "Change Term End" API to change the next billing date to end of month {May 31st - by cutting short the trial period}. From then on, the subscription would renew and the payment would be collected only during the end of every month.

Please let me know if you need any clarification.


I am facing the same issue.

I want every recurring consolidated invoice generated only at term end or next billing date without charge in advance.

For example:  a customer sign-up two subscriptions at 6/5 and 6/15. I would like to generate one consolidated invoice charging these two subscriptions with billing period 6/5~6/30. This first invoice will be generated on 7/1 and without charges from billing period 7/1~8/1.

And the second consolidated invoice will be generated on 8/1 with billing period of 7/1~8/1.

Please tell me how to do this.

Thank you very much.

Hi there

Chargebee basically supports a prepaid billing model; the customers will be charged in advance for the service that they'll be using. I understand that you want to collect the charges only at the end of the term. In this case, you can either use Metered Billing or a one-time 100% coupon. When the 100% coupon is used upon subscription creation, the first charge would be $0 and the customer will be charged normally upon renewals. However, the billing period will not change here; it will still follow the prepaid model. You can hide the billing period as my colleague suggested earlier.

Coming back to your consolidation request, invoices can be consolidated only during renewals and specifically when the renewal happens on the same day. You can use Calendar Billing along with Consolidated Invoicing so that all your subscriptions bill at a common date. When you set the common billing date as 1, this is what will happen to your subscriptions (in the example provided):

First subscription - sign up on 6/5. 

The first billing will be 6/5 to 7/1

If you don't want to collect charges, use a 100% coupon

No invoice on 6/5. Full charges will be collected on 7/1

Second subscription - sign up on 6/15

The first billing will be 6/15 to 7/1

If you don't want to collect charges, use a 100% coupon

No invoice on 6/15. Full charges will be collected on 7/1

On 8/1, a consolidated invoice will be generated for subscriptions 1 and 2.

1 person likes this
Login or Signup to post a comment