Advanced Billing For WHMCS
Contents |
About 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 |
✔ Configuration Per Product |
✔ Manage Extensions And Configure Them Per Product |
✔ Current List Of Billable Items For Next Invoices |
✔ View Resources Usage History Of Any Item |
✔ Manage Awaiting Invoices And Convert Them To Invoices |
✔ 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 |
✔ Sent 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 |
- Supported Modules:
✔ Autoscaling - Standalone Extension - Automatically Adjust And Upgrade/Downgrade The Products Of Your Clients According To The Server Resource Usage |
✔ cPanel & cPanel Extended Integration: Hourly, Bandwidth, Storage, Databases, Addon Domains, Subdomains, Parked Domains, Domain Forwarders, FTP Accounts, Installed Applications, Email Accounts |
✔ Parallels Plesk Panel & Parallels Plesk Panel Extended Integration: Hourly, Subdomains, Disk Space, Email Boxes, Sites, Redirects, Mail Groups, Autoresponders, Mailing Lists, Users, Databases, Webapps, Traffic |
✔ DirectAdmin & DirectAdmin Extended Integration: Hourly, Bandwidth, Storage, Subdomains, Domain Pointers, FTP Accounts, MySQL Databases, Virtual Domains, Mailing Lists, POP Accounts, Email Forwarders, Email Autoresponders |
✔ Parallels Cloud Server Integration: Templates, CPU Usage, Memory, Bandwidth IN, Bandwidth OUT, Disk Used, Backups Usage |
✔ 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 |
✔ Proxmox VPS Integration: Hourly, Disk Usage, Bandwidth IN, Bandwidth OUT, Memory Usage, Backups Usage, CPU Number, CPU Usage |
✔ Proxmox Cloud Integration: Disk Usage, Disk Size, Bandwidth IN, Bandwidth OUT, Memory Usage, Memory Size, Backups, CPU Number, CPU Usage |
✔ 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 |
✔ Rackspace Email & Rackspace Email Extended Integration: Hourly, Mailbox Storage, Mailboxes, Sync Licenses, Blackberry Licenses, Exchange Storage, Exchange Mailboxes |
✔ Zimbra Email Integration: Hourly, Mailboxes, Aliases, Storage |
- General Info:
✔ Count Usage Of All Accounts Assigned To Reseller - cPanel, cPanel Extended, DirectAdmin & DirectAdmin Extended |
✔ Multi-Language Support |
✔ Supports Templates Five and Six |
✔ Supports WHMCS V5 and V6 |
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 your client area and download Advanced Billing For WHMCS. |
2. Upload and extract the module into the main WHMCS directory. Files in your WHMCS directory should look like this. |
3. Now you have to activate the module in your WHMCS system. Log in to your WHMCS admin area. Click 'Setup' then choose 'Addon Modules' . |
File:AB2 5.png |
4. In the next step you need to permit access to the module. To do so, click on 'Configure' , choose desired admin roles and press 'Save Changes' . |
File:AB2 6.png |
5. Now, proceed to Extensions section to find more about configuring license. |
6. The last step is setting up a cron job, you can find it in your WHMCS → 'Addons' → 'Advanced Billing' as shown on the following screen. |
File:AB2 7.png |
Well done, you have just successfully installed Advanced Billing For WHMCS! |
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. |
Core
Our module core has been redesigned to allow collecting the records and invoices' management. All other features are handled by extensions, which can be easily enabled/disabled, and are configured per product. |
Configuration
Core configuration consists of 2 tabs. You can access resource usage pricing from any tab. |
General Settings Tab
Here you can find information about the module used by your product. If the module is not supported, 'Basic Module' mode will be used instead. 'Basic Module' enables you to bill your client for hourly usage of the product only. |
Module Settings Tab
This tab is visible only for cPanel/cPanel Extended modules. Here you can set Application Manager (Softaculous/Installatron) and cPanel theme. 'x3' is a theme's default value. |
Used Resource Pricing
In the bottom part of the screen you can set up billing for specific server resource usage like e.g. bandwidth.
In our example, customer won't 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 Changes' . |
As you could notice on the screen below, 'Configure' column has been added. It allows you to set up different free limits and pricing depending on resource origin. |
Items
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. |
After pressing 'Show usage records', you can learn some detailed information on Bandwidth, Storage, Domains and many others. |
In order to view the price for a specific element of the record, simply hover your mouse over it. The following screen shows the situation after running cron only 2 times. Note that the first record is always empty as its task is to initialize billing for the account. |
In addition to the above information you can check when each cron was run. You can also order creation of invoice for product through pressing 'Bill On Demand' . |
Awaiting Invoices
Here you can check your awaiting invoices. Invoices 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. You already know that you can set up automatic invoice generation in configuration section. Now let's generate an invoice for your customer manually. |
After changing product's package, invoice is automatically generated for an old package. |
Settings
Under 'Settings' tab you can find pages such as logs and integration code. |
Logs
In 'Logs' you will find information about the module activity. You can view informative logs, error logs and critical logs. Choose .log file from a dropdown menu and press 'Show' as presented on the screen below. |
On the following screen you can see how 'infolog-YYYY-MM-DD.log' can look like. |
Integration Code
'Integration Code' page contains codes required to integrate Advanced Billing For WHMCS with your client area. The first of them allows usage records and autoscaling related features to be displayed in the client area. <div align="center">{$moduleclientarea}</div> |
Usage records in the client area. Note that disabled usage records will not be displayed. Note: To display usage records in the client area, you need to enable 'Usage Records' extension. |
Pricing on the order form. Note that disabled usage records will not be displayed. |
Extensions
In this section we will describe each extension step by step. Important: Only three of them are included in Advanced Billing For WHMCS product, the rest can be obtained separately. |
If you skip steps 3-4 of the installation instruction, you have to configure the license for each of the 3 base extensions. Note that each of them uses Advanced Billing license key. |
Autoscaling (Sold Separately)
The main functionality of Autoscale For WHMCS extension is automatic upgrade/downgrade of a product according to its usage. For more information about Autoscale For WHMCS, visit its Wiki. |
Credit Billing
'Credit Billing' extension allows you to charge for a product from client credit balance.
'Note: Clients can define if they wish to use autorefill functionality as well as choose amount to refill in a single run. |
When 'Autosuspend' is marked and your client's credit balance reach 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 number of days set in 'Create Invoices Each' field. |
User Credits
All information related to credit payment for hosting can be found in 'User Credit' tab. 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 accuracy of credit billing. |
Recurring Billing
This extension allows you to set up recurring billing for product.
|
Usage Records
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. |
Hourly Billing
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
Ticket billing works exactly as it sounds. When enabled, it bills your customers for each opened ticket. As in the case of hourly billing, you can enable ticket billing for any product type. |
Sample Configuration
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 'Recurring Billing' , mark 'Enable' and 'Bill on Terminate' checkboxes. Additionally, choose 'Bill Every X Days' from 'Billing Type' dropdown menu and enter '14' into the 'Billing Type Value' textbox. |
3. Scroll down and enter your pricing settings. Afterwards, press 'Save Changes' . |
You have just successfully configured billing! You should see something like on screen below in your Advanced Billing main page. |
20$ Billing
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 'Credit Billing' and mark 'Enable' and 'Enable Credit Pay' checkboxes. Afterwards, enter '1' into 'Create Invoices Each ', ' 20' into 'Minimum Credit' and '50' into 'Low Credit Notify' . |
3. Scroll down and enter your pricing settings, afterwards, press 'Save Changes' . |
You have just successfully configured billing! In your Advanced Billing 'Configuration' tab you should see something similar to the following screen. |
How To Update
In order to upgrade, simply copy the files, any additional operation will be made automatically. |
Tips
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. |
Common Problems
1. When you see an error message as shown on the screen below, that means your 'cron' directory privileges are insufficient. To fix this, allow Read permissions to directory. In most cases chmod 755 solves the problem. |
2. When you have problems with connection, check whether your SELinux or firewall does not block ports. |
3. You are unable to find specified line in clientareaproductdetails.tpl. Cause 1: You are using Classic or Portal template. <div align="center">{$moduleclientarea}</div> Cause 2: You are using heavily customized template. |