Personal tools
Namespaces

Variants
Actions

Advanced Billing For WHMCS

From ModulesGarden Wiki
Revision as of 13:06, 9 January 2021 by Peter (Talk | contribs)

Jump to: navigation, search

Contents

About Advanced Billing For WHMCS

Advanced Billing For WHMCS allows you to set up additional billing models for your products based on the actual usage of bandwidth, CPU and other server resources.

The module features multi-currency support, and enables such variants as hourly billing, ticket billing, credit billing, and recurring billing, to name but a few.
In addition, it will automatically generate invoices in the preferred way and at freely adjusted time intervals, then send them to your customers.
Moreover, your clients will be allowed to create email reminders to be sent when a specified resource usage limit is reached or exceeded.
Advanced Billing For WHMCS is integrated with many popular modules, including not only cPanel, Plesk and SolusVM, but also a range of ModulesGarden products.

  • Core Features:
✔ Hourly Billing For Any WHMCS Module
✔ Ticket Billing
✔ Configure Billing Per Product
✔ Manage Extensions And Configure Them Per Product
✔ View Current List Of Billable Items For Next Invoices
✔ View Resource Usage History Of Any Item
✔ Manage Awaiting Invoices And Convert Them To Invoices
✔ Define Time Period Between Resource Usage Checks
✔ Define Whether To Store Logs In Files Or Database
✔ Define Number Of Days To Pass To Clear Log Records
✔ View Logs
  • 'Recurring Billing' Extension Features:
✔ 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' Extension:
✔ 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' Extension Features:
✔ 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
✔ Automatically Refill Client's Credit Balance Using Their Credit Card
✔ Client Can Enable/Disable Auto Refilling And Define Single Refill Amount
  • 'Fixed Pricing' Extension:
✔ 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
  • 'Notifications' Extension:
✔ 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
  • 'Resource Usage' Extension Features:
✔ Define Period For Counted Resource Usage
✔ Define Resource Usage Counting Precision
✔ Show History Of Resource Usage
✔ Define Number Of Usage Records Displayed Per Page
  • 'Graphs' Extension Features:
✔ 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
  • Available Extensions:
Product Auto Upgrade - Live Upgrade/Downgrade Of Products Depending On The Used Resources
Proxmox Cloud Autoscaling - Scale Proxmox Servers Within Defined Limits On The Fly
  • 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, 95th Percentile Bandwidth Overages
EasyDCIM Colocation Integration: Bandwidth, 95th Percentile Bandwidth Overages, Power Usage
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, Snapshot Size, 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 Cloud VPS Integration: Disk Usage (LXC), Disk Size, Bandwidth IN, Bandwidth OUT, Bandwidth Total, Memory Usage, Memory Size, Backups, CPU Number, CPU Usage
Proxmox VPS Integration: Hourly, Disk Usage (LXC), Bandwidth IN, Bandwidth OUT, Bandwidth Total, Memory Usage, Backups Usage, CPU Number, CPU Usage
Rackspace Email Extended Integration: Hourly, Mailbox Storage, Mailboxes, Sync Licenses, Blackberry Licenses, Exchange Storage, Exchange Mailboxes
✔ SolusVM & SolusVM Extended VPS Integration: Hourly, Disk Usage, Memory Usage (except KVM virtualization), Bandwidth Used
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
✔ 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 VPS 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:
✔ Store Usage Records In WHMCS Or External MongoDB Database (4.0 And Higher)
✔ 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
✔ Supports PHP 7.1 Up To PHP 7.4
✔ Supports WHMCS Template Six
✔ Supports WHMCS V7.9 And 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.
AB2 1.png
2. In the downloaded file you might find one or two packages that support different PHP versions.

In the most recent versions of the module, you will find only one package that supports PHP 7.1 and later.

PHP71 74.png
Previous updates of the module may contain two packages dedicated to various PHP versions.

The first one that supports PHP 5.6 up to PHP 7.0, and the second one addressed to PHP 7.1 up to PHP 7.3.
Note: Keep in mind that PHP versions 5.6 up to 7.0 are no longer officially supported and their security issues are not fixed or released any more. Find more info here.

PHP56 73.png
Note: You can check the current PHP version in your WHMCS. To do so, proceed to 'Utilities' → 'System' → 'PHP Info'.
3. Extract the package and upload its content into the main WHMCS directory.

The content of the package to upload should look like this.

AB 3.png
4. Now you have to activate the module in your WHMCS system.

Log in to your WHMCS admin area. Click 'Setup' , then choose 'Addon Modules'.
Afterwards, find 'Advanced Billing' and press the 'Activate' button.

AB 5.png
5. In the next step you need to configure your module. To do so, press the 'Configure' button.

Select database driver for usage records:

  • WHMCS Database
  • External MongoDB Database (the module supports MongoDB in version 4.0 and higher)

If you choose MongoDB, you will additionally have to provide:

  • Hostname
  • Database Name
  • Username
  • Password

Here, you may enable the Cron Threads option.

  • Cron Threds - check to enable the option to speed up the cron tasks execution.
  • Threads Limit - enter a maximum number of allowed threads run simultaneously.
  • Accounts Per Thread - enter the number of accounts that can be included in a single thread.
    Note 1: PHP extension PCNTL must be available to be able to use this feature correctly.
    Note 2: This feature is optional, yet it is advised to turn it on for systems with a big number of products. If turned off, cron tasks will be executed in the standard manner, that is one by one.

Next, decide if you wish to enable option to regularly clear the log records.

  • Clear Logs - check to clear the log records automatically (run once a day).
  • Clear After [days] - type in the number of days that must pass to clear the logs. If left empty, 365 is treated as a default number.

Choose the desired admin roles groups to grant access to the module and 'Save Changes'.

AB 6.png
6. Now, proceed to the Extensions section to find more about configuring the license.
7. The last step is setting up a cron job. You can find it following the path: WHMCS → 'Addons' 'Advanced Billing' 'Configuration' page.
AB 7.png
Well done, you have just successfully installed your Advanced Billing For WHMCS!
If you used the previous version of Advanced Billing For WHMCS and you would like to migrate the data to the current version,

please see the How To Update section and follow the instructions listed there.

Configuration and Management

Now, let us learn more about the functionalities of the module. We will show you the possibilities of our product, using cPanel Extended For WHMCS as an example.

Please note that the billing features are different in both modules, but the core functionality of Advanced Billing remains the same.
First, choose your module from the 'Enable Advanced Billing For' dropdown menu as shown on the screen below.
For demonstration we have chosen 'cPanel Premium' with the cPanel Extended module.

AB 8.png

Core

Our module core has been designed in such a way so as to allow the collection of records and invoices management.

Any extra features are handled by extensions which can be easily enabled/disabled, and are always configured per product.

Product List

On the Products List you can find all products which have Advanced Billing enabled.

If the product's submodule is not supported, the 'default' mode will be used instead. It enables you to bill your client only for an hourly usage of the product.
Apart from the products and their submodules, the 'Products List' contains also the following options:

  • Control the status of your product billing, enable/disable Advanced Billing for a product
  • Manage cron frequency
  • Use action buttons:
    • Pricing
    • Settings
    • View Items
AB 9.png

Settings

Clicking on the 'Settings' button will allow you to see the 'Module Settings' only for cPanel/cPanel Extended modules and other enabled extensions. We will discuss them later.
AB 10 1.png
Here you can set both Application Manager (Softaculous/Installatron) and cPanel theme.

Simply enter a theme name as shown on the screen below.

AB 10.png

Used Resource Pricing

Moving to the 'Pricing' section will allow you to set up billing for a specific server resource usage like bandwidth.
AB 11.png
Manage each usage record by setting up its:
  • Free Limit - used to set the amount of usage records for which a customer will not be charged.

In our case, as you can see on the screen below, a customer will not be charged for 1GB (1024MB) bandwidth.

  • Price - defines how much your client will have to pay for a specific resource. Note that we provide two types of charging: units per hour and units used since the last cron run.

For example, users pay for a quantity of subdomains each hour, but when the traffic is generated, bandwidth used since the last cron run will have to be paid once only.

  • Display Unit - defines the manner in which the record usage will be displayed. It does not affect free limit and pricing - they are calculated in a basic unit.

If you select the 'GB' option, free limit will be still 1024 MB, and the price will be MB/hr, not GB/hr.

  • Status - allows you to enable/disable billing for this resource.

To proceed, choose your usage records, units, statuses, set up the prices and free limits. Afterwards, press 'Save'.

Important: Remember to set up the pricing rules in every currency that you offer the product in.

AB 11 1.png
As you probably noticed, there is also the 'Configure' column to the right.

It allows you to set up different free limits and pricing depending on the resource origin.
Currently, only 'Viruozzo' and 'Openstack VPS & Cloud' submodules support this feature.

Items

To view the counted resource usage, go to the 'Items' tab.

Each cron run will create an item for each customer (if it does not exist at the moment) and add new records to the existing ones.
In this way you can see the resource usage of the current server for the last billing period.
Automatic generation of invoices is based precisely on the previously created items.
To view more details, click on 'View Details' as shown on the following screen.
You can also easily remove billing for a specific hosting. To do so, press 'Delete Records' in the 'Actions' column.

AB 13.png
This section will show you some more detailed information on Bandwidth, Storage, Domains and other enabled records.

See the price and usage, the last cron run date and the total records summary.
Press the 'Delete' button to remove entries.

AB 14.png

Invoices

In the 'Invoices' section you can manage all of your awaiting invoices. They can be generated both automatically and manually.

On the screen below you can see a previously generated invoice for our cPanel Extended account.
To view more detailed information about a particular invoice, press the 'Show Details' button.

AB 17.png
Here you can verify and modify your awaiting invoices. To avoid any risks, you should double check that all your invoices have been generated correctly.
AB 18.png
Now, let us manually generate a sample invoice for your customer.

For this purpose, simply click on 'Generate' next to the chosen invoice.

AB 18 1.png
After changing the product's package, the invoice will be automatically generated for an old package.

Settings

In the 'Settings' tab you can find pages such as 'Logs', 'Integration' and 'Extensions'.

Integration Code

The 'Integration' page contains codes required to integrate Advanced Billing For WHMCS with your client area.

The first code allows you to display product pricing while placing an order.

Note: The integration code path may vary depending on the order template you use.

AB 21.png
If the code has been typed in correctly, the sample order should look like this:
AB 21 1.png
The second integration code is responsible for displaying usage records in the client area.

Note: To display usage records in the client area, you need to enable 'Usage Records' or 'Notifications' extension for the product.

AB 22.png
If the code has been typed in correctly, the sample resource usage should display like this:
AB 23.png

Items Archive

On this page, you can find information regarding the archived usage records. Once a client has paid for the used resources, the usage history will be automatically moved to the archive.

There is a number of archived items along with the space they take up on the disk.

AB 23 1.png
Use the 'Flush' option to clear the archive and remove all stored data. You can also set the time interval to indicate the number of days after which the archive will be cleaned automatically.
AB 23 2.png

Logs

On the 'Logs' page you will find information about the module's activity.

You can view logs in the form of a 'Database' or a 'File' . You can select it in the place marked on the screen below.

AB 19 1.png
Here you will see different types of logs including informative logs, error logs and critical logs.

New log files are created every day to help you always find the information you are interested in.

AB 19.png

Extensions

In this section, we will describe each extension step by step.

Important: Only five of them are included in Advanced Billing For WHMCS. You can enable each one of them after moving to the 'Settings' → 'Extensions' section.
You can see all six extensions on the screen below. The rest of the extensions listed there can be obtained separately.
The five default extensions in Advanced Billing For WHMCS include 'Recurring Billing', 'Usage Records', 'Credit Billing', 'Graphs' and 'Notifications' .
Note: Do not mistake Recurring Billing extension for Advanced Billing with Recurring Billing Extended For WHMCS module.

Each extension can be configured per product, thus allowing you to use different sets of extensions according to your needs.
To start using an extension, you need to first activate it. To do that, go to 'Settings' 'Extensions' page.
Afterwards, 'enable' the extension you wish to use, and new options will appear in Advanced Billing For WHMCS.

AB 24.png
If you skip the steps 3-4 from the installation instruction, you have to configure the license for each of the 4 base extensions.

Note that each of them uses the Advanced Billing license key.
Press 'Configure', paste your license key and confirm changes.

AB 25.png

Credit Billing

'Credit Billing' extension allows you to charge your clients for a product from the client credit balance.

To enable this option for a single product, click on the 'Settings' button next to the chosen product. If the extension is enabled, a new tab will appear.

AB 27 1.png
  • Enable Credit Billing - this option enables/disables credit billing for this module (if credit billing is enabled, standard billing will be turned off).
  • Create Invoices Each - this option defines how often an invoice will be generated for this product (30 days is a default value).
  • Minimum Credit - minimum amount that will be charged from the client account credit balance.
  • Low Credit Notification - if this value is higher than credits on the client's account, an email to your client about low credit amount will be sent.
  • Email Interval - defines how often low credit notification email will be sent, the interval refers to the number of days.
  • Autosuspend - when credit balance reaches 0, the product ordered by the client is automatically suspended and an invoice reminding of the lacking amount will be generated.
    Note: This function also takes account of the ''Override Auto-Suspend' feature.
  • Due Date - the number of days when your customers have to pay for the invoice.
  • Credit Autorefill - if enabled, client's credit balance may be refilled from his credit card each time it became empty.
  • Gateway - gateway used to charge client's credit card if autorefill is enabled.
  • Minimum Amount - minimum amount to charge from client's CC.
  • Maximum Amount - maximum amount to charge from client's CC.
    Note: Clients can define if they wish to use autorefill functionality as well as choose amount to refill in a single run.
AB 27.png
When the option 'Autosuspend' is enabled and your client's credit balance reaches 0, the client's product will be suspended. Additionally, an invoice reminding of the lacking amount will be generated.

If it is disabled and the credit balance reaches 0, the client's product will not be suspended and invoice will be generated according to the number of days set in the 'Create Invoices Each' field.

Credits

All information related to the credit payment for hosting can be found in the 'Credits' tab that will appear in your menu when enabled.

As you can see, there are two columns with credits.
The first one, 'Internal Credit' contains credits which were not used for payment, but are reserved for it. It was created to increase the accuracy of credit billing.
The second column, 'Already Paid For Hosting' contains a summary of the credit payment for hosting.
You can order a refund of any hosting by pressing the 'Refund' button next to the hosting service. The client will receive a sum of 'Internal Credit' and 'Already Paid For Hosting' rounded down to 0.01.

AB 28.png

Prepaid Billing

This extension allows you to charge clients for their products from their prepaid credit balance as well as create summations instead of generating invoices.
  • Enable Prepaid Billing - check to enable this billing type (remember that Fixed Pricing, Recurring Billing, Credit Billing, and Prepaid Billing extensions cannot be enabled simultaneously)
  • Create Summation Every - define how often summations should be generated.
  • Minimum Credit - determine the minimum amount that will be charged from the client's account.
  • Low Credit Notification - send email notifications about the low credit amount in the account.
  • Email Interval - set a number of days interval for email notifications.
  • Autosuspend - suspend the account automatically if the user does not have sufficient funds.
  • Due Date - the number of days in which your customers will have to pay the invoice.<br /
AB 29 1.png

Recurring Billing

This extension allows you to set up recurring billing for your product.
  • Enable Recurring Billing - check to enable this billing type (remember that Recurring Billing and Credit Billing cannot be both enabled at the same time)
  • Bill On Termination - when the account connected with your module is terminated, an invoice for the account will be generated.
  • Billing Type - enables you to choose how to bill your client.
    • Bill On Invoice Generation - customers will receive an invoice at the same time as the invoice for their hosting account.
    • Bill On Specific Day - generates invoices each month on the day specified in the Billing Type Value.
    • Bill Each X Days - as the very name suggests, generates an invoice each X days where X is the number specified in the Billing Type Value field.
  • Due Date - the number of days in which your customers will have to pay the invoice.
  • Autogenerate Invoice - if enabled, automatically sends the previously generated invoices directly to your customers.
  • Auto Apply Credits - automatically applies any available credits when an invoice is created. Works only if the 'Autogenerate Invoice' option is enabled.
  • Advanced Billing Cycle Info - if enabled the billing cycle information in client area product view will be replaced to 'Hourly Billing' .
  • Apply Group Discount - enable if you want to apply the discount to the invoice set in the client group.
AB 29.png

Usage Records

This extension displays usage records and usage records history in the client area products page.

To use it, you need to of course first enable it, and then place an integration code.
This extension can be configured per product. To do so, proceed to the product configuration in Advanced Billing.
As you can see, a new tab is available.

  • Enable - enables the display of usage records for that product in the client area.
  • Display Summary From - defines the period from which usage records will be counted.
  • Usage Records Precision - the number of decimal digits indicating the precision of usage records.
  • Records History - displays history of usage records.
  • Usage Records Per Page - defines how many usage records should be displayed per page.
AB 30.png
On the following screen you can see a sample of usage records and usage records history in the client area.
AB 23.png

Fixed Pricing

Use the 'Fixed Pricicng' extension to bill your customers after a specified number of hours of active service usage. Set a defined amount that will be billed per product.
AB 56.png
First of all, enable the extension for a single product. Keep in mind that 'Fixed Pricing' cannot be enabled together with 'Credit Billing' and 'Recurring Billing' extensions.
  • Auto Apply Credits - enable to automatically apply credits if there are any available in the client's credit balance.
  • Tax - if enabled, tax will be added to the created invoice.
  • Hours - define a number of hours that must pass before the service is billed at a monthly rate.
  • Due Date - define payment due date.
  • USD or any available currency - set the pricing amount in any currency to bill clients after a declared number of hours has passed.

In case the defined in 'Settings' hour treshold is not reached, the client will be billed for generated usage in a standard manner.

AB 57.png

Graphs

Enable the 'Graphs' extension to gain access to the graphical display of usage records for every configured service in your Advanced Billing module.
AB 42.png
When enabled, a new entry in your navigation menu appears → 'Graphs'.
AB 43.png
Please note that before proceeding, you must also enable the 'Graphs' extension for the product. To do so, move to 'Configuration' → 'Products List' → 'Settings' → 'Graphs'.
Enable the extension and save the changes.
AB 43 1.png
In the 'Graphs' section you will find an extended list of all services in your system.
Press the 'Show Graph' button and you will be moved to the generated line chart.
AB 44.png
You will immediately see a line chart generated for a default resource usage and time period.
You may change the requirements at any time to see a customized version of the graph with data that you actually need, and the time period you desire.
Use options located to the left of the graph to personalize the chart statistics.
AB 45.png
Line charts can be displayed not only by administrators in their panel but the clients as well.
Find 'Resource Usage Chart' in the product's details to preview the generated graph.
Clients, just like admins in the admin area may specify the time range and select resources which they wish to see in the graphical mode.
AB 46.png

Notifications

Enable the 'Notifications' extension to allow your clients to set email reminders that will be sent when a specified resource usage limit is reached or exceeded.
AB 47.png
Before your clients will be able to configure reminders, you have to enable the 'Notifications' extension for the product. To do so, move to 'Configuration' → 'Products List' → 'Settings' → 'Notifications'.
Enable the extension and, if you wish, define a maximum nuber of notifications a client may create and change the default email template.
Save the changes when ready.
AB 48.png
You will find a list of email templates in the 'WHMCS' → 'Setup' → 'Email Templates' section.
By default, the 'Advanced Billing Resource Usage Reminder' template in 'Product/Service Messages' is used.

You can modify the template to your needs, or alternatively create a new one, then assign it in a previous step.

Note that beside the WHMCS default 'Available Merge Fields' you can also use the following variables for the extension purposes:

  • {$reminder_name} - the name of a reminder set by a client
  • {$type} - the resource type for which the limit has been set by a client. E. g. 'Storage' , 'Bandwidth' etc.
  • {$usage} - the current recorded usage value of the resource type the limit is set for
  • {$limit} - the limit value defined by a client whose reaching or exceeding results in sending the notification
  • {$unit} - the unit of the billed record. E.g. 'MB' , 'GB' etc.
AB 49.png
Now, while in the client area, you can see the tab with new reminders.
Press 'Show' to expand it and click on the 'Add Reminder' button.
AB 50.png
Set the name of a reminder name along with the frequency with which the module will check the usage and send notification emails once the limits are reached or exceeded.

Note that in addition to selecting the default frequency option from the dropdown menu, you can enter a different numeric value that will determine the frequency in hours.

AB 51.png
Now you can define resource limits on the basis of which notifications will be sent.
AB 52.png
Determine if reminders shall be dispatched after a particular value is reached, exceeded or both.
AB 53.png
If any of defined conditions is fulfilled, the reminder is sent to the client with the frequency set in the previous step.

The reminder will no longer be sent if, after the resource usage check, it turns out the level of a given resource type is once again below a defined limit.

AB 54.png
Keep in mind that you can add multiple reminders, each with different limits and different frequencies of checking resources and sending notifications.

Once created, you can easily toggle the status of every notification, as well as modify its settings whenever required.

AB 55.png

Product Auto Upgrade (Sold Separately)

Product Auto Upgrade For WHMCS extension is an automatic upgrade/downgrade of a product according to its usage.

It will allow you to set rules related to the server resource usage according to which the module will resize your products and their configurable options.
You will also be able to let your clients decide if they want their products to be modified as well as enable them to set the rules on their own.
For more information about Product Auto Upgrade For WHMCS, visit its Wiki.

AB2 51.png

Proxmox Cloud Autoscaling (Sold Separately)

Proxmox Cloud Autoscaling For WHMCS enables automatic alterations of servers provisioned by Proxmox Cloud VPS For WHMCS depending on their load.

The module will allow you to set out rules on VPS resources according to which servers will be modified through resizing or cloning.
In addition, you will be able to grant your clients permission to change rules or toggle module functionality.

For more information about Proxmox Cloud Autoscaling For WHMCS, visit its Wiki.

AB PCA.png

Hourly Billing

Hourly billing allows you to charge your customers for each hour of use of the product (hourly billing calculations are based on the 'Registration Date' product).

You can enable hourly billing for any product type.
Regardless of whether it is a server, web hosting account or other type, customers will be billed for each hour of using the product.

AB 32.png

Ticket Billing

Ticket billing works exactly as it sounds. When enabled, it bills your customers for each opened ticket.

Remember that you must have a product with Ticket Billing submodule assigned to it.

AB 33 1.png
As in the case of hourly billing, you can enable ticket billing for any product type.
AB 33.png

Sample Configuration

In this section, we will show you two samples of configuration of Advanced Billing.

Two Weeks Billing

In order to set up the invoice generation for resource usage every 2 weeks, follow these steps:

1. Go to 'Addons' 'Advanced Billing' and select your product from 'Enable Advanced Billing For:'

AB 34.png
2. Go to 'Products List' → (your product's) 'Settings' → 'Recurring Billing' , enable the extension together with the 'Bill on Termination' option.

Additionally, choose 'Bill Every X Days' from the 'Billing Type' dropdown menu. Enter '14' into the 'Billing Type Value' textbox and set 'Due Date' to '7' days.
Afterwards, press 'Save' to save changes.

AB 35.png
3. Remember to enter your pricing settings.
AB 36.png
Congratulations, you have just successfully configured your billing options!

Your Advanced Billing main page should look like the screen below.
Note that you can also change Cron Frequency per product here.

AB 37.png

$20 Billing

To bill your client as frequently as possible, follow these steps:

1.Go to 'Addons' 'Advanced Billing' and select your product from 'Enable Advanced Billing For:'

AB 34.png
2. Go to 'Products List' → (your product's) 'Settings' → 'Credit Billing' and press 'Enable'.

Afterwards, enter '1' into 'Create Invoices Each', '20' into 'Minimum Credit' and '50' into 'Low Credit Notification'.
With these settings your client will be billed from credit balance as soon as the payment for resource usage has reached $20.
They will also receive an email if their credit balance falls below $50.

AB 39.png
3. Remember to set up your pricing.
AB 40.png
Congratulations, you have just successfully configured your billing options!

Your Advanced Billing main page should look like the screen below.
Note that you can also change 'Cron Frequency' per product here.

AB 41.png

Tips

1. Deactivation of the module removes products' configuration, usage records and awaiting invoices.
2. 'Installed Applications' usage record supports both Softaculous and Installatron.
3. You can set up as many products as you want.
4. If your client uses currency that is not WHMCS base currency (for example, WHMCS base currency is €, while client uses $):
An invoice for such client will be generated in the chosen currency, while usage record and calculation in Advanced Billing will use base currency.
5. You can modify record names along with their format that are displayed in the 'Usage Records' section of the client area.
To do this, you need to find a file that is located here: modules\addons\AdvancedBilling\extensions\ClientAreaUsageRecords\lang\english.php.
Next, provide the preferred names of records that should be shown up to clients. Please take a look at the below example to see which part of the line can be altered:
 $_LANG['ClientAreaUsageRecords']['Databases'] = 'Your Translation' 

Update Instructions

Essential guidance through the process of updating the module is offered here.

If you switch from Advanced Billing v2.x to v3.x, all data from your previous version of the module have to be migrated to the latest one.
To do so, simply follow the basic steps below:
1. Copy new files to a correct directory in your WHCMS.
2. Proceed to 'Setup' → 'Addon Moduels', find 'Advanced Billing' on the list, press 'Configure' to select a proper database you wish to use.
3. Move to the addon: 'Addons' → 'Advanced Billing' and run the following script:

/your_whmcs/modules/addons/AdvancedBilling/migrationScript.php

If you already own Advanced Billing v3.x and would like to switch to a newer version, just overwrite the files as you would do during a regular update.

Keep in mind there is a quick and easy option in our client area that will let you upgrade the license of your module to an open source version at any time - and at a lower price!
To take advantage of it, simply use the License Upgrade button located on the product's page and a discounted invoice will be generated automatically.

Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
2. You have problems with finding the specified line in clientareaproductdetails.tpl.

Cause 1: You use Classic or Portal template.
Solution 1: If this is the case, place the required code after this line:

<div align="center">{$moduleclientarea}</div>

Cause 2: You use extensively customized template.
Solution 2: Create a ticket and one of our specialists will help you set up the module.

3. If your cron has encountered an error and cannot start again, please check the cron folder in the 'yourWHMCS/modules/addons/AdvancedBilling/cron' path.

If there is the 'pid.php' file, delete it and try to execute the cron again. If there is still an error occur, check the details in the logs.

4. 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.

Navigation
WHMCS Modules
WHMCS Widgets
Translations
cPanel Modules
General
FAQ
Community
Advanced Billing For WHMCS