Prorata Billing
In WHMCS 8.2 and later, you can choose to use prorata billing with product addons. Prorata billing synchronizes billing to a specific day of the month.
Prorata billing is popular in part because it enables you to control customer due dates. This allows you to line up income from customer payments with the payment schedule you have with your vendors. It also provides convenience for your customers, since shared due dates reduce the number of invoices your customers receive and provide a consolidated view of their purchased services.
For product addons, WHMCS uses the prorata date setting from the associated parent product or service instead of a separate date. WHMCS will then bill for the product addon and the parent product or service on the same day of the month for their respective billing cycles.
Examples
See below for example scenarios using prorata billing with product addons.
- These are examples only and do not represent all of the possible combinations in WHMCS.
- For simplicity, these examples only discuss a single parent product and a single product addon. In real-world scenarios, you will likely offer multiple products and addons in various configurations.
Contents
Example Setup
In these examples, an admin wants to create a product and associated product addon that offer prorata billing. The initial billing period for the customer depends on the settings for each product and addon and their purchase dates.
To begin creating this scenario, the admin could create a Shared Hosting product with the following settings:
- Recurring as the Payment Type.
- All possible billing cycles enabled.
- Prorata Billing enabled.
- 1 as the Prorata Date value.
- 20 as the Charge Next Month value.
The admin could then create a Dedicated IP product addon with the following settings:
- Recurring as the Payment Type.
- All possible billing cycles enabled.
- Prorata Billing enabled.
Purchasing Products and Addons Together
Given these settings, a customer could purchase Shared Hosting as the parent product and Dedicated IP as the product addon.
Purchasing these together on a given date would result in the following initial billing periods for the following billing cycle configurations:
Product Billing Cycle | Addon Billing Cycle | Initial Billing Period for January 22nd Purchase | Initial Billing Period for February 10th Purchase | Next Addon Billing Period for January 22nd Purchase | Next Addon Billing Period for February 10th Purchase |
---|---|---|---|---|---|
Monthly | Monthly | January 22–February 28 | February 10–February 28 | March 1–March 31 | March 1–March 31 |
Monthly | Quarterly | January 22–March 31 | February 10–March 31 | April 1–June 30 | May 1–July 31 |
Annually | Semi-Anually | January 22–June 30 | February 10–July 31 | July 1–December 31 | August 1–January 31 (next year) |
Annually | Annually | January 22–December 31 | February 10–January 31 (next year) | January 1–December 31 (next year) | February 1–December 31 (following year) |
Charge Next Month Values
Because Charge Next Month is set to 20, the initial billing period for purchases after the 20th of the month extends until the end of the next billing cycle. For monthly billing, this means billing through the next month, while quarterly billing would extend through the next quarter.
- Because the purchase on January 22nd is after the Charge Next Month date, the initial billing period includes both the remainder of that month (January) and the full billing period that applies to the following month (for example, through the February 27 for the Monthly addon billing cycle).
- Because the purchase on February 10th is before the Charge Next Month date, the initial billing period only includes the remainder of that billing cycle.
If, however, the admin did not use Charge Next Month but retained all of the other settings above, the billing periods and behavior would depend on the Prorata Date setting and the method the admin used to disable Charge Next Month (using a setting of 0 versus 32). For more information, see Products and Services.
Short Prorata Periods
When customers make purchases at the end of a month, prorata billing can help to ensure that their initial payment is for more than just a day or two.
For example, purchasing a product and addon with the above settings on February 27th would result in the following billing periods and billing cycles:
Product Billing Cycle | Addon Billing Cycle | Addon's Initial Billing Period | Next Addon Billing Period |
---|---|---|---|
Monthly | Monthly | February 27–March 31 | April 1–April 30 |
Monthly | Quarterly | February 27–April 30 | May 1–July 31 |
Annually | Semi-Anually | February 27–July 31 | August 1–January 31 (next year) |
Annually | Annually | February 27–January 31 (next year) | February 1–January 31 (following year) |
Prorating to an Exact Day of the Month
An admin might want to configure prorata billing to ensure that billing cycles start on a specific day of the month. To do this, both the parent product and the addon must have the same configured billing cycle.
- For example, a parent product may have the Monthly, Annually, and Triennially billing cycles configured. To bill on the same schedule, you must configure the Monthly, Annually, and Triennially billing cycles for the addon as well.
- To match billing cycles to the same day of the month each month, choose Monthly.
If a product and addon do not share a billing cycle, they will use the default WHMCS billing behavior.
Purchasing Addons for an Existing Product
Using the settings above and a Prorata Date value of 1, a different customer may have purchased Shared Hosting on January 1st but did not purchase any associated addons.
If, on February 10th, they later purchase Dedicated IP separately to add to their existing Shared Hosting product, the addon would use the following initial billing periods for the following billing cycle configurations:
Product Billing Cycle | Addon Billing Cycle | Shared Hosting Next Due Date | Initial Addon Billing Period | Next Addon Billing Period |
---|---|---|---|---|
Monthly | Monthly | March 1 | February 10–February 28 | March 1–March 31 |
Monthly | Quarterly | March 1 | February 10–April 30 | April 1–July 31 |
Annually | Semi-Anually | March 1 | February 10–July 31 | August 1–January 31 (next year) |
Annually | Annually | March 1 | February 10–January 31 (next year) | February 1–December 31 (following year) |
In this example, the existing Shared Hosting product retains its existing due dates.
For the combination of Monthly product and addon billing cycles, this means that the product and addon will bill on the same date each month beginning on March 1st. Whenever a product and addon with these settings share the same billing cycle, the addon is automatically prorated to the existing service's Next Due Date.
Meanwhile, for the Annual and Semi-Annual example above, the product will continue to bill on January 1st each year while the addon will be billed on January 1st and July 1st.
Purchasing Prorata Addons for Non-Prorata Products
In a slightly different scenario, the admin may have disabled Prorata Billing for Shared Hosting but kept it enabled for Dedicated IP.
If, on January 22nd, another customer purchases Dedicated IP and Shared Hosting together with this configuration, they could share the following initial billing periods for the following billing cycle configurations:
Product Billing Cycle | Addon Billing Cycle | Shared Hosting Next Due Date | Initial Addon Billing Period | Next Addon Billing Period |
---|---|---|---|---|
Monthly | Monthly | February 22 | January 22–February 21 | February 22–March 21 |
Monthly | Quarterly | February 22 | January 22–April 21 | April 22–July 21 |
Annually | Semi-Anually | January 22 (next year) | January 22–July 21 | July 22–January 21 (next year) |
Annually | Annually | January 22 (next year) | January 22–January 21 (next year) | January 22–January 21 (following year) |
Because the product does not use prorata billing, it is billed on the day of the initial purchase (the 22nd). The addon will behave as though prorata billing is not enabled for it and, like the product, WHMCS will calculate the billing period based solely on the billing cycle length and purchase date.