Advanced Billing For WHMCS
Contents
|
About Advanced Billing For WHMCS
Article update is ongoing on this page, watch out for broken links and unclear descriptions! We are sorry for the inconveniences.
Advanced Billing For WHMCS is a module that allows you to set up additional billing options for your products like disk usage or number of email accounts based on the usage. In other words, our product will let you to charge customers based on the resources used by them. What is more, it offers hourly billing, ticket billing and credit billing. |
- Features:
✔ Hourly Billing For Any WHMCS Module! |
✔ 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, Bandwidth, Memory Usage |
✔ SolusVM Extended Cloud Integration: Available Disk Size, Disk Usage, Available Bandwidth, Available Memory, Cores, IP Addresses, Disk Usage, Bandwidth Used, Memory Usage |
✔ 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 |
✔ Rackspace Email Integration: Hourly, Mailbox Storage, Mailboxes, Sync Licenses, Blackberry Licenses, Exchange Storage, Exchange Mailboxes |
✔ Zimbra Email Integration: Hourly, Mailboxes, Aliases, Storage |
✔ Ticket Billing |
✔ Credit Billing |
✔ Configuration Per Product |
✔ Current List Of Billable Items For Next Invoices |
✔ Possibility To Generate Invoices Automatically Or Manually |
✔ Bill When Invoice Is Generated For Hosting |
✔ Bill On Terminate Account |
✔ Bill Each 1st Day Of Month |
✔ Automatically Apply Credit |
✔ Logs |
✔ Multi-Language Support |
✔ Supports WHMCS V5 and Later |
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. When you install Advanced Billing for the first time you have to rename 'license_RENAME.php' file. File is located at 'modules/addons/AdvancedBilling/license_RENAME.php' . Rename it from 'license_RENAME.php' to 'license.php' . |
File:AB2 3.png |
4. In order to configure your license key you have to edit a previously renamed 'license.php' file. Enter your license key between quotation marks as presented on the following screen. You can find your license key at your client area → 'My Products' . |
File:AB2 4.png |
5. Now you have to activate the module in your WHMCS system. Login to your WHMCS admin area. Click 'Setup' then choose 'Addon Modules' . |
File:AB2 5.png |
6. In next step you need to permit access to this module. To do so click on 'Configure' , choose 'Full Administrator' and press 'Save Changes' . |
File:AB2 6.png |
7. Last step is setting up two cron jobs, you can find them in your WHMCS → 'Addons' → 'Advanced Billing 2.0.1' 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 lets learn more about module functionalities. We will present you possibilities of our product on cPanel Extended example. Please note that billing features are different in each module but the core functionality of the Advanced Billing is the same for each. |
Configuration
We group configuration options in 4 tabs depending on their purpose. You can access resource usage pricing from each of the tabs. |
General Settings Tab
Here you can find information about module used by your product. If module is not supported, 'Basic Module' mode will be used. 'Basic Module' enables you to bill your client for hourly usage of product only. |
Billing Settings Tab
In this tab you can set up billing for product. 1. 'Bill on Terminate' - when account connected with your module will be terminated, invoice for account will be generated. |
File:AB2 10.png |
Credit Billing Tab
Credit billing allows you to charge for product from client credit balance.
1. 'Enable Credit Pay' - this option enables/disables credit billing for this module (if credit billing is enabled, standard billing will be turned off). |
File:AB2 11.png |
When 'Autosuspend' is marked and your client credit ballance reach 0, his product will be suspended. Additionally, invoice with lacking payment will be generated. If it is unmarked and credit balance reach 0, account will not be suspended and invoice will be generated according to number of days set in 'Create Invoices Each' field. |
Module Settings Tab
This tab shows only for cPanel/cPanel Extended modules. Here you can set Application Manager (Softaculous/Installatron) and cPanel theme. Default value of theme is 'x3' . |
Used Resource Pricing
In the bottom part of the screen you can set up billing for specific server resource usage like for e.g. bandwidth. 'Free Limit' field is used to set amount of usage records for which customer won't be charged. |
As you could notice on the screen above, 'Configure' column was added. It allows you to set up different free limits and pricing depending from 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. |
It shows detailed information about record usage and quote for that usage. |
In order to view price for specific element of record, simply drag mouse on it. The following screen shows situation after running cron only 2 times. Note that first record is always empty as it's task is to initialize billing for specific account. |
In addition to the above information you can check time of each cron run. You can also order creation of invoice for product through pressing 'Bill On Demand' . |
Logs
In logs you will find information about the module activity. You can view informative logs, error logs and critical logs. Choose your .log file from a dropdown menu and press 'Show' as presented on the screen below. |
This is how the 'infolog-YYYY-MM-DD.log' can look like. |
Awaiting Invoices
Here you can check your awaiting invoices. Invoices can be generated automatically or manually. On the screen you can see our previously generated invoice for our cPanel Extended account. |
This is the place where you can verify and modify your awaiting invoices. It's worth to check whether invoices are correct to avoid risk. You already know that you can set up automatic invoice generation in configuration section. Now lets manually generate invoice for your customer. |
After changing package, invoice is automatically generated for old package. |
User Credits
All information related to credit payment for hosting can be found at 'User Credit' tab. As you can see, there are two columns with credits. First one, 'Internal Credit' contain credits which was not used for payment, but are reserved for it. It was created to increase accuracy of credit billing. |
File:AB2 21 1.png |
Integration Code
Integration code allows displaying usage records for each of your customers in the client area and allows to display pricing on the order form. |
Exemplary display of usage records in the client area. Note that disabled usage records will not be displayed. |
Exemplary display of pricing in the order form. Note that disabled usage records will not be displayed. |
Migration Tool
Migration tool allows you to import configuration from Advanced Billing 1.3.8 or older. Each product you migrate will be disabled on your previous Advanced Billing. |
File:AB2 25.png |
To start, press 'Migrate Product' next to product you want to import. |
File:AB2 26.png |
'Divider Prices' divide prices you have had on your previous Advanced Billing. Reason of implementing it are changes in pricing system, at old Advanced Billing it was price per month, now it is price per hour. |
File:AB2 27.png |
In 'Invoice Settings' , 'Billing Settings' and 'Credit Billing' tab you can configure product billing. Description of this tabs you can find in this article. You can jump to it through pressing one of following: Invoice & Billing Settings Credit Billing |
File:AB2 27 1.png |
You can also edit 'Free Limit' , 'Pricing' , 'Displayed Unit' and 'Status' . At the bottom of the screen you can decide, if you want to generate invoice for accounts you are importing product for. |
File:AB2 27 2.png |
You should see information about changes you are trying to make, confirm them through pressing 'Migrate' button. |
File:AB2 27 3.png |
Hourly Billing
Hourly billing allows you to charge your customers for each hour of use of the product (hourly billing calculation are based 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 you 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 sample 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 2.0.1' and select your product from 'Enable Advanced Billing 2.0 for:' . |
2. Go to 'Billing Setting' , mark 'Bill on Terminate' checkbox and enter '14' in 'Create Invoices Each' textbox. |
3. Scroll down and enter your pricing setting, afterwards, press 'Save Changes' . |
You have just successfully configured billing! You should see something like on screen below in your Advanced Billing main page. |
5 Minutes Billing
To bill your client as often as possible follow these steps: 1.Go to 'Addons' → 'Advanced Billing 2.0.1' and select your product from 'Enable Advanced Billing 2.0 for:' . |
2. Go to 'Credit Billing' and mark 'Enable Credit Pay' checkbox. Afterwards, enter '1' into 'Create Invoices Each ', ' 20' into 'Minimal Credit' and '50' into 'Low Credit Notify' . |
3. Scroll down and enter your pricing setting, 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
Due to completely rewritten code in version 2.0, you have to use migration tool in order to upgrade your Advanced Billing to the latest version. You can find instruction for it in Migration Tool section. |
Tips
1. Deactivation of the module removes products configuration, usage records and awaiting invoices. In order to update 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 use currency that is not WHMCS base currency (for example, WHMCS base currency is €, while client uses $):
Invoice for him will be generated in his currency, while usage record and calculation in Advanced Billing will be using base currency. |
Common Problems
1. When you will 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 is not blocking ports. |