Recurring Billing Extended For WHMCS

From ModulesGarden Wiki
Jump to: navigation, search


About Recurring Billing Extended For WHMCS

Recurring Billing Extended For WHMCS will allow you to draw up fixed-term contracts for your clients in relation to the offered products and services.

You will be able to define which products require contract acceptance, then set the time span of each contract along with its possible discount and penalty amount.
The module will also let you preview vital statistics and logs gathered in transparent manner on the dashboard.

  • Admin Area Features:
✔ Create Multiple Contracts Per Product
✔ View And Manage Signed Contracts
✔ Define Time & Modify Contract End Notifications
✔ Modify Contract Renewal Notifications
✔ Define Time After Which Contract Is Defined As Broken
✔ View Logs
  • Contact Features:
✔ Define Contract Content In Multiple Languages
✔ Assign Product To Contract
✔ Define Promo And Penalty Types
✔ Define Multiple Contracts Sets
✔ Define Contract Length - Up To 10 Years
✔ Define Promo And Penalty Amounts
✔ Define Trial Period Length
✔ Define Time To Send Renewal Notification
✔ View Total And Recurring Prices
✔ View Amount Of Penalty
✔ Allow Orders Without Contract
✔ Define Renewal Type
✔ Renewal Without Contract
✔ Renewal With Contract
✔ Cancel
✔ Toggle Availability Of 'Cancellation Request'
  • Client Area Features:
✔ Choose Contract Length During Order
✔ View Contract Content Before Accepting It
✔ View Details Of All Signed Contracts
✔ View History Of Any Signed Contract
  • General Info:
✔ Multi-Language Support
✔ Supports PHP 5.3 Up To PHP 7
✔ Supports WHMCS Templates Five and Six
✔ Supports WHMCS V6 and V7


This tutorial will show you how to successfully install and configure Recurring Billing Extended 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.
RB 1.png
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.3 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'.

RB 2.png
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. When you install Recurring Billing Extended For WHMCS for the first time you have to rename 'license_RENAME.php' file.

File is located in 'modules/addons/recurring_billing/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'.

RB 3.png
5. 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 your client area → 'My Products'.

RB 4.png


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

Log in to your WHMCS admin area and proceed to 'Setup' 'Addon Modules'.
Afterwards, find 'Recurring Billing Extended' and press 'Activate' button.

RB 5.png
7. In the next step you need to permit access to this module.

To do so, click on 'Configure' button, tick checkboxes to assign desired admin roles.
Press 'Save Changes'.

RB 6.png
8. Now it is time to insert proper integration codes.

WHMCS V6 x.x. and V7
Module requires alterations into your order form template. Open your currently used order form and follow the instructions.
You will find it in: yourWHCMS/templates/orderforms/yourOrderForm/viewcart.tpl

Find line:

{if $securityquestions && !$loggedin}

Insert this code snippet above that line:

<div class="sub-heading">

This is how a properly inserted code should look like:

RB 6 1.png
Note: For illustration purposes we have used modern orderform, please make changes in the form you are using!
Remember that the content of other order forms may slightly vary from the description above!
Check the 'Utilities' → 'Integration' tab in your module for valid code.
WHMCS V5 x.x.

1. Open your currently used order form and follow the instructions.
You will find it in: yourWHCMS/templates/orderforms/yourOrderForm/viewcart.tpl

Find line:

{if $securityquestions && !$loggedin}

Insert this code snippet above that line:

<div class="signupfields">

This is how a properly inserted code should look like:

RB 6 2.png
Note: For illustration purposes we have used modern orderform, please make changes in the form you are using!
Remember that the content of other order forms may slightly vary from the description above!

2. Open your currently used template and follow the instructions.
You will find it in: yourWHCMS/templates/yourTemplate/header.tpl

Find line:

{include file="$template/includes/navbar.tpl" navbar=$primaryNavbar}

Insert this code snippet below the above shown line:

<li><a id="Menu-Billing-My_Contracts" href="{$contractLink}">{$contractTitle}</a></li>

This is how a properly inserted code should look like:

RB 6 3.png
Note: For illustration purposes we have used default template, please make changes in every template you are using!
Remember that the content of other templates may slightly vary from the description above!
9. You have just successfully installed Recurring Billing Extended For WHMCS!

Configuration and Management

Once you have properly installed and activated the product you may move to its actual configuration.

Read the below sections to learn how to use Recurring Billing Extended For WHMCS completely.


In order to start using your Recurring Billing Extended For WHMCS move to 'Addons → Recurring Billing'.

By default, you will be moved to the addon's dashboard with a guide opened. You will find there short notes on how to configure the product.
In this article we will expand these instructions a bit more.

RB 7.png
Hide the guide when you have completed the configuration and learned how to reconstruct the process.

Contract Content

First off all, create your first contract's content. To do so, move to 'Contract Content' section and press 'Add New' button.
RB 8.png
Here you can compose the content of a contract.
  • Type in the 'Name' of a contract
  • Fill out the filed with 'Content', you may use 'Available Merge Fields' to do so
    • Client Fields
    • Product Fields
    • Contract Fields
  • Use advanced edition tool to perfectly shape the contract.
  • Compose the contract translation, just select required language from a dropdown menu and type in the translated content.

Do not forget to 'Save' the changes once you have finished.

RB 9.png
Your newly created contract draft is now visible on the list.

Use action buttons to edit the contract or delete it if you are sure it is useless.

RB 11.png

Contract Templates

Now, that you have a contract's content draft, move to 'Contract Templates'.

In this section you can predefine which contract content draft a specific product a template will refer to.
Press 'Add New' to begin.

RB 12.png
Fill out the contract template form. Name the template, as mentioned before, choose content name from the ones you prepared previously (see 'Contract Content' section).
Select product that this template will be available with.
Note! You can assign only one template to a single product, it is not possible to alter the product assignment once you save the changes!
Choose Fixed or Percentage values for Promotion and Penalty amounts.

Define contract renewal option:

  • renew with contract
  • renew without contract
  • cancel

Finally, you may decide whether ta allow your clients to cancel the contract while it is active or not.
Once ready, remember to 'Save' the changes.

RB 13.png
Once you have added a new template, you have to fill out contract's details. An appropriate box should appear next to the template form.

You will find there a payment type and the price, number of signed contracts and a checkbox,
which, when selected, allows to order assigned product without the need to accept this contract.
Press '+' to see more.

RB 14.png
In this form you can define:
  • Length - how long such contract shall last
  • Promo Amount - as fixed amount or percentage, depending on the previously selected type in the template form
  • Penalty Amount - as fixed amount or percentage, depending on the previously selected type in the template form
  • Trial Period - number of days when a client may resign from the contact without any consequences or giving reason of resignation
  • Notice Time - define time when a renewal notification will be sent

Next to each of the options (except 'Trial Period') there will appear counted pricing of product.
Remember to 'Save' the changes again.

RB 15.png


The last step mentioned in the 'Guide' is setting up 'Notifications' and 'Penalty'.
These options can be found under 'Configuration' tab in 'Utilities' section.
RB 16.png
Select which email notifications you want your clients to receive, enter number of days before due date to send the notification.

Move to 'Setup' → 'Email Templates' → 'General Messages' in your WHMCS to view and edit the notifications. You will find them under 'Ending Contract Notification' name.
Enabled notifications are sent automatically with daily cron run.

RB 17.png
Define number of days when a client can be late with payment.
If a client misses to make payment for longer than the specified here number of days, a penalty will be imposed on such client.
Note: penalty type and amount are specified in 'Contract Template' details.
RB 18.png
Here you can also turn off the guide or turn it on again once you have hidden it.

'Save' the changes once your configuration is ready.

RB 19.png


In the following sections we will try to explain how previously configured contracts are forced on clients.

Client Area

Place Order

To illustrate the process, let's say a client orders one of your products with recurring payment (it is important that you have previously prepared a contract for this product).
RB 20.png
On the order form, there is a box where a client needs to select one of the available billing cycles.
RB 21.png
Once a billing cycle is chosen, in 'Additional Required Information' a client must select contract length from the available.
RB 22.png
Before accepting any Terms of Use, a client may view the contract and read it.
RB 23.png
Once familiar with the content of the contract accept 'Contract Terms of Use', only then you will be allowed to view the cart with the selected product.
RB 24.png
If you do not accept the terms of use you will not be allowed to move to the cart.
RB 25.png
In the cart all contracts are available to view, make sure you accepted all of them before you check out.
Otherwise, you will not be allowed to proceed.
RB 26.png

Service Contracts

To view all accepted contracts, find 'Service Contracts' section.

Note, if you are working with WHMCS V 5 x.x., you will find 'Service Contracts' tab in your navigation menu under 'Billing' section.

RB 27.png
There is a full list of client's contracts with the most important information about them.

Use action buttons to:

  • view the contract details page
  • open a PDF version of the contract
  • see the contract content changes history
RB 28.png
View the contract's details page:
RB 28 1.png
View PDF version:
RB 29.png
History of any changes in the contract content:

View PDF to see the previous version of the contract.

RB 30.png

Admin Area

Come back to your admin area addon view to manage signed contracts.

Signed Contracts

In 'Signed Contracts' section you will find a list of all contracts accepted by your clients.

On the main page you can see name of the client with service used, recurring payment amount for their product and contract details such as signing and ending dates, length and status.
Use action buttons to cancel or edit contracts. If you use edit button, you will be moved to a full view of the contract.

RB 31.png
On this page you can see once again details of a contract accepted between a client and you.
RB 32.png
Here, you are allowed to modify the content of this very contract. Note that used 'Contract Content' will not be altered, only this signed item.
RB 33.png
In case you decide to make any changes to the contract, the previous (before changes) version of the contract is added to teh 'History'.

Thanks to that, you may always come back to the original, restore it (changes made will be overwritten with the previous content) or view PDF version.

RB 34.png


On the Dashboard of your addon you will find the most important information in a nutshell.

These are:

  • Recently Signed Contracts
  • Recently Ended Contracts (including finished, canceled and broken ones)
  • Contract Status
  • Logs
RB 35.png


In 'Logs' section you have a full view on any attempted action on any contract.
RB 38.png

Advanced Billing For WHMCS Integration

It is possible to combine your Recurring Billing For WHMCS module with one of our most favored products which is Advanced Billing For WHMCS.

In order to configure the two modules to work together move to 'Advanced Billing addon' → 'Configuration' and find the product you want to work with.
Move to 'Settings' → 'Recurring Billing' section, as billing type select 'Bill On Invoice Generation' option.
Learn more about Advanced Billing configuration here.

RB 40.png
When ready, Recurring Billing For WHMCS will be in constant cooperation with the other module within the configured product. If you want to combine the functionalities
of the two modules for more than one product, please remember to select 'Bill On Invoice Generation' option for all of them!


1. If you mark checkbox 'Select to permit orders without contract' in a contract template, while placing an order a client will be allowed
to select 'I do not want to sign a contract' option form 'Contract Length'.
No 'Terms of Use' will have to be accepted then and the client will not be charged according to the contract's details.
RB 39.png
2. The contracts are automatically broken in two cases:
  • The invoice has not been paid - module counts the number of days set up in configuration 'penalty after x days' until the moment the payment is noted in the system.
  • Client has sent a cancellation request for the product.
3. As this module supports templates system, any changes made in the module's templates files will be saved after the upgrade process.

Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
2. Remember that Recurring Billing Extended For WHCMS contracts can be applied to products with recurring payment type only.
RB 41.png
Personal tools

WHMCS Modules
cPanel Modules
Magento Extensions
Magento Themes
PrestaShop Modules
Blesta Extensions
Recurring Billing Extended For WHMCS