Advanced Billing For WHMCS
|Advanced Billing For WHMCS allows you to set up additional billing options for your products like bandwidth or CPU usage, basing on actual server resource usage.|
In other words, the module will let you charge customers on the grounds of the resources used by them. It offers also hourly billing, ticket billing, credit billing and recurring billing.
- 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 Resources 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 In Database|
|✔ View Logs|
- 'Recurring Billing' Extension Features:
|✔ Bill On Account Terminate|
|✔ Bill When Invoice Is Generated For Hosting|
|✔ Bill Each X Day Of Month|
|✔ Bill Each X Days|
|✔ Automatically Generate An Invoice|
|✔ Define Invoice Payment Due Date|
|✔ Automatically Apply Credits|
- 'Credit Billing' Extension Features:
|✔ Generate Invoice Each X Days|
|✔ Define Minimal Amount Of Credit To Charge|
|✔ Send Email When Client's Credit Balance Falls Below Defined Credit Amount|
|✔ Automatically Suspend Account When Client Is Out Of Credits|
|✔ 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 A Single Refill Amount|
- 'Resource Usage' Extension Features:
|✔ Define Period For Counted Resource Usage|
|✔ Define Resource Usage Counting Precision|
|✔ Show History Of Resource Usage|
|✔ Define Amount 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|
- 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|
|✔ DirectAdmin & DirectAdmin Extended Integration: Hourly, Bandwidth, Storage, Subdomains, Domain Pointers, FTP Accounts, MySQL Databases, Virtual Domains, Mailing Lists, POP Accounts, Email Forwarders, Email Autoresponders|
|✔ OpenStack VPS 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 Integration: Disk Usage, Disk Size, Bandwidth IN, Bandwidth OUT, Memory Usage, Memory Size, Backups, CPU Number, CPU Usage|
|✔ Proxmox VPS Integration: Hourly, Disk Usage, Bandwidth IN, Bandwidth OUT, 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|
|✔ Virtuozzo VPS Integration: Templates, CPU Usage, Memory, Bandwidth IN, Bandwidth OUT, Disk Used, Backups Usage|
|✔ Zimbra Email Integration: Hourly, Mailboxes, Aliases, Storage|
- General Info:
|✔ Store Usage Records In WHMCS Or External MongoDB Database|
|✔ Count Usage Of All Accounts Assigned To Reseller - cPanel, cPanel Extended, DirectAdmin & DirectAdmin Extended|
|✔ Multi-Language Support|
|✔ Supports PHP 5.4 Up To PHP 7|
|✔ Supports WHMCS Templates Five and Six|
|✔ Supports WHMCS V6 and V7|
|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 your client area and download the module.|
|2. In the downloaded file you will find two packages that support different PHP versions.|
As presented on the screen below, the first one is dedicated to PHP 7, while the second one is aimed at PHP 5.4 up to PHP 5.6.
It does not apply to open source versions.
Note: You can check current PHP version in your WHMCS. To do so proceed to 'Utilities' → 'System' → 'PHP Info'.
|3. Extract the downloaded file and choose the one with the right PHP version. Upload and extract the PHP file into the main WHMCS directory.|
The content of PHP version files should look like this.
|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'.
|5. In the next step you need to configure your module, to do so, press 'Configure' button.|
Select database driver for usage records:
In case you choose MongoDB you will also have to provide:
Choose desired admin roles groups to grant access to the module and 'Save Changes'.
|6. Now, proceed to Extensions section to find more about configuring license.|
|7. The last step is setting up a cron job, you can find it in your WHMCS → 'Addons' → 'Advanced Billing' → 'Configuration' page.|
|Well done, you have just successfully installed Advanced Billing For WHMCS!|
|If you have used previous version of Advanced Billing For WHMCS and you want to migrate data to the current one,|
please see section How To Update section and follow the instruction there.
Configuration and Management
|Now let's learn more about module's functionalities. We will present you the possibilities of our product on cPanel Extended For WHMCS example.|
Please note that billing features are different in each module but the core functionality of Advanced Billing is the same for each.
|Our module core has been designed in a way to allow collecting the records and invoices' management.|
Any extra features are handled by extensions, which can be easily enabled/disabled, and are always configured per product.
|On the products list, there are all the products with Advanced Billing enabled.|
If the product's submodule is not supported, 'default' mode will be used instead, which enables you to bill your client for hourly usage of the product only.
|Under Settings button there are visible Module Settings only for cPanel/cPanel Extended modules and other extensions if enabled. We will discuss them later on.|
|Here you can set Application Manager (Softaculous/Installatron) and cPanel theme.|
Simply enter a theme name as shown on the screen below.
Used Resource Pricing
|When you move to 'Pricing' section, you can set up billing for specific server resource usage like bandwidth.|
|Manage each usage record by setting up its:
In our example, a customer will not be charged for 1GB (1024MB) bandwidth.
For example, user pays for subdomain quantity each hour, but when traffic is generated, bandwidth used since the last cron run will have to be paid once only.
If you select 'GB' , free limit will be still 1024 MB, and price will be MB/hr, not GB/hr.
To proceed, choose your usage records, units, status, set up the prices and free limits. Afterwards, press 'Save'.
|As you could notice, there is also 'Configure' column.|
It allows you to set up different free limits and pricing depending on resource origin.
|To view counted usage, go to '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 existing ones.
| In details, you can learn some detailed information on Bandwidth, Storage, Domains and other enabled records.|
See the price and usage, last cron run date and total records summary.
|Under 'Invoices' section you can manage any of your awaiting invoices. They can be generated automatically and manually.|
On the screen below you can see a previously generated invoice for our cPanel Extended account.
|This is the place where you can verify and modify awaiting invoices. It's advised to check whether invoices are correct to avoid any risk.|
|Let's generate an invoice for your customer manually now.|
For this purpose simply click on 'Generate' next to a chosen invoice.
|After changing product's package, invoice is automatically generated for an old package.|
|Under 'Settings' tab you can find pages such as 'Logs', 'Integration' and 'Extensions'.|
| 'Integration' page contains codes required to integrate Advanced Billing For WHMCS with your client area.|
The first of them allows displaying product pricing during placing an order.
|If the code has been inserted correctly, this is how an exemplary order form will look like:|
|The second code is responsible for showing usage records in the client area. |
Note: To display usage records in the client area, you need to enable 'Usage Records' extension for the product.
|If the code has been inserted correctly, this is how exemplary resource usage should be displayed:|
|On this page you can find information regarding archived usage records. Once a client pays for the usage, the usage history is automatically moved to the archive.
There is a number of archived items together with space they take on the disk.
|Use 'Flush' option to clear the archive and remove all stored here data.|
|In 'Logs' you will find information about the module activity.|
You can view logs in a form of 'Database' or 'File', simply choose one as marked on the screen below.
|View informative logs, error logs and critical logs.|
New log files are created every day to help you find information you are looking for.
|In this section we will describe each extension step by step.|
Important: Only four of them are included in Advanced Billing For WHMCS product, you can turn them on under 'Settings' → 'Extensions' section.
|If you skip steps 3-4 of the installation instruction, you have to configure the license for each of the 4 base extensions.|
Note that each of them uses Advanced Billing license key.
| 'Credit Billing' extension allows you to charge for a product from client credit balance.|
To turn it on for a single product, press 'Settings' button next to the chosen product. If the extension is enabled, a new tab will appear.
|When 'Autosuspend' is marked and your client's credit balance reaches 0, the client's product will be suspended. Additionally, invoice with lacking payment will be generated.|
If it is unmarked and 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 'Create Invoices Each' field.
|All information related to credit payment for hosting can be found in 'Credits' tab that will appear in your menu when enabled.|
As you can see, there are two columns with credits.
|This extension allows you to set up recurring billing for product.|
|This extension displays usage records and usage records history in the client area products page.|
To use it, besides enabling in, you need to place an integration code.
|On the following screen you can see a sample of usage records and usage records history in the client area.|
|Enable 'Graphs' extension to get access to graphical view of usage records for every configured service in your Advanced Billing module.|
|When enabled, a new entry on your navigation menu appears → 'Graphs'.|
|Please note that before proceeding, you must also enable 'Graphs' extension for the product. To do so move to 'Configuration' → 'Products List' → 'Settings' → 'Graphs'. |
There enable the extension and save the changes.
|Under 'Graphs' you will find an extended list of all services in your system.|
Press 'Show Graph' button and you will be moved to the generated line chart.
|You will immediately see a line chart generated for 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 from a desired time period.
Use options on the left side of the graph to personalize the chart statistics.
|Line charts are available not only to administrators in their panel but also to your clients.|
Find 'Resource Usage Chart' in the products details and preview teh generated graph.
Just like in admin area client may specify time range and select resources which they wish to see in graphical mode.
|Product Auto Upgrade For WHMCS extension is 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.
|Proxmox Cloud Autoscaling For WHMCS enables automatic alterations of servers provisioned by Proxmox Cloud 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.
|Hourly billing allows you to charge your customers for each hour of use of the product (hourly billing calculations are basing on product 'Registration Date' ).|
You can enable hourly billing for any product type.
|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.
|As in the case of hourly billing, you can enable ticket billing for any product type.|
|In this section we will show you two samples of configuration of Advanced Billing.|
Two Weeks Billing
|In order to set up generating invoice for resource usage each 2 weeks, follow this steps:|
1. Go to 'Addons' → 'Advanced Billing' and select your product from 'Enable Advanced Billing For:'
|2. Go to 'Products List' → (your product's) 'Settings' → 'Recurring Billing' , enable the extension together with 'Bill on Termination' option.|
Additionally, choose 'Bill Every X Days' from 'Billing Type' dropdown menu and enter '14' into the 'Billing Type Value' textbox.
|3. Remember to enter your pricing settings.|
|You have just successfully configured billing!|
You should see something like on the screen below in your Advanced Billing main page.
|To bill your client as often as possible follow these steps:|
1.Go to 'Addons' → 'Advanced Billing' and select your product from 'Enable Advanced Billing For:'
|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'.
|3. Remember to set up your pricing.|
|You have just successfully configured billing!|
In your Advanced Billing 'Configuration' tab you should see something similar to the following screen.
How To Update
|If you switch from Advanced Billing v2.x to v3.x, data from your previous version of the module must 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.
|1. Deactivation of the module removes products' configuration, usage records and awaiting invoices.|
In order to update the module, simply follow instruction in 'How To Update' .
|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.
|1. When you have problems with connection, check whether your SELinux or firewall does not block ports.|
|2. You are unable to find specified line in clientareaproductdetails.tpl.|
Cause 1: You are using Classic or Portal template.
Cause 2: You are using heavily customized template.