Advanced Billing For WHMCS
Article update is ongoing on this page, watch out for broken links, unclear descriptions and images!
We are sorry for the inconvenience caused.
Contents |
About Advanced Billing For WHMCS
Advanced Billing For WHMCS enables you to implement flexible billing models based on the actual usage of resources such as bandwidth, CPU, and other server capabilities. This module supports multiple currencies and offers various billing options, including hourly billing, credit billing, and recurring billing. Advanced Billing For WHMCS is compatible with many popular modules, including cPanel, Plesk, and SolusVM, as well as a variety of ModulesGarden products. The Wiki page for Advanced Billing For WHMCS 3.x can be found here. |
- Core Features:
✔ Hourly Billing For Any WHMCS Module |
✔ Specific Resources Billing For Integrated WHMCS Modules |
✔ Configure Billing Per Product |
✔ Manage Individual Configurations Per Products |
✔ View Current And Archived List Of Billable Items For Next Invoices |
✔ View Resource Usage History Of Any Item |
✔ Manage Awaiting Invoices And Convert Them To Invoices |
✔ Define Summary Calculation Method |
✔ Define Time Period Between Resource Usage Checks |
✔ Configure Multithreaded Cron Job Settings |
✔ Customize Module Language Files With "Translations" Tool |
✔ Control Staff Access Level To Specific Resources With ACL |
✔ View And Manage Logs |
- 'Recurring Billing' Configuration:
✔ Bill On Account Termination |
✔ Bill When Invoice Is Generated For Hosting |
✔ Bill Each X Day Of Month |
✔ Bill Each X Days |
✔ Define Minimum Billing Amount |
✔ Automatically Generate Invoice |
✔ Define Invoice Payment Due Date |
✔ Automatically Apply Credits |
✔ Display Advanced Billing Cycle Info |
✔ Apply Discounts To Client Groups |
- 'Prepaid Billing' Configuration:
✔ Enable Clients To Top Up Account With Credits Available For Hosting |
✔ Define Minimum Amount Of Credits To Top Up Account |
✔ Generate Summation Each X Days |
✔ Access Summations Of Credit Usage By Client |
✔ Send Email When Client's Credit Balance Falls Below Defined Credit Amount |
✔ Automatically Suspend Account When Client Is Out Of Credits |
✔ Automatically Refill Client's Credit Balance With Needed Amount Using Their WHMCS Credits |
✔ Define Invoice Payment Due Date When Topping Up Account |
- 'Credit Billing' Configuration:
✔ Generate Invoice Each X Days |
✔ Define Minimum Amount Of Credits To Charge |
✔ Send Email When Client's Credit Balance Falls Below Defined Credit Amount |
✔ Automatically Suspend Account When Client Is Out Of Credits - With Override Support |
✔ Define Invoice Payment Due Date |
✔ List Summary Credit Billing Charges Of Any Hosting |
✔ Refund Credit Payment To Client |
✔ Pay Invoices With Client Credits |
- 'Fixed Pricing' Configuration
✔ Bill Clients With Fixed Amount For Active Service Usage After X Hours |
✔ Define Number Of Hours For Service To Be Active |
✔ Toggle Credits To Be Automatically Applied If Available In Client's Balance |
✔ Toggle Tax To Be Added To Generated Invoices |
✔ Define Invoice Payment Due Date |
✔ Define Fixed Payment Amounts In Available Currencies |
- 'Product Auto Upgrade' Configuration
✔ Live Upgrade/Downgrade Of Products Along With Their Configurable Options Depending On Used Resources |
✔ Admin Area: |
✔ Define Product Auto Upgrade Groups |
✔ Enable/Disable Product Auto Upgrade Groups |
✔ Create Product Auto Upgrade Options |
✔ Assign Product To Option - Configurable Options Support |
✔ Define Options Upgrade/Downgrade Rules |
✔ Set Up Minimal Upgrade/Downgrade Interval |
✔ Enable/Disable Any Product Auto Upgrade Option |
✔ Drag & Drop To Reorder Options |
✔ Define Client Area Features |
✔ View List Of Hosting Accounts Altered By Product Auto Upgrade |
✔ Access Product Auto Upgrade History Of Any Hosting |
✔ Client Area: |
✔ Enable/Disable Product Auto Upgrade And Product Auto Upgrade Options |
✔ Manage Product Auto Upgrade Options Rules |
✔ Set Up Minimal Upgrade/Downgrade Interval |
✔ View Product Auto Upgrade History Per Product |
✔ Set Up Notifications Rules |
✔ Define Minimal Notification Interval |
- 'Notifications' Configuration:
✔ Allow Clients To Create Multiple Resource Usage Reminders: |
✔ Define Frequency Of Resource Checks |
✔ Define Frequency Of Notifications |
✔ Define Resource Usage Limits |
✔ Define Maximum Number Of Reminders That Clients May Create |
✔ Send Email Reminders To Clients Once Limit Is Reached Or Exceeded |
✔ Choose Reminder Email Template |
- 'Usage Record' Configuration:
✔ Define Period For Counted Resource Usage |
✔ Define Resource Usage Counting Precision |
✔ Show History Of Resource Usage |
- 'Graphs' Configuration:
✔ View Graphs In Admin And Client Area |
✔ Generate Time Graphs Of Chosen Resource Usage |
✔ Show Data For Selected Time Period |
✔ View Disk Storage Used To Archive Data |
✔ Flush Archived Data Immediately Or After X Days |
- 'Free Limit' Configuration:
✔ Use Product Configurable Options To Define Maximum Amount Of Usage Records That Will Not Be Charged |
- Supported Modules:
✔ cPanel & cPanel Extended Integration: Hourly, Bandwidth, Storage, Databases, Addon Domains, Subdomains, Parked Domains, Domain Forwarders, FTP Accounts, Installed Applications, Email Accounts |
✔ DigitalOcean Droplets Integration: Hourly, Memory, Disk, Backups, Volumes, vCPUs, Size, Snapshots |
✔ DirectAdmin & DirectAdmin Extended Integration: Hourly, Bandwidth, Storage, Subdomains, Domain Pointers, FTP Accounts, MySQL Databases, Virtual Domains, Mailing Lists, POP Accounts, Email Forwarders, Email Autoresponders |
✔ EasyDCIM Dedicated Servers Integration: Bandwidth IN/OUT/TOTAL, 95th Percentile IN/OUT/TOTAL Bandwidth Overages |
✔ EasyDCIM Colocation Integration: Bandwidth IN/OUT/TOTAL, 95th Percentile Bandwidth IN/OUT/TOTAL Overages, Power Usage |
✔ Hetzner Cloud Servers Integration: Backups, CPU Usage, CPUs, Disk, Disk Bandwidth Read, Disk Bandwidth Write, Disk IOPS Read, Disk IOPS Write, Floating IPs, Hourly, Ingoing Traffic, Memory, Network Bandwidth In, Network Bandwidth Out, Network PPS In, Network PPS Out, Outgoing Traffic, Snapshots, Volumes |
✔ OpenStack Projects Integration: CPU Time, Disk Device Read Bandwidth, Disk Device Read Requests, Disk Device Write Bandwidth, Disk Device Write Requests, Floating IPs, Image Size, Memory, Memory Usage, Network Incoming Bytes Bandwidth, Network Incoming Packets, Network Outgoing Bytes Bandwidth, Network Outgoing Packets, OS Images, Snapshot Size, Storage Volumes, Usage Record, VCPU Cores, Volume Size |
✔ OpenStack VPS & Cloud Integration: Hourly, vCPU Cores, Memory Usage, CPU Utilization, Incoming Bandwidth, Outgoing Bandwidth, Disk Root Used, Disk I/O Read, Disk I/O Write, Floating IP, Fixed IP, Backups Number |
✔ Plesk & Plesk Extended Integration: Hourly, Subdomains, Disk Space, Email Boxes, Sites, Redirects, Mail Groups, Autoresponders, Mailing Lists, Users, Databases, Webapps, Traffic |
✔ Proxmox VE Cloud VPS Integration: Disk Usage (LXC), Disk Size, Bandwidth IN, Bandwidth OUT, Bandwidth Total, Memory Usage, Memory Size, Backups, CPU Number, CPU Usage, CPU Cores Usage, Snapshots |
✔ Proxmox VE VPS Integration: Hourly, Disk Usage (LXC), Bandwidth IN, Bandwidth OUT, Bandwidth Total, Memory Usage, Backups Usage, CPU Number, CPU Usage, CPU Cores Usage, Snapshots |
✔ SolusVM 2 VPS & Cloud For WHMCS & SolusVM 2.0 WHMCS Integration: Backups, CPU Units, Disk, Hourly, Images, IPv4, IPv6, Memory Usage |
✔ Rackspace Email Extended Integration: Hourly, Mailbox Storage, Mailboxes, Sync Licenses, Blackberry Licenses, Exchange Storage, Exchange Mailboxes |
✔ SolusVM Extended Cloud Integration: Available Disk Size, Disk Usage, Available Bandwidth, Available Memory, Cores, IP Addresses, Disk Usage, Memory Usage (except KVM virtualization), Bandwidth Used |
✔ SolusVM & SolusVM Extended VPS Integration: Hourly, Disk Usage, Available Disk Size, Memory Usage (except KVM virtualization), Available Memory, Bandwidth Used, Bandwidth Total, CPUs Number, Swap-Burst, IPv4, IPv6, Internal IPs |
✔ Virtualizor Integration: Bandwidth Usage, CPU Units, CPU Cores, CPU Usage, Disk Size, Disk Usage, RAM Size, RAM Usage, Network Speed IN, Network Speed OUT, I/O Disk Read, I/O Disk Write, IPv4 Addresses, IPv6 Addresses |
✔ Virtuozzo Hybrid Infrastructure S3 Integration: OPS Other, OPS GET, OPS PUT, OPS LIST, OPS Total and Uploaded, Downloaded, Storage |
✔ Virtuozzo Hybrid Server Integration: Templates, CPU Usage, Memory, Bandwidth IN, Bandwidth OUT, Disk Used, Backups Usage |
✔ Zimbra Email Integration: Hourly, Mailboxes, Email Aliases, Domain Aliases, Storage |
- General Info:
✔ Count Usage Of All Accounts Assigned To Reseller - cPanel, cPanel Extended, DirectAdmin & DirectAdmin Extended |
✔ Fast Billing Calculation Via Multithreading Cron Jobs |
✔ Multi-Currency Support |
✔ Multi-Language Support With Custom Translations Tool |
✔ Supports PHP 8.2 Back To PHP 7.4 |
✔ Supports WHMCS Themes "Six" And "Twenty-One" |
✔ Supports WHMCS V8.11 Back To WHMCS V8.8 |
✔ Requires ionCube Loader V13 Or Later |
✔ Easy Module Upgrade To Open Source Version |
Installation
In this tutorial, we will show you how to successfully install and manage Advanced Billing For WHMCS. We will guide you step by step through the whole installation and configuration process. |
1. Log in to our client area and download the module. |
2. Extract the package and upload its content into the main WHMCS directory.
The content of the package to upload should look like this. |
3. When you install Advanced Billing For WHMCS for the first time you have to rename 'license_RENAME.php' file. File is located in 'modules/addons/AdvancedBilling4/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'. |
4. In order to configure your license key, you have to edit a previously renamed 'license.php' file. Enter your license key between the quotation marks as presented on the following screen. You can find your license key in our client area → 'My Products'. |
5. Now you have to activate the module in your WHMCS system. Log in to your WHMCS admin area. Click 'System Settings' , then choose 'Addon Modules'. |
6. In the next step, you need to permit access to this module. To do so, click on the 'Configure' button, tick the desired admin roles, and press 'Save Changes'. |
7. The last step is setting up a cron job. You can find it following the path: WHMCS → 'Addons' → 'Advanced Billing' → 'Settings' page. The cron can be customized with the following options:
|
Configuration and Management
Advanced Billing For WHMCS is a module that allows you to set up flexible billing models based on your client's actual usage of resources like bandwidth and CPU. Refer to the manual below to learn how to configure the module and make full use of its extensive features. |
Products
To enable Advanced Billing For WHMCS features for a product, navigate to 'Addons' → 'Advanced Billing' → 'Products' and click on the 'Add Product' button. Select your product from the dropdown list. |
Once your products are added use the action buttons to:
|
Pricing
Set pricing for each usage record for a product. The pricing list includes information on each usage record:
Click on the 'Edit' button to set up billing for a usage record. |
Under the general tab you can:
|
The pricing tab is where you set:
|
Settings
The 'Settings' action will take you to the configuration window where you can adjust various features for the product. |
Product Settings
Set general product settings related to summaries, cron frequency and client area integration.
|
Module Settings
Configure product module-specific settings such as:
cPanel Extended
Proxmox VE Cloud VPS
OpenStack
and more. |
Credit Billing
Credit Billing allows your clients to be charged with their credits instead of the standard methods. Note: This function is separate from the WHMCS 'Credit Balance'. Enable the functionality with the 'Enable Credit Billing' toggle and configure the details:
|
Fixed Pricing
Fixed Billing charges clients a set amount after a specified number of hours of active service usage. This feature lets you define a fixed price per product, billed automatically once the usage threshold is reached.
|
Prepaid Billing
Prepaid Billing enables charging clients directly from their prepaid credit balance. It also provides summary billing, combining charges into a single summary instead of generating separate invoices.
|
The client area will include the summations and a way for the client to top up his credit balance. After the client indicates the amount of credits to be added to his account, an invoice will be generated for it. |
Recurring Billing
Recurring Billing automatically charges clients on a regular schedule for their products. This feature simplifies ongoing payments by setting up recurring billing cycles.
|
Notifications
Notifications allow clients to set up email reminders that are sent when their resource usage reaches or exceeds specified limits. This feature helps clients stay informed about their usage and avoid unexpected charges.
|
The predefined 'Advanced Billing Resource Usage Reminder' features variables that you can also use in your own templates:
|
Once the function is enable clients will see the 'Reminders' table where they can add and manage their notifications. To add a new notification click on the 'Add Reminder' button. |
Provide the following:
|
Once the reminder is added, it can be managed using the action buttons:
|
While defining the limits, you can scroll the list of resources horizontally. The fields for each include:
For example, we can set the reminder to be sent after the bandwidth is 'is more' than 20000MB, as shown on the screen below. |
Make sure to enable the reminder after the limits are defined for it. |
Usage Records
Usage Records displays clients' resource usage data and usage history directly on the product page in the client area. This feature allows clients to easily track their resource consumption over time.
|
Enabling the extension will display the current usage in the client area. Enabling the 'Records History' function will also display usage from previous periods. |
The 'Display Usage Records Pricing' will display the pricing table when clients prepare thier order. |
Free Limit
Important: This function is not yet implemented in the 4.0.0 beta release. Free Limit allows you to set free usage limits for a product based on its Configurable Options. |
Graphs
Graphs provide a graphical display of usage records for each configured service. This feature helps visualize resource consumption trends over time. Use the 'Show Enabled Records Only' option to hide records with no pricing enabled. |
With the functionality enabled, clients will find a graph of their usage displayed in the client area. They will be able to change the graph's scope and resources displayed. |
Product Auto Upgrade
Product Auto Upgrade automatically upgrades or downgrades products based on resource usage, following the rules you set. Clients can choose whether to allow automatic adjustments and can even configure their own rules for product resizing. After enabling the function, take a look at the Product Auto Upgrade Management section to prepare the options. |
Depending on the settings, clients will be able to:
|
Items
Items with resource usage counted can be found in the 'Items' section. The 'Item List' includes current billable items, while the 'Item Archive' lists historical items that are already billed. |
Item List
You can find the 'Item List' under 'Items'. The list includes information such as:
And action button responsible for:
|
You can mark multiple items with the mass delete function when necessary as well. |
Clicking on the 'View Details' button will display the page with all the usage recorded. The page includes action buttons responsible for:
|
The 'View Graph' button will in turn display a resource usage graph for the item. You can aspects of the graph scope by clicking on the 'Edit' button. |
Select the resources and time scope you would like the graph to include. |
Item Archive
You can find the 'Item Archive' under 'Items'. It included items that are already billed. The list includes information such as:
And action button responsible for:
|
You can mark multiple items with the mass delete function when necessary as well. |
Billing
All billing related management can be found under the 'Billing' section. This includes 'Invoices' and 'Credits'. |
Invoices
Invoices created both automatically and manually can be found here. The invoice list includes:
And action buttons responsible for:
|
You can also utilize the mass function to generate or delete multiple invoices at once. |
Invoice details consist of editable fields such as:
and every billed item with its:
|
Credits
This tab lists all credit top-ups issued by the clients with the 'Credit Billing' function. The list includes:
and an action button allowing the admin to 'Refund' the credits to WHMCS 'Credit Balance'. |
Multiple top-ups can be selected to refund them at the same time. |
Product Auto Upgrade Management
Under the 'Product auto Upgrade' you will be able to find tools to create and manage the auto upgrades based on resource usage. This section is only relevant for products with the Product Auto Upgrade function enabled. |
Configuration
Find the 'Configuration' tab under ' Product Auto Upgrade' and click on 'Add Group' to add a new group. |
As you create the group, complete the following fields:
|
Once the group is added, the action buttons will allow you to:
|
While editing the settings you will be able to change:
|
You can also change what the client is allowed to do:
|
The 'Options' action will take you to a page where you can define upgrade options within the group. To begin, click on the 'Add Option' button and name the option. |
Use the action buttons to:
|
The mass action feature can also be used to delete or change packages for multiple options at once. |
Click the 'Edit' button and define rules for both upgrades and downgrades, by selecting the 'Comparison Type' and 'Threshold' for any of the options. |
Accounts
Services or 'Accounts' that make use of the 'Product Auto Upgrade' are recorded and listed in the 'Accounts' section under 'Product Auto Upgrades'. The list includes information such as:
The 'Details' action button will display more information on a specific account. |
The details include a list of auto upgrades complete with:
|
Client Area
Depending on the option's setting, several features can be made available to the client. Assuming 'Client Rules Configuration' is enabled, clients will be able to change how their service interacts with the system by clicking on the 'Settings' icon under 'Auto Upgrade'. |
Options may include:
|
Under the 'Rules Options' tab, the client can select which rules to enable. |
Service upgrades are recorded and displayed in the 'Auto Upgrade History' table. |
Notification messages for upgrades can be set up by the user, first, click on the additional actions button. |
Enable the function and select the interval between each message. |
To add a new notification use the 'Add Notification' button. |
Select the resource, comparison and unit for the notification. |
You can add as many notifications as you would like. Action buttons allow you to edit or delete the notification. |
Other
Other useful tools and features directly related to the module functioning can be found in the 'Other' section. This includes:
|
Translations
Customizing language files is now extremely easy with the "Translations" tool that is now available directly in the addon. Its user-friendly design makes managing various language file tweaks a smooth and efficient process. Prepare translations for the original English files with this handy built-in tool. For specific instructions on how to use this tool please refer to its dedicated article, you will find it here. |
Access Control
'Access Control' allows you to specify and control exactly which sections of the module can be accessed by your administrators. The way it works is that you create access control rules in which you decide if a specific admin, or admin role has full access, or is restricted to only specific sections. |
Rules
Start with creating a new rule, click on the 'Create Rule' button and a dedicated form will appear. Below you will find a description of every field required in the form. |
Fill out the following fields to create resources access rule:
Important: When picking specific sections, keep in mind that allowing a parent section will also allow all of its children. |
To edit or delete existing rules, use the icons to the right. |
Resources
Use the toggles in the 'Resources' section to specify which of them should be subject to logging, found in the 'Logs' section. Every time an administrator requests a toggled resource, it will be recorded. |
Access Control Logs
The logs section includes:
Use the trash bin icons to delete specific logs, or utilize the mass action function to delete multiple logs at once. |
Logs
The 'Logs' section under 'Other' is where the module logs are stored. You can filter the module logs by type with the 'Show' buttons:
|
You can delete logs either one by one or with the mass function. |
additional actions include:
|
In the settings you may decide:
|
While exporting you will have to specify which logs to export:
|
You may also delete specific logs without finding them manually. Simply define:
|
Upgrade Guide
Seeking a solution that offers greater flexibility, customization tailored to your precise needs, and unrestricted availability? There is an option that not only proves to be cost-effective in the long run but also includes prioritized support services, making it a truly valuable investment. Opt for the Open Source version of your Advanced Billing For WHMCS module to unlock these benefits. Follow a comprehensive guide covering the transition process, the advantages it brings, and step-by-step instructions on what to do next after the order has been successfully finalized. |
Common Problems
1. When you have problems with connection, check whether your SELinux or firewall does not block ports. |
2. Cron Threads feature currently does not work for the EasyDCIM submodule. In case you have enabled Cron Threads, cron tasks for EasyDCIM submodule will be executed in a basic way. This option will be implemented into the Advanced Billing module the future releases. |