Personal tools


Cloud Billing For WHMCS

From ModulesGarden Wiki
Jump to: navigation, search


About Cloud Billing For WHMCS

Cloud Billing For WHMCS is a sophisticated module that consists of:
✔ AWS Billing For WHMCS
✔ Azure Billing For WHMCS (coming soon)
✔ Google Cloud Billing (coming soon)
✔ Microsoft CSP Billing For WHMCS (coming soon)
AWS Billing For WHMCS offers you a powerful billing model management of Amazon Web Services to broaden your target audience. The module allows you to gather all your AWS services in one place, connect to AWS in two different ways- with the use of your account or your customer account.
Except for setting percentage billing margin for WHMCS products per AWS service, you are given a possibility to generate detailed reports on billing management, earnings, resource usage per service and much more.
  • Core Features:
✔ Efficiently Bill Customers For Management of Amazon Web Services
✔ Earn From Your Percentage Margins Based On User AWS Services
✔ Connect With Amazon Web Services Using:
✔ Own Account With All Services Of Your Customers
✔ With Customers' Accounts To Keep Their Management Separate
✔ Keep Customers Up To Date With Their Current And Upcoming Costs
✔ Access Insightful Expenses, Earnings And Resources Usage Graphs
  • Admin Area Features:
✔ View Dashboard Summaries:
✔ Invoices And Earnings Per Last Week/Month/Quarter/Year
✔ Expenses And Earnings
✔ Earnings Per Service
✔ Most Profitable Clients
✔ Latest Invoices
✔ Paid API Requests Usage
✔ Create Pricing Groups With Multiple Pricing Margins Per AWS Services
✔ Assign WHMCS Products To Selected Pricing Groups
✔ Select Billing Method For Product:
✔ On WHMCS Invoice Generation
✔ On First Day Of Month
✔ On Last Day Of Month
✔ Create And Manage Service Relations Between:
✔ Clients And Their WHMCS Products
✔ Pricing Groups
✔ Used API Credentials
✔ Chosen Billing Types:
✔ Default - Billing Services Based On Assigned Tag Names On Your AWS Account
✔ Organization - Bill Services Based On Provided Organization ID On Your AWS Account
✔ Custom Details - Bill All Services From Individual Customer AWS Account
✔ View Service Details:
✔ Total Paid And Charged Amount Per Client
✔ Current Usage With Cost And Charged Amount Per Service
✔ Changes Per Service Graph
✔ Generated Invoices Per Service
✔ View Created Invoices Per Client
✔ Provide Multiple API Credentials:
✔ To Your Own AWS Accounts
✔ To Your Individual Customers Accounts
✔ Run API Connection Test
✔ View Service Details, Usage And Charges From Client's Products/Services Tab
✔ Access Your License Information With Selected Plan Based On Current Income
✔ Toggle Debug Mode For API Request Logging
✔ View Module Logs
  • Client Area Features:
✔ View Current Usage Per Service
✔ View Charges Per Service Graph:
✔ Select Services Types
✔ Define Graph Scope
  • General Info:
✔ Supports All Offered AWS Services
✔ Supports Multiple AWS Accounts
✔ Multi-Language Support
✔ Supports PHP 7.1 Up To PHP 7.4
✔ Supports WHMCS Template Six
✔ Supports WHMCS V7.9 And Later
  • Requirements:
✔ Amazon Web Services Account

Installation and Configuration

This tutorial will show you how to successfully install and configure Cloud Billing For WHMCS smoothly.

We will guide you step by step through the whole process.


1. Log in to our client area and download the module.
AWS 1.png
2. Upload and extract the extension into the main WHMCS directory.

Extracted files in your WHMCS directory should look like this:

AWS 2.png
3. When you install AWS Billing For WHMCS for the first time, you have to rename the 'license_RENAME.php' file.

The file is located in 'modules/addons/CloudBilling/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'.

AWS 3.png
4. In order to configure your license key, you have to edit the previously renamed 'license.php' file.

Enter your license key between quotation marks as presented on the following screen. You can find your license key in our client area → 'My Products'.

AWS 4.png
5. In the next step, set up the 'storage' folder as recursively writable.

This folder is available at 'your_whmcs/modules/addons/CloudBilling/' .

AWS 5.png

Activating Addon Module

6. Now, you have to activate the module in your WHMCS system.

Log in to your WHMCS admin area. Go to 'Setup' 'Addon Modules'. Afterward, find 'Cloud Billing' and press the 'Activate' button.

AWS 6.png
7. In the next step, you need to grant access to this module.

To do so, click on the 'Configure' button, go to the 'Access Control' area and check the required admin role groups. Press 'Save Changes'.

AWS 7.png
8. Good job! You have just successfully installed AWS Billing For WHMCS! Now in your WHMCS press 'Addons' and then 'Cloud Billing'.
AWS 8.png

AWS Billing For WHMCS

9. In order to continue the configuration process. At first, proceed to the 'API Credentials' section as presented on the screen.
AWS 9.png
To complete the previous step and connect to the platform properly, you need to generate your AWS access details.

Underneath, you will find detailed instructions on where to find this information.

10. Log in to your Amazon AWS Management Console and find 'My Security Credentials' section under your account name dropdown.
ALS 6.png
11. There, move to the 'Access Keys (access key ID and secret access key)' section.
ALS 7.png
12. If you do not have any active keys yet, then press the 'Create New Access Key' button to generate a new set of details.
ALS 8.png
13. A modal with Access Key ID and Secret Access Key will appear, so copy this information and keep it safe. You may also download a suitable file with these details.

Note: This is the only place where you can find the corresponding secret key later. It will not be visible next to the Key ID in the panel.

ALS 9.png
14. Now, come back the 'API Credentials' section and press the 'Add Credentials' button. In the new pop-up window, provide a name, API Key, API Secret.
AWS 10.png
In the new pop-up window, provide a name, API Key, API Secret. Press 'Add' when ready.
AWS 12.png
15. To check if the entered data is correct, click on the 'Test Connection' button.
AWS 13.png


Pricing Groups

In this section, you can easily create new pricing groups. To do so, please click on the button as shown below.
AWS 14.png
Here, you will be asked to provide a group name and set up the default pricing margin.

Note: The default pricing margin means the percentage that will be added to the invoice.
If you do not define the margin for a particular product, then the module will use the margin which is given in the 'Others' field.

Example: If the Amazon's charge is 10$ and we set up 20% margin, the client will receive an invoice for 12$.

AWS 15.png
If you wish to add more payable services, click on the 'Add Billing Service' button to add a new one.
AWS 16.png
Next, you can choose the services what will be payable.

Note: Please remember that if you do not select any service type from the drop-down list, the pricing margin that you enter will be automatically assigned to the 'Other' service type.

AWS 17.png
Pricing groups may be easily edited. If you wish to delete any of your pricing groups, firstly, make sure that the particular pricing group is not used anywhere. Otherwise, you will not be able to delete it.
AWS 18.png


The 'Products' section grants you a possibility to add a new product and assign a pricing group to it. Moreover, you can select one of three available billing methods which will be allotted to the newly created product.
AWS 19.png
AWS 20.png
This image presents what the summary of your products should look like:
AWS 21.png
If you wish to disable a particular product, just click the following button:

Note: Please remember that a disabled product may be activated again anytime.

AWS 22.png
If you need to introduce some changes to your product, then click on the 'Edit' button. If some products are no longer necessary, then 'Delete' them.
AWS 23.png


Under this tab, new services can be added. To do so, click the 'Add Service' button.
AWS 24.png
In the newly opened window, you will be asked to complete the following information:
  • 'Client' - select one of your clients,
  • 'Service' - choose one service which was ordered by your client,
  • 'Pricing Group' - decide which of the previously created pricing groups should be allotted to this service,
  • 'Credentials' - if you created more than one credentials then you can define which one will be assigned to this service,
  • 'Billing Type' - determines the way of searching the resources that your clients will be billed for, there are three options available:
    • 'Default' – all resources containing tag names provided by you will be billed,
      For instance, when you enter ‘WHMCS’ in the 'Tag Name' field, this tag name with the value of the service will be automatically searched for in Amazon,
    • 'Organization' – all resources in a particular company will be billed,
    • 'Custom details' – all resources in a particular account will be billed. The module connects to AWS and sums everything what is available there,
  • 'Tag Name' – if you wish your Amazon services to be filtered according to the particular tag names, then type a tag name here.
AWS 25.png
Here you can check what the newly added service looks like:
AWS 26.png
If you wish to check more details, press the following button.
AWS 27.png
Now, you will be redirected to a new subpage.
AWS 28.png
Please remember that there is a difference between 'Cost' and 'Charge Amount' in the 'Current Usage' section.
  • 'Cost' refers to the amount that is billed by Amazon.
  • 'Charge Amount' is the amount that your client will be billed.
If any values for usage have been counted, there will be a possibility to create invoices. To generate an invoice, simply press the icon as shown in the picture:
AWS 29.png


In order to collect the data properly, the following cron tasks may be needed.

Note: Please remember that the following picture is only a suggestion how to set up cron and of course it can be modified by you.
Keep in mind that each cron should be used once a day because Amazon charges for every API request.

Note: It is possible to collect your 'Billing Data' from the preferred period of time. To do so, add date range --from --to at the end of your cron command as shown in the following example:

  php -q /your_whmcs/modules/addons/CloudBilling/cron/cron.php billing --from 2020-01-05 --to 2020-01-10

Once you enter this command, you will receive the 'Billing Data' from 05.01.2020 to 10.01.2020.
To obtain precise information, we highly recommend performing the 'Billing Data Collecting' cron at 22:00 UTC time and the 'Invoicing' cron at 23:00 UTC time.

You may also define the 'Cron Setup' by providing one of the following values: 1, 2, 3, 4, 6, 8 that can be selected from the dropdown menu.
These are the factors of 24. As an example, if you choose '4' then the cron task will be run 4 times within 24 hours (about every 6 hours).

AWS 30.png


It is possible to count the number of your API requests as well as their cost. This option is located at the bottom of the ‘Dashboard’ section.
AWS 31.png


All generated invoices are gathered in the 'Invoices' tab.
Here you can check the most essential information of a particular invoice such as 'ID' , 'Client' , 'Status' , 'Amount' and the creation date. The search box allows you to filter invoices of a particular client.
AWS 32.png
In order to check the details of a specific invoice, please click the info button as presented below:
AWS 33.png
Next, you will be redirected to the details of the selected invoice.
AWS 34.png


The 'Logs' section stores the history of all actions performed in the module.
If you wish to filter the history by one of these options: 'ID' , 'Service ID' , 'Message' , 'Type' , 'Date' , simply click on the preferred one.
AWS 35.png
There is a possibility to delete the selected item from the 'Logs' section by pressing the following icon.
AWS 36.png


Once you click on the 'Documentation' section, you will be redirected to the website you are currently reading.
AWS 37.png

Admin Area

Cloud Billing For WHMCS allows you to monitor and manage your customer services from the admin area of your WHMCS system.

This includes supervision of such features as:

  • Module commands to allow easy and quick management of the service,
  • Service details,
  • Current Usage,
  • Charges per Service,
  • Service Invoices.
AWS 37 1.png

Client Area

In the client area, proceed to 'My Products&Services' 'Product Details' .
Here, you can check the 'Current Usage' as well as 'Charges per Service' which can be modified according to your preferences.
AWS 38.png
Once clicked on the edit icon, a new pop-up will show up.
AWS 39.png
Here, you can select a type of your service and choose a time frame for a graph from these available ones: 'Current Month' , 'Last Month' , 'Last Quarter' , 'This Year' .
AWS 40.png

Update Instructions

An essential guidance through the process of updating the module is offered here.

Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
WHMCS Modules
WHMCS Translations
cPanel Modules
Magento Extensions
Magento Themes
PrestaShop Modules
Blesta Extensions
Cloud Billing For WHMCS