Chargebee allows you to choose the billing mode for your site. This is the granularity of time to which your services are billed. You can account for services either to the day or to the millisecond. In other words, when you bill your customers, the minimum accountable duration can be either a day or a millisecond.
Changes can be made to subscriptions in the middle of their terms. For example, a subscription may be upgraded or downgraded to a different plan, or quantities may be added or removed. Since this introduces a change in the price of the subscription, prorated credits and charges can be raised to ensure proper billing.
Since billing mode can be either day-based or millisecond-based, proration follows suit. So when proration happens, the minimum accountable duration for the charges or credits is either a day or a millisecond, as set by billing mode.
Billing mode can be configured by navigating to Settings > Configure Chargebee > Billing LogIQ > Billing & Invoices > Billing Mode.
You can choose either day-based billing or millisecond-based billing for your site. The latter is the default setting.
Day-based
Billing is done to the day. In this mode, whenever a subscription starts, regardless of what time it actually started, its start timestamp is set to the beginning (00:00:00.000 hrs) of the day and the end timestamp is set to the end (23:59:59.999 hrs) of the last day of the billing period. These times are only indicative; any proration calculations in day-based billing mode are done to the day.
Moreover, when day-based billing is enabled, you must set whether — while canceling subscriptions — the date of cancellation is billed or not. (See subscription cancellation settings).
Millisecond-based
Billing is done to the millisecond. This means that subscription terms can start at any time in Chargebee. The end of the term timestamp is one plan billing duration after the subscription start timestamp. For example, a subscription could start at July 23, 2019, 12:30:33.756. If the billing period of the plan is a month, the end of the term would be at Aug 23, 2019, 12:30:33.755.
Proration can be configured by navigating to Settings > Configure Chargebee > Billing LogIQ > Billing & Invoices > Proration. It allows you to choose the default behavior while changing any subscription. Checking the box enables proration-during-subscription-change by default.
While actually changing the subscription, you can override the default setting by using the Apply prorated credits and charges checkbox on the change subscription page.
IF the... |
Subscription Change 1 | AND |
Behavior | Subscription Change 2 |
Behaviour |
**apply prorated credits and charges** checkbox is |
enabled |
|
Prorated credits or charges are created as applicable for this change |
enabled |
Prorated credits or charges are created as applicable for this change. |
disabled |
Prorated credits or charges are not created. |
||||
disabled |
|
Prorated credits or charges are not created. |
enabled |
A prorated invoice is generated for the updated subscription. Also, prorated credits will not be issued/generated. | |
disabled |
Prorated credits or charges are not created. |
Example
Let's review an example of when the apply prorated credits and charges checkbox is disabled.
A customer's original subscription plan is as follows:
Plan Term: July 1 - July 31
Plan Price: $100
Change 1: When the checkbox is disabled and the changes are applied immediately.
The customer decides to update their plan on July 15.
Plan Term: July 15-July 31
Plan Price: $50
Outcome: No credits are issued to the customer.
Change 2: When the checkbox is enabled and the changes are applied immediately.
The customer decides to update their plan again on July 20.
Plan Term: July 20- July 31
Plan Price: $150
Outcome: In this example, the customer will receive a prorated invoice for the period(July 20 - July 31) based on the new plan. However, the customer will not be issued prorated credits for the unused period.
Here's how changing the billing mode affects subscriptions:
Warning: Performing this switch results in the loss of timestamp information from the subscription data: any start and end timestamp data more granular than a day is lost and cannot be recovered. Switching back to millisecond-based billing is thus not possible.
Since day-based billing mode accounts subscription terms in units of days, on switching to it from millisecond-based billing mode, all start timestamps in Chargebee such as subscription start/activation/renewal timestamps and trial start timestamps are changed to the beginning (00:00:00.000 hrs) of the day. Further, all term end timestamps in Chargebee are changed to the end (23:59:59.999 hrs) of the previous day. Again, the time component is only indicative; any proration calculations in day-based billing mode are only done to the day.
Example:
Billing mode: millisecond-based
Plan period: 1 month
Trial period: 10 daysAssume that the Trial start timestamp is Apr 25, 2019, 16:28:09.034
Then Subscription start timestamp would be (10 days later): May 5, 2019, 16:28:09.034
And term end timestamp would be (1 month later): Jun 5, 2019, 16:28:09.033
Next renewal timestamp would be (a millisecond after term end): Jun 5, 2019, 16:28:09.034After switching to day-based billing mode, the timestamps would change as follows:
Trial start (Set to beginning of the day): Apr 25, 2019, 00:00:00.000
Subscription start (Also set to beginning of the day): May 5, 2019, 00:00:00.000
Term end (Set to end of the day before): Jun 4, 2019, 23:59:59.999
Next renewal (Set to beginning of the day): Jun 5, 2019, 00:00:00.000Note: Though renewal times are aligned to the start of the day, it can take up to 2-3 hours for the renewal to actually go through due to the sheer number of the operations.
When switching from day-based to millisecond-based billing, the subscription data is unchanged. Further, billing and proration for the site happens to the millisecond. This switch is only allowed on the test site.
When prorated credits are raised against invoices, the amounts are always calculated as per the billing mode in which the invoice was generated. For example, if an invoice was generated in millisecond-based billing then even after switching the site to day-based billing, any prorated credits against the invoice are still calculated to the millisecond.
Proration for plans and addons is accomplished in two parts:
During subscription change, prorated credits or charges will be issued based on:
For example,
We now discuss some real examples in Chargebee to demonstrate proration. The examples, save the last one, are for day-based billing.
Subscription created with plan quantity 2, on September 1
Plan Amount: $10
Invoice Generated: $10x 2 (qty) = $20
Invoice is Paid
Subscription is changed on the September 16
New subscription quantity: 1
Invoice will not be generated
Prorated Refundable Credits $5x 1 (qty) = $5 will be issued
Subscription was created with the plan quantity set to 2. In the middle of the month, the plan quantity was downgraded to 1. In this case, credits for the quantity of 1 for the unused period of 15 days would hence be generated. Since the current term's invoice is in the Paid state, the credit note would be of the type Refundable.
Subscription created with the plan quantity 3 on the on September 1
Plan Amount: $20
Invoice Generated: $20 x 3 (qty) = $60
Invoice is unpaid
Subscription is changed on the on September 1
New subscription quantity: 2
New invoice will not be generated
Adjustment Credits $10 x 1= $10 will be created and adjusted against the Payment Due invoice. The final invoice amount will get reduced to $50.
Subscription was created with the plan quantity set to 3. In the middle of the month, the quantity was downgraded from 3 to 2. Since the current term's invoice is unpaid, a credit note of the type Adjustment will be created for the price of 1 quantity and automatically adjusted against the invoice's due amount.
Suppose that a subscription is created for a monthly plan priced at $30 per unit as follows:
Plan Amount: $30/unit
Start date: Sep 1st
Quantity: 3 units
Invoice Generated: $30 x 3 units = $90
Payment received: $80
Payment due: $90-$80 = $10
Say the quantity for the subscription is reduced to 2 on Sep 15th.
Prorated amount for the unused service: plan price x unused quantity x fraction of time unused = $30 x 1 x 0.5 = $15.
So the total amount for the term changes to: invoice amount - prorated amount for unused service = $90-$15 = $75.
Since $80 has already been paid, a refundable credit note for $80-$75 = $5 is generated.
Also, an adjustment credit note for the original unpaid amount of $10 is also generated.
Subscription created with plan quantity 1, on the 1st of October
Plan Amount: $10
Invoice generated: $10x 1 (qty) = $10
Invoice is paid
Subscription was changed on the 16th of October
New subscription quantity: 3
Credit Note will not be generated.
A new invoice is generated for the 2 additional quantities
New Invoice generated: $5 x 2= $10
Subscription was created with the plan quantity set to 1. The plan quantity was then upgraded to 3. In this case, no Credit Note will be created and an invoice will be generated for the two additional quantities.
The way proration is calculated and applied in the case of a Plan Quantity Upgrade, remains the same regardless of the Invoice status (Paid, Payment Due, Not Paid, or Partially Paid).
Subscription created with plan (Plan A), on the 1st of March
Plan A amount: $60
Invoice is Paid
Subscription's plan downgraded to a new plan (Plan B) on the 11th of March
Plan B amount: $30
Invoice of $20 will be generated
Prorated Refundable credits $40 will be created, out of which $20 will be applied against the above invoice. The remaining credit balance ($20) will be available for future use.
Subscription was created with the plan (Plan A) of $60. The subscription's plan was then downgraded 10 days later to another plan (Plan B) of the amount $30. In this case, an invoice of $20 will be generated for the Plan B's amount for the period of 20 days and prorated Refundable Credits of $40 will be created for Plan A's unused period. Refundable Credits will then be automatically applied to the $20 invoice.
If the previous Invoice was unpaid, Adjustment Credits will be created and applied to this invoice.
The following examples show how proration happens when changing the quantity mid-term for plans with tiered , volume , or Strairstep pricing.
Volume Pricing
Consider a monthly plan with the following volume pricing model:
Tier | 1 | 2 | 3 |
---|---|---|---|
Units in tier | 1-100 | 101-200 | 201 or more |
Price per unit | $5 | $4 | $3 |
New Subscription Sign-up:
Say a customer signs-up for a new subscription as follows:
Sign-up date: Sep 1st
No. of units: 90
Since the no. of units falls under tier 1, the billing price would be: 90 x $5: $450
On Subscription Change:
Now say the quantity purchased is increased mid-month:
Date of subscription change: Sep 16th
New no. of units: 110
Since the no. of units now falls under tier 2, the new billing price would be: 110 x $4 = $440
Prorated billing price for the new subscription period (Sep 16 - Sep 30): $220
Credits on the original subscription for that period: $225
So for the subscription change, there will be refundable credits raised for $225 - $220 = $5
Tiered Pricing
Consider a monthly plan with the following tiered pricing model:
Tier | 1 | 2 | 3 |
---|---|---|---|
Units in tier | 1-100 | 101-200 | 201 or more |
Price per unit | $5 | $4 | $3 |
New Subscription Sign-up:
Say a customer signs-up for a new subscription as follows:
Sign-up date: Sep 1st
No. of units: 90
Since the no. of units falls under tier 1 , the billing price would be: 90 x $5: $450
On Subscription Change:
Now say the quantity purchased is increased mid-month:
Date of subscription change: Sep 16th
New no. of units: 110
Since the no. of units now fall under tier 1 and 2, the new billing price would be:
100 x $5 (tier 1) + 10 x $4 (tier 2) = $500 + $40 = $540
Prorated billing price for the new subscription period (Sep 16 - Sep 30): $270
Credits on the original subscription for that period: $225
So for the subscription change, there will be a charge for $270 - $225 = $45
Stairstep Pricing
Consider the following stairstep pricing for a monthly plan:
Step | 1 | 2 | 3 |
---|---|---|---|
Units in step | 1-100 | 101-200 | 201 or more |
Price | $300 | $550 | $700 |
New Subscription Sign-up:
Say a customer signs-up for a new subscription as follows:
Sign-up date: Sep 1st
No. of units: 90
Since the no. of units falls under step 1 , the billing price would be: $300
On Subscription Change:
Now say the quantity purchased is increased mid-month:
Date of subscription change: Sep 16th
New no. of units: 110
Since the no. of units now falls under step 2 , the billing price would be: $550
Prorated billing price for the new subscription period (Sep 16 - Sep 30): $275
Credits on the original subscription for that period: $150
So for the subscription change, there will be a charge for $275 - $150 = $125
When you have millisecond-based billing mode and proration enabled for your site, proration for subscription changes are calculated using the below formula:
Credits for the unused period from old plan = (Old Plan Amount / Regular Term in milliseconds) * Remaining Term in milliseconds
Charges for new plan = (New Plan Amount / Regular Term in milliseconds) * Remaining Term in milliseconds
Net Charge for subscription change = Charges for new plan - Credits for unused period from old plan
Let's consider the following subscription upgrade:
Plan A: monthly, price: $1000
Plan B: monthly, price: $2700
Say a customer subscribes to Plan A starting Jan 10, 2019, 16:02:35.480 hrs.
So we have:
Subscription start timestamp | Jan 10, 2019, 16:02:35.480 hrs |
---|---|
Subscription end timestamp | Feb 10, 2019, 16:02:35.479 hrs |
Subscription change timestamp | Feb 1, 2019, 10:03:43.223 hrs |
Regular Term (31 days) | 2,678,400,000 milliseconds |
Remaining Term (9 days, 5 hrs, 58 min, 52 s and 257 ms) | 799,132,257 milliseconds |
Credits for unused period from old plan = (1000/2,678,400,000 ms) X 799,132,257 ms = $298.36
Charges for new plan = (2700/2,678,400,000 ms) X 799,132,257 ms = $805.58
So net charge for the subscription change would be: $805.58 - $298.36 = $507.22
Let's consider another example for a subscription downgrade:
Plan A: monthly, price: $2000
Plan B: monthly, price: $1700
Say a customer subscribes to Plan A starting Jan 10, 2019, 16:02:35.480 hrs.
So we have:
Subscription start timestamp | Jan 10, 2019, 16:02:35.480 hrs |
---|---|
Subscription end timestamp | Feb 10, 2019, 16:02:35.479 hrs |
Subscription change timestamp | Feb 1, 2019, 10:03:43.223 hrs |
Regular Term (31 days) | 2,678,400,000 milliseconds |
Remaining Term (9 days, 5 hrs, 58 min, 52 s and 257 ms) | 799,132,257 milliseconds |
Credits for unused period from old plan = (2000/2,678,400,000 ms) X 799,132,257 ms = $596.72
Charges for new plan = (1700/2,678,400,000 ms) X 799,132,257 ms= $507.21
So net charge for the subscription change would be: $507.21 - $596.72 = ($89.51)
A credit note for $89.51 will be generated.
For a subscription with multiple changes in a single billing period, note that if you set the prorate setting for a subscription change as False, Chargebee will not prorate for subsequent changes within the same billing period even if you change the same prorate setting as True.
1) Can I have products with different billing modes in Chargebee?
No, billing mode is a site-wide setting and cannot be changed for specific plans or addons in Chargebee.