Billing Resellers Per Domain

WHMCS allows you to vary the amount shared hosting resellers are billed based on the number of user accounts they use.

For example, you could charge an additional $1.00 for each cPanel user account that a cPanel & WHM reseller has.

We introduced this feature in WHMCS 7.9 for cPanel and DirectAdmin servers and in WHMCS 8.5 for Plesk servers. For more information, see Usage Billing.

We recommend using this Snapshot metric type on products with a monthly billing cycle.


To configure this:

1. Navigate to Configuration > System Settings > Products/Services (Setup > Products/Services > Products/Services in WHMCS 7.10 and earlier).

2. Choose Create a New Product from the options area, or click Edit for an existing product. If you are creating a new product, specify Reseller Hosting as the product type and the group and product name.

Click the Module Settings tab

3. Click the Module Settings tab.

Click Module Settings tab

4. Choose the module to use with this product. In this example, we will use cPanel, but the methods to use for DirectAdmin and Plesk are similar.

5. Enter the requested module-specific information. This will vary depending on the module you choose. For example, for the cPanel module, this includes selecting a WHM package.

In this example, cPanel will prevent resellers from exceeding the maximum number of accounts setting. We suggest configuring the package limits higher, so that you consume all resources.

6. Configure the Metric Billing section. This section only appears if the selected module supports it.

The Metric Billing Section

7. Toggle each metric that you want to bill for to On.

Toggle the Metric On

The Sub-Accounts metric within WHMCS is the number of user accounts that a reseller owns. It does not impact whether cPanel users can create cPanel Subaccounts, which are a separate feature.

8. Next, click the Configure Pricing link to set the pricing for the sub-accounts the reseller consumes. The Configure Pricing modal will appear.

9. Configure the price to charge the client for the sub-accounts they consume (for example, the number of cPanel user accounts the reseller creates).

There is a lot of flexibility in the configured pricing. For example:

A. The reseller will be charged $1.00 for every sub-account that exists on the service renewal date each month.

When the Per Unit scheme is selected, there is only one unit price ($1.00 per sub-account):

Metric Pricing Example 1

B. The reseller wil be charged $1.00 for every sub-account they create up to 50. Then, they will be charged $0.50 for every sub-account they consume above that (a bulk discount).

The Total Volume scheme is selected. This displays the Add Range button to create an additional range to specify the price for 50 sub-accounts and above:

Metric Pricing Example 2

3. The reseller will be charged $1.00 for every sub-account they consume over 10. This is because of the Quantity Included value.

The Per Unit scheme is selected as there is only one unit price (always $1.00 per sub-account):

Metric Pricing Example 3

10. When you are satisfied with the pricing configuration, click Save. The window will close.

11.  Click Save Changes.

Invoicing Overview

When a client orders the above product:

  1. WHMCS will track the number of sub-accounts that the reseller creates.
  2. On the service's Next Due Date, the system records a snapshot of the current number of sub-accounts.
  3. The system calculates the cost according to the current pricing schema.
  4. The cost appears on the service's next renewal invoice as an individual line item.

WHMCS takes the usage snapshot on the service's Next Due Date. Because of this, we suggest offering the product only on the monthly billing cycle, so that you bill usage frequently.