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.

See below for example scenarios using prorata billing with product addons.

  • These are only examples 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.

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 the above 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 CycleAddon Billing CycleInitial Billing Period (January 22nd Purchase)Initial Billing Period (February 10th Purchase)Next Addon Billing Period (January 22nd Purchase)Next Addon Billing Period (February 10th Purchase)
MonthlyMonthlyJanuary 22–February 28February 10–February 28March 1–March 31March 1–March 31
MonthlyQuarterlyJanuary 22–March 31February 10–March 31April 1–June 30May 1–July 31
AnnuallySemi-AnuallyJanuary 22–June 30February 10–July 31July 1–December 31August 1–January 31 (next year)
AnnuallyAnnuallyJanuary 22–December 31February 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 20 in the above settings, 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.

You can also set Charge Next Month to 0 to always include the next billing cycle in the first invoice (depending on the Prorata Date value), or set it to 32 to disable the setting and never charge for the next billing cycle.

Charge Next Month defaults to 0.
For more information, see Products.

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 CycleAddon Billing CycleAddon Initial Billing PeriodNext Addon Billing Period
MonthlyMonthlyFebruary 27–March 31April 1–April 30
MonthlyQuarterlyFebruary 27–April 30May 1–July 31
AnnuallySemi-AnuallyFebruary 27–July 31August 1–January 31 (next year)
AnnuallyAnnuallyFebruary 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. To bill on the same schedule, you must configure the Monthly, Annually, and Triennially billing cycles for the addon too.
  • 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 above settings and a Prorata Date value of 1, a different customer may have purchased Shared Hosting on January 1st but not purchased 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 CycleAddon Billing CycleShared Hosting Next Due DateInitial Addon Billing PeriodNext Addon Billing Period
MonthlyMonthlyMarch 1February 10–February 28March 1–March 31
MonthlyQuarterlyMarch 1February 10–April 30April 1–July 31
AnnuallySemi-AnuallyMarch 1February 10–July 31August 1–January 31 (next year)
AnnuallyAnnuallyMarch 1February 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 system automatically prorates the addon to the existing service’s Next Due Date value.

Meanwhile, for the Annual and Semi-Annual examples above, the product will continue to bill on January 1st each year while the addon will bill 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 enabled it 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 CycleAddon Billing CycleShared Hosting Next Due DateInitial Addon Billing PeriodNext Addon Billing Period
MonthlyMonthlyFebruary 22January 22–February 21February 22–March 21
MonthlyQuarterlyFebruary 22January 22–April 21April 22–July 21
AnnuallySemi-AnuallyJanuary 22 (next year)January 22–July 21July 22–January 21 (next year)
AnnuallyAnnuallyJanuary 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). WHMCS will calculate the billing period based solely on the billing cycle length and purchase date.

Last modified: December 17, 2024