Personal tools
Namespaces

Variants
Actions

Hosting Quota Notifications 1.X For WHMCS

From ModulesGarden Wiki
(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
<meta name="keywords" content="domains reseller for whmcs, domains reseller configuration, whmcs domains reseller management, whmcs domains reseller installation, whmcs domains reseller common problems, about whmcs domains reseller, whmcs domains reseller documentation, whmcs domains reseller faq, whmcs domains reseller help, whmcs domains reseller guide, whmcs domains reseller wiki, whmcs domains reseller tutorial, whmcs domains reseller tips, whmcs domains reseller wiki"></meta>
+
<meta name="keywords" content="advanced billing for whmcs, advanced billing  configuration, advanced billing  management, advanced billing  installation, advanced billing  guide, modulesgarden advanced billing, advanced billing  wiki, advanced billing  tutorial, advanced billing  tips, whmcs billing module wiki, advanced billing  common problems, about advanced billing, advanced billing  documentation, advanced billing  faq, advanced billing  help"></meta>
<meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The Domains Reseller For WHMCS Module."></meta>
+
<meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The Advanced Billing For WHMCS Module."></meta>
  
 
+
=About [http://www.modulesgarden.com/products/whmcs/advanced_billing/features Advanced Billing For WHMCS]=
=About [http://www.modulesgarden.com/products/whmcs/domains_reseller/features Domains Reseller For WHMCS]=
+
 
{|
 
{|
|style="padding: 10px 0px 5px 0px;"|'''Domains Reseller For WHMCS''' allows you to resell TLDs as well as manage obtained income and resellers. All these in a single pane of glass.<br />  
+
|style="padding: 10px 0px 10px 0px;"|'''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.<br />
The module facilitates its own API which can be used by your resellers to offer domains within various systems like WHMCS, HostBill, Blesta and others.<br />
+
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.<br />
Just generate your own registrar module with just a couple of clicks, hand it over to your resellers and admire the sales they generate.
+
The module will also automatically generate invoices on the basis of the data gathered by the synchronization. It is integrated with many modules including cPanel and SolusVM.
 
|}
 
|}
<!--a comment maybe? -->
+
<!--Comment-->
*'''Provider Features:'''
+
*'''Core Features:'''
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Your Own API For Domains Reselling
+
|style="padding: 10px 0px 0px 30px;"|✔ Hourly Billing For Any WHMCS Module
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Domain Registrar Module Generator For WHMCS & HostBill
+
|style="padding: 0px 0px 0px 30px;"|✔ Ticket Billing
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Enable/Disable API
+
|style="padding: 0px 0px 0px 30px;"|✔ Configure Billing Per Product
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ API Status
+
|style="padding: 0px 0px 0px 30px;"|✔ Manage Extensions And Configure Them Per Product
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Restrict IP Addresses
+
|style="padding: 0px 0px 0px 30px;"|✔ View Current List Of Billable Items For Next Invoices
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Reseller White List
+
|style="padding: 0px 0px 0px 30px;"|✔ View Resources Usage History Of Any Item
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Restrict IP Address Per Client
+
|style="padding: 0px 0px 0px 30px;"|✔ Manage Awaiting Invoices And Convert Them To Invoices
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Auto Disable API For New Users
+
|style="padding: 0px 0px 10px 30px;"|✔ View Logs
 
|}
 
|}
 +
*''''Recurring Billing' Extension Features:'''
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Auto Generate API Key For New Users
+
|style="padding: 10px 0px 0px 30px;"|✔ Bill On Account Terminate
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ SSL Connection
+
|style="padding: 0px 0px 0px 30px;"|✔ Bill When Invoice Is Generated For Hosting
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Low Credit Notification
+
|style="padding: 0px 0px 0px 30px;"|✔ Bill Each X Day Of Month
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Choose TLDs Enabled For API
+
|style="padding: 0px 0px 0px 30px;"|✔ Bill Each X Days
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Allow Reselling And Activating Domains For Chosen Clients Without Credits
+
|style="padding: 0px 0px 0px 30px;"|✔ Automatically Generate An Invoice
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Define Type Of Refund Upon Unsuccessful Domain Registration
+
|style="padding: 0px 0px 0px 30px;"|✔ Define Invoice Payment Due Date
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ List Of Clients With Possibility To Generate/Remove/Enable/Disable The API Key
+
|style="padding: 0px 0px 10px 30px;"|✔ Automatically Apply Credits
 
|}
 
|}
 +
*''''Credit Billing' Extension Features:'''
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Generate/Enable/Disable API Keys For All Users
+
|style="padding: 10px 0px 0px 30px;"|✔ Generate Invoice Each X Days
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Filtering API Users Per Firstname, Lastname And E-mail
+
|style="padding: 0px 0px 0px 30px;"|✔ Define Minimal Amount Of Credit To Charge
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Assign Promocodes To Users
+
|style="padding: 0px 0px 0px 30px;"|✔ Send Email When Client's Credit Balance Falls Below Defined Credit Amount
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ API Knowledgbase Generator
+
|style="padding: 0px 0px 0px 30px;"|✔ Automatically Suspend Account When Client Is Out Of Credits
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ API Logs With Filtering
+
|style="padding: 0px 0px 0px 30px;"|✔ Define Invoice Payment Due Date
 
|}
 
|}
*'''API Functionality:'''
 
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Register/Transfer/Renew Domain
+
|style="padding: 0px 0px 0px 30px;"|✔ List Summary Credit Billing Charges Of Any Hosting
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Release/Delete Domain
+
|style="padding: 0px 0px 0px 30px;"|✔ Refund Credit Payment To Client
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Modify Contact Details
+
|style="padding: 0px 0px 0px 30px;"|✔ Automatically Refill Client's Credit Balance Using Their Credit Card
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Get EPP Code
+
|style="padding: 0px 0px 10px 30px;"|✔ Client Can Enable/Disable Auto Refilling And Define A Single Refill Amount
 
|}
 
|}
 +
*''''Resource Usage' Extension Features:'''
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Get/Save DNS Records
+
|style="padding: 10px 0px 0px 30px;"|✔ Define Period For Counted Resource Usage
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Get/Modify Nameservers
+
|style="padding: 0px 0px 0px 30px;"|✔ Define Resource Usage Counting Precision
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Register/Modify/Delete Nameserver
+
|style="padding: 0px 0px 10px 30px;"|✔ Show History Of Resource Usage
 
|}
 
|}
 +
*'''Supported Modules:'''
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Registrar Lock
+
|style="padding: 10px 0px 0px 30px;"|✔ [http://www.modulesgarden.com/products/whmcs/autoscaling/features Autoscaling] - Standalone Extension - Automatically Adjust And Upgrade/Downgrade The Products Of Your Clients According To The Server Resource Usage
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Get/Save Email Forwarding
+
|style="padding: 0px 0px 0px 30px;"|✔ cPanel & [http://www.modulesgarden.com/products/whmcs/cpanel_extended/features cPanel Extended] Integration: Hourly, Bandwidth, Storage, Databases, Addon Domains, Subdomains, Parked Domains, Domain Forwarders, FTP Accounts, Installed Applications, Email Accounts
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ ID Protection
+
|style="padding: 0px 0px 0px 30px;"|✔ Parallels Plesk Panel & [http://www.modulesgarden.com/products/whmcs/parallels_plesk_panel_extended/features Parallels Plesk Panel Extended] Integration: Hourly, Subdomains, Disk Space, Email Boxes, Sites, Redirects, Mail Groups, Autoresponders, Mailing Lists, Users, Databases, Webapps, Traffic
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ Domain Cron Synchronization
+
|style="padding: 0px 0px 0px 30px;"|✔ DirectAdmin & [http://www.modulesgarden.com/products/whmcs/directadmin_extended/features DirectAdmin Extended] Integration: Hourly, Bandwidth, Storage, Subdomains, Domain Pointers, FTP Accounts, MySQL Databases, Virtual Domains, Mailing Lists, POP Accounts, Email Forwarders, Email Autoresponders
 
|}
 
|}
*'''End User Features:'''
 
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ View Contact Information
+
|style="padding: 0px 0px 0px 30px;"|✔ [http://www.modulesgarden.com/products/whmcs/parallels_cloud_server/features Parallels Cloud Server] Integration: Templates, CPU Usage, Memory, Bandwidth IN, Bandwidth OUT, Disk Used, Backups Usage
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Manage Email Forwarders
+
|style="padding: 0px 0px 0px 30px;"|✔ SolusVM & [http://www.modulesgarden.com/products/whmcs/solusvm_extended_vps/features SolusVM Extended VPS] Integration: Hourly, Disk Usage, Memory Usage (except KVM virtualization), Bandwidth Used
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Manage DNS Records
+
|style="padding: 0px 0px 0px 30px;"|✔ [http://www.modulesgarden.com/products/whmcs/solusvm_extended_cloud/features 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
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Register/Manage Private Nameservers
+
|style="padding: 0px 0px 0px 30px;"|✔ [http://www.modulesgarden.com/products/whmcs/proxmox_vps/features Proxmox VPS] Integration: Hourly, Disk Usage, Bandwidth IN, Bandwidth OUT, Memory Usage, Backups Usage, CPU Number, CPU Usage
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ Enable/Disable ID Protection
+
|style="padding: 0px 0px 0px 30px;"|✔ [http://www.modulesgarden.com/products/whmcs/proxmox_cloud/features Proxmox Cloud] Integration: Disk Usage, Disk Size, Bandwidth IN, Bandwidth OUT, Memory Usage, Memory Size, Backups, CPU Number, CPU Usage
 
|}
 
|}
*'''General Info:'''
 
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Orders Paid By Resellers' Credit
+
|style="padding: 0px 0px 0px 30px;"|✔ [http://www.modulesgarden.com/products/whmcs/openstack_vps/features 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
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Reseller Can Manage API From The WHMCS Client Area
+
|style="padding: 0px 0px 0px 30px;"|✔ [http://www.modulesgarden.com/products/whmcs/rackspace_email/features Rackspace Email] & [http://www.modulesgarden.com/products/whmcs/rackspace_email_extended/features Rackspace Email Extended] Integration: Hourly, Mailbox Storage, Mailboxes, Sync Licenses, Blackberry Licenses, Exchange Storage, Exchange Mailboxes
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Integrated With <u>Domain Orders Extended For WHMCS</u> - Innovative Way Of Selling TLDs & gTLDS [http://www.modulesgarden.com/products/whmcs/domain_orders_extended/features (read more)]
+
|style="padding: 0px 0px 10px 30px;"|✔ [http://www.modulesgarden.com/products/whmcs/zimbra_email/features Zimbra Email] Integration: Hourly, Mailboxes, Aliases, Storage
 +
|}
 +
*'''General Info:'''
 +
{|
 +
|style="padding: 10px 0px 0px 30px;"|✔ Count Usage Of All Accounts Assigned To Reseller - cPanel, [http://www.modulesgarden.com/products/whmcs/cpanel_extended/features cPanel Extended], DirectAdmin & [http://www.modulesgarden.com/products/whmcs/directadmin_extended/features DirectAdmin Extended]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Multi-Language Support
+
|style="padding: 0px 0px 0px 30px;"|✔ '''Multi-Language Support'''
 
|}
 
|}
 
{|
 
{|
Line 143: Line 147:
 
=Installation=
 
=Installation=
 
{|
 
{|
|style="padding: 10px 0px 30px 0px;"|'''This tutorial will show you how to successfully install and configure Domains Reseller For WHMCS.''' <br />
+
|style="padding: 10px 0px 0px 0px;"|'''In this tutorial we will show you how to successfully install and manage Advanced Billing For WHMCS.'''<br />
 
We will guide you step by step through the whole installation and configuration process.
 
We will guide you step by step through the whole installation and configuration process.
 
|}
 
|}
==Module Installation - Provider==
 
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|'''1. Log in to your client area and download Domains Reseller For WHMCS.'''
+
|style="padding: 20px 0px 20px 15px;"|'''1. Log in to your client area and download Advanced Billing For WHMCS.'''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_1.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_1.png]]
 
|}
 
|}
 
{|
 
{|
Line 158: Line 161:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_2.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_2.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''3. When you install Domains Reseller for the first time you have to rename '' 'license_RENAME.php' '' file.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''3. Now you have to activate the module in your WHMCS system.'''<br />
File is located in '' 'modules/addons/domainsReseller/license_RENAME.php' '' . Rename it from '' 'license_RENAME.php' '' to '' 'license.php' '' .
+
Log in to your WHMCS admin area. Click '' 'Setup' '' then choose '' 'Addon Modules' '' .<br />
 +
Afterwards find '' 'Advanced Billing' '' and press '' 'Activate' '' button.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_3.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_5.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''4. In order to configure your license key, you have to edit a previously renamed '' 'license.php' file.' '' '''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''4. In the next step you need to permit access to the module.'''<br />
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' ''.  
+
To do so, click on '' 'Configure' '', choose desired admin roles and press '' 'Save Changes' ''.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_4.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_6.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''5. Edit '' 'header.tpl' '' file located at '' 'your_whmcs/templates/default/header.tpl' ''.<br />
+
|style="padding: 0px 0px 15px 15px;"|'''5. Now, proceed to [[#Extensions|Extensions]] section to find more about configuring license.
''Important! This edition is required only if you use WHMCS V5x.x. <br/>There are no alterations in templates for WHMCS V6x.x.''<br/>
+
Add this code:
+
<nowiki>{if $dr_show_button}<li><a href="index.php?m=domainsReseller">Reseller Registrar Credentials</a></li>{/if}</nowiki>
+
After:
+
<nowiki><li><a id="Menu-Domains-Whois_Lookup" href="domainchecker.php">{$LANG.navwhoislookup}</a></li></nowiki>
+
Take a look at the screenshot below and verify your changes:
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_5.png]]
+
|style="padding: 0px 0px 20px 15px;"|'''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.'''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''6. Now you have to activate the module in your WHMCS system. '''<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_7.png]]
Log in to your WHMCS admin area. Go to '' 'Setup' '' → '' 'Addon Modules' ''. Afterwards find '' 'Domains Reseller' '' and press '' 'Activate' '' button.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_6.png]]
+
|style="padding: 0px 0px 30px 15px;"|'''Well done, you have just successfully installed Advanced Billing For WHMCS! '''
 
|}
 
|}
 +
 +
=Configuration and Management=
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''7. In the next step you need to permit access to this module.'''<br />
+
|style="padding: 10px 0px 15px 15px;"|Now let's learn more about module's functionalities. We will present you the possibilities of our product on cPanel Extended For WHMCS example.<br />
To do so click on '' 'Configure' '' button, tick '' 'Full Administrator' '' and press '' 'Save Changes' ''.
+
Please note that billing features are different in each module but the core functionality of Advanced Billing is the same for each.<br />
 +
First, choose your module from '' 'Enable Advanced Billing for' '' dropdown menu as it is shown on the following screen.<br />
 +
For presentation purposes we have chosen '' 'cPanel Premium' '' with cPanel Extended module.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_7.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_8.png]]  
 
|}
 
|}
 +
==Core==
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''8. You have just successfully installed Domains Reseller!'''<br />
+
|style="padding: 10px 0px 30px 15px;"|Our module core has been redesigned to allow collecting the records and invoices' management.<br />
You can access your module at '' 'Addons' '' → '' 'Domains Reseller' ''.<br />
+
All other features are handled by extensions, which can be easily enabled/disabled, and are configured per product.
Now it's time to set up registrar module, it will be used by your resellers registrar to manage domains.
+
 
|}
 
|}
 +
===Configuration===
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_8.png]]
+
|style="padding: 10px 0px 30px 15px;"|Core configuration consists of 2 tabs.<br />
 +
You can access resource usage pricing from any tab.
 
|}
 
|}
 +
====General Settings Tab====
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|'''9. Activate and configure registrar at '' 'Setup' '' '' 'Products/Services' '' '' 'Domains Registrar' ''.'''
+
|style="padding: 10px 0px 15px 15px;"|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.<br />
 +
'' 'Basic Module' '' enables you to bill your client for hourly usage of the product only.<br />
 +
In this tab you can also enable/disable Advanced Billing for product.<br />
 +
To disable it, simply unmark '' 'Enable' '' checkbox and press '' 'Save Changes' '' button, as shown on the following screen.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_9.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_9.png]]
 
|}
 
|}
 +
====Module Settings Tab====
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''10. Go to '' 'Setup' '' → '' 'Products/Services' '' '' 'Domains Pricing' ''.'''<br />
+
|style="padding: 10px 0px 15px 15px;"|''This tab is visible only for cPanel/cPanel Extended modules.''<br />
Add TLD, set pricing for it and choose automatic registrar you have just configured.
+
Here you can set Application Manager (Softaculous/Installatron) and cPanel theme. '' 'x3' '' is a theme's default value.<br />
 +
To use different theme simply enter its name as shown on the screen below.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_10.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_12.png]]
 
|}
 
|}
 +
====Used Resource Pricing====
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''11.  To generate registrar for your resellers, make sure that '' 'module_generator' '' folder has chmod set to '755' or '777'.'''<br />
+
|style="padding: 10px 0px 15px 15px;"|In the bottom part of the screen you can set up billing for specific server resource usage like e.g. bandwidth.<br />
Folder is located in '' 'your_whmcs/modules/addons/domainsReseller/pages/ ' ''.
+
*'''Free Limit''' - is used to set amount of usage records for which customer won't be charged.<br />
 +
In our example, customer won't be charged for 1GB (1024MB) bandwidth.<br />
 +
*'''Price''' - defines how much your client will have to pay for specific resource. Note that we provide two types of charging: units per hour and units used since last cron run.<br />
 +
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.<br />
 +
*'''Displayed Unit''' - category defines how record usage will be displayed. It does not affect free limit and pricing, they are calculated in basic unit.<br />
 +
If you select '' 'GB' '', free limit will be still 1024 MB, and price will be MB/hr, '''not''' GB/hr.<br />
 +
*'''Status''' - allows you to enable/disable billing for this resource.<br />
 +
To proceed, choose your usage records, units, status, set up the prices and free limits. Afterwards, press '' 'Save Changes' ''.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_11.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_13.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''12. Go to Domains Reseller addon and switch to '' 'Configuration' '' tab.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|As you could notice on the screen below, '' 'Configure' '' column has been added.<br />
Mark checkbox next to TLD you want to resell and press '' 'Save Changes' '' button.
+
It allows you to set up different free limits and pricing depending on resource origin.<br />
 +
Currently only Parallels Cloud Server submodule supports this feature.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_12.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_13_1.png]]
 
|}
 
|}
 
+
===Items===
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|'''13. In '' 'Module Generator' '' tab enter module name into textbox and press '' 'Generate Module' '' button.'''
+
|style="padding: 10px 0px 15px 15px;"|To view counted usage, go to '' 'Items' '' tab.<br />
 +
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.<br />
 +
In that way you can see current server resources usage from the last billing period.<br />
 +
Automatic generation of invoices is basing precisely on previously created items.<br />
 +
To view more details click on '' 'Show usage records' '' as shown on the following screen.<br />
 +
You can also easily remove billing for specific hosting. To do so, press '' 'x' '' in '' 'Delete' '' column.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_13.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_14.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''14. Downloading of the module you have just generated will start shortly.'''<br />
+
|style="padding: 0px 0px 20px 15px;"| After pressing 'Show usage records', you can learn some detailed information on Bandwidth, Storage, Domains and many others.
You can provide registrar module for your resellers in two ways, by sending them a file or a link to it.<br />
+
The link should appear right after the module has been generated.<br />
+
'''Important:''' Save the link and the installation instruction marked on the screen below, it will not appear again.<br />
+
''Note: You have to provide integration code (step 5. of installation instructions) to your resellers.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_14.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_15.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''15. Now you have to generate API key for your client. Go to '' 'API Users' '' tab.<br />
+
|style="padding: 0px 0px 15px 15px;"|In order to view the price for a specific element of the record, simply hover your mouse over it. <br />
Afterwards, press '' 'Generate API Key' '' next to the user you want to generate API key for.<br />
+
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.
Note that API key and the user's email are needed as credentials at the registrar module you have just generated.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_15.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_16.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|'''Your Domains Reseller module is ready to use!'''<br />
+
|style="padding: 0px 0px 15px 15px;"|In addition to the above information you can check when each cron was run.<br />
Your clients can use their registrars as soon as they install them on their WHMCS and '''add credits''' to their accounts in your WHMCS.
+
You can also order creation of invoice for product through pressing '' 'Bill On Demand' ''.<br />
 +
''Note: Bill on demand feature is not available for credit billing.''
 
|}
 
|}
 
==Module Installation - Reseller==
 
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|'''Below you can find instructions for installation of the registrar module on reseller WHMCS.'''
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_17.png]]
 
|}
 
|}
 +
===Awaiting Invoices===
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|'''1. Upload and extract the registrar module into your WHMCS.'''
+
|style="padding: 10px 0px 15px 15px;"|Here you can check your awaiting invoices. Invoices can be generated automatically and manually.<br />
 +
On the screen below you can see a previously generated invoice for our cPanel Extended account.<br />
 +
To view detailed information about particular invoice press '' 'Show' '' button.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_16.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_20.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''2. Enter integration code that you got from your provider.<br />
+
|style="padding: 0px 0px 15px 15px;"|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.<br />
Open '' 'additionaldomainfields.php' '' file located at '' 'includes/additionaldomainfields.php' ''.<br />
+
You already know that you can set up automatic invoice generation in configuration section. Now let's generate an invoice for your customer manually.<br />
Paste the code you received at the end of the file.
+
For this purpose simply click on '' 'Generate Invoice' ''.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_17.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_21.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|'''3. Go to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Domains Registrar' '', find the module you have just uploaded and press '' 'Activate' '' next to it.'''
+
|style="padding: 0px 0px 30px 15px;"|After changing product's package, invoice is automatically generated for an old package.
 
|}
 
|}
 +
===Settings===
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_18.png]]
+
|style="padding: 10px 0px 30px 15px;"|Under '' 'Settings' '' tab you can find pages such as logs and integration code.
 
|}
 
|}
 +
====Logs====
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''4. Now, press '' 'Configure' '' button, enter '' 'User Email' '' and '' 'API Key' '' provided along with module.'''<br />
+
|style="padding: 10px 0px 15px 15px;"|In '' 'Logs' '' you will find information about the module activity. You can view informative logs, error logs and critical logs.<br />
Afterwards, press '' 'Save Changes' ''.
+
Choose .log file from a dropdown menu and press '' 'Show' '' as presented on the screen below.<br />
 +
To remove a log simply press '' 'Delete' '' instead of '' 'Show' '' button.<br />
 +
New log files are created every day to help you find information you are looking for.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_19.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_18.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''5. To continue, go to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Domains Pricing' ''.'''<br />
+
|style="padding: 0px 0px 20px 15px;"|On the following screen you can see how '' 'infolog-YYYY-MM-DD.log' '' can look like.
Set up TLD your provider allows you to resell, select additional features, choose registrar you have just installed from a dropdown menu and save it through pressing '' 'Save Changes' ''.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_20.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_19.png]]
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|'''6. Afterwards, set pricing for your TLD. To do so, press '' 'Open Pricing' '' text.'''<br />
+
It will open in a new window, so make sure your browser will not block it.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:DR_21.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 20px 15px;"|'''7. Next, enter prices for specific actions. Press '' 'Save Changes' '' to confirm.'''
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:DR_22.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|'''8. Congratulations, you have just successfully installed your registrar!'''<br />
+
You can start using registrar as soon as you add credits to your account on provider WHMCS.<br />
+
If you order a domain using this registrar, you should see in your admin area something similar to the screen below.
+
|}
+
{|
+
|style="padding: 0px 0px 30px 25px;"|[[File:DR_23.png]]
+
 
|}
 
|}
  
=Configuration and Management=
+
====Integration Code====
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|'''Domains Reseller For WHMCS allows your customers to resell domains on their own WHMCS.'''
+
|style="padding: 10px 0px 15px 15px;"|'' 'Integration Code' '' page contains codes required to integrate Advanced Billing For WHMCS with your client area.<br />
 +
The first of them allows usage records and autoscaling related features to be displayed in the client area.<br />
 +
It is required for '' 'Autoscale' '' and '' 'Client Area Usage Records' '' extensions.<br />
 +
Placing the second one results in displaying prices on the order form.<br />
 +
'''Important: Edition of clientareaproductdetails.tpl for classic and portal templates goes a bit differently than shown on the screen below.'''<br />
 +
In this case place required code after this line:
 +
<nowiki><div align="center">{$moduleclientarea}</div></nowiki>
 
|}
 
|}
==Configuration==
 
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|'' 'Configuration' '' tab allows you to access general settings of your Domain Reseller API.
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_22.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_24.png]]
+
|style="padding: 0px 0px 15px 15px;"|Usage records in the client area. Note that disabled usage records will not be displayed.<br />
 +
''Note: To display usage records in the client area, you need to enable '' 'Usage Records' '' extension.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|We will describe these options below.<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_23.png]]
1. '' 'API Status'' ' - Enable/Disable Domains Reseller API.<br />
+
2. '' 'Restricted By IP Addresses' '' - Enable/Disable restricting connection to Domains Reseller API only for IP addresses specified in the '' 'Allowed IP Addresses' '' field.<br />
+
3. '' 'Allowed IP Addresses' '' - The list of IP addresses allowed to connect with Domains Reseller when '' 'Restrict IP Address' '' option is enabled.<br />
+
''Note: This option shows up only when  '''' 'Restrict IP Address' '' is enabled.<br />
+
4. '' 'Pay After Registration' '' - The list of resellers who are able to pay for a domain after its registration.<br />
+
5. '' 'Pay After Order' '' - The list of resellers who are able to pay for a domain after ordering it.<br />
+
6. '' 'Auto Disable API For New Users' '' - API will be disabled for newly created clients.<br />
+
7. '' 'Auto Generate API Key For New Users' '' - API Key will be generated automatically when client's account is created.<br />
+
8. '' 'SSL Connection' '' - You can define here, if connection with your API will use SSL or not. When you change it, you will need to generate a new registrars for your resellers.<br />
+
9. '' 'Refund' '' - Defines behaviour of the module upon unsuccessful domain registration.<br />
+
10. '' 'Low Credit Notification' '' - Notification to your client will be sent when credit balance on client's account falls below entered value.<br />
+
''Note 1: All changes should be saved, you can do it through pressing 'Save Changes' button.''<br />
+
''Note 2: To sent an email notification about low credit balance, create a template 'Low Credit Notification' of 'General' type.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_25.png]]
+
|style="padding: 0px 0px 20px 15px;"|Pricing on the order form. Note that disabled usage records will not be displayed.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|To restrict access to the Domains Reseller API by IP address, simply choose '' 'Enable' '' from '' 'Restrict IP Addresses' '' dropdown menu.<br />
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_24.png]]
New text field should appear, enter IP addresses you want to whitelist, one IP address per line.<br />
+
At the end, press '' 'Save Changes' '' button.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:DR_26.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|Last, but not least important thing you can do here is enabling TLD for resell.<br />
+
It can be done simply by ticking TLD and pressing '' 'Save Changes' ''.
+
|}
+
{|
+
|style="padding: 0px 0px 30px 25px;"|[[File:DR_27.png]]
+
|}
+
==API==
+
{|
+
|style="padding: 10px 0px 30px 15px;"|At the '' 'API' '' tab you can find a lot of information about Domains Reseller API, as well as generate and share API knowledgebase.
+
|}
+
===Introduction===
+
{|
+
|style="padding: 10px 0px 20px 15px;"|'' 'Introduction' '' subtab contains information about actions supported by the API.
+
|}
+
{|
+
|style="padding: 0px 0px 30px 25px;"|[[File:DR_28.png]]
+
|}
+
===Connection===
+
{|
+
|style="padding: 10px 0px 15px 15px;"|In this subtab you can read about request and response data format as well as authentication.<br />
+
You can also find URL to the API here.
+
|}
+
{|
+
|style="padding: 0px 0px 30px 25px;"|[[File:DR_29.png]]
+
 
|}
 
|}
  
===Examples===
+
==Extensions==
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|Here you can find sample API request and response.
+
|style="padding: 10px 0px 15px 15px;"|In this section we will describe each extension step by step.<br />
 +
'''Important:''' Only three of them are included in Advanced Billing For WHMCS product, the rest can be obtained separately.<br />
 +
Default extensions included into Advanced Bulling For WHMCS are '' 'Recurring Billing' '', '' 'Usage Records' '' and '' 'Credit Billing' ''.<br />
 +
Each extension is configured per product, therefore you can use different sets of extensions according to your needs.<br />
 +
To start using an extension, you need to activate it firstly, proceed to '' 'Settings' '' → '' 'Extensions' '' page.<br />
 +
Afterwards, press '' 'Activate' '' next to the extension you wish to use, new options will appear in Advanced Billing For WHMCS.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DR_30.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_50.png]]
 
|}
 
|}
===Knowledgebase===
 
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|'' 'Knowledgebase' '' subtab allows you to generate API knowledgebase for your resellers in your WHMCS client area and locate link to it (if already generated).
+
|style="padding: 0px 0px 15px 15px;"|If you skip steps 3-4 of the installation instruction, you have to configure the license for each of the 3 base extensions.<br />
 +
Note that each of them uses Advanced Billing license key.<br />
 +
Press '' 'Configure' '', paste your license and confirm changes.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_31.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_50_1.png]]
 
|}
 
|}
 +
===[http://www.modulesgarden.com/products/whmcs/autoscaling/features Autoscaling (Sold Separately)]===
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|When your clients follow a link to the knowledgebase they should see something similar to the screen below.
+
|style="padding: 10px 0px 15px 15px;"|The main functionality of Autoscale For WHMCS extension is automatic upgrade/downgrade of a product according to its usage.<br />
 +
For more information about Autoscale For WHMCS, visit its [http://www.docs.modulesgarden.com/Autoscaling_For_WHMCS Wiki].
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DR_32.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_51.png]]
|}
+
==API Users==
+
{|
+
|style="padding: 10px 0px 15px 15px;"|At the '' 'API Users' '' tab you can manage all aspects related to your resellers.<br />
+
For your convenience we also implemented filters, you can use them to find a specific user or a group of users.<br />
+
''Note: Remember to set default payment method for every reseller. It can be set up at client profile in 'Payment Method' dropdown menu.''
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:DR_33.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 20px 15px;"|You can set up IP restriction per client (1), assign a promotion code to a single user (2), generate a new key for them(3) or disable API for them (4).
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:DR_34.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 20px 15px;"|Our module also allows performing these actions for all clients at once.
+
|}
+
{|
+
|style="padding: 0px 0px 30px 25px;"|[[File:DR_35.png]]
+
|}
+
===IP Restriction===
+
{|
+
|style="padding: 10px 0px 15px 15px;"|Let's ensure, that specific clients are able to connect with Domains Reseller API only from defined IP addresses.<br />
+
Press '' 'IP Restriction' '', fill in IP address and press '' 'Save' ''.<br />
+
''Note: To add multiple IP addresses, press '' 'Add Field' ''.''
+
|}
+
{|
+
|style="padding: 0px 0px 30px 25px;"|[[File:DR_36.png]]
+
 
|}
 
|}
  
===Assigning Promotion Codes===
+
===Credit Billing===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|You can create and assign promotion codes to your users.<br />
+
|style="padding: 10px 0px 15px 15px;"|'' 'Credit Billing' '' extension allows you to charge for a product from client credit balance.
Firstly, go to '' 'Setup' '' '' 'Payments' '' '' 'Promotions' '' and press '' 'Create New Promotion' ''.
+
*'''Enable Credit Billing''' - this option enables/disables credit billing for this module (if credit billing is enabled, standard billing will be turned off).<br />
 +
*'''Create Invoices Each''' - this option defines how often invoice will be generated for this product (if nothing entered here, it will be 30 days).<br />
 +
*'''Minimum Credit''' - minimum amount that will be charged from client account credit balance.<br />
 +
*'''Low Credit Notify''' - if this value is higher than credits on client account, email to your client about low credit amount will be sent.<br />
 +
*'''Email Interval''' - defines how often low credit notification email will be sent.<br />
 +
*'''Autosuspend''' - when credit balance reaches 0, product ordered by client is automatically suspended and invoice with lacking amount is generated.<br />
 +
*'''Due Date''' - the number of days that your customers will have, to pay the invoice.<br />
 +
*'''Autorefill''' - if enabled, client's credit balance will be refilled from his credit card each time it became empty.<br />
 +
*'''Gateway''' - gateway used to charge client's credit card.<br />
 +
*'''Minimum Amount''' - minimum amount to charge from client's CC.<br />
 +
*'''Maximum Amount''' - maximum amount to charge from client's CC.<br />
 +
'''Note: Clients can define if they wish to use autorefill functionality as well as choose amount to refill in a single run.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_37.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_52.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Afterwards, press '' 'Auto Generate Code' '', select type from a dropdown menu, enter value and save through pressing '' 'Save Changes' ''.
+
|style="padding: 0px 0px 30px 15px;"|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.<br />
 +
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====
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_38.png]]
+
|style="padding: 10px 0px 15px 15px;"|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.<br />
 +
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.<br />
 +
The second column, '' 'Already Paid For Hosting' '' contains summary credit payment for hosting.<br />
 +
You can order refund of any hosting through pressing '' 'Refund' '' button next to it. Client will receive sum of '' 'Internal Credit' '' and '' 'Already Paid For Hosting' '' rounded down to 0.01.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Your promotion is ready to use, let's assign it to some user.<br />
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_53.png]]
Go to '' 'Addon' '' → '' 'Domains Reseller' '' → '' 'API User' '' and press '' 'Assign Promocode' '' next to the user you want to assign the promotion for.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:DR_39.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 20px 15px;"|Now select the previously created promotion and press '' 'Save Changes' ''.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:DR_40.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 20px 15px;"|You should see, that the promotion code appeared next to the client, as shown on the following screen.
+
|}
+
{|
+
|style="padding: 0px 0px 30px 25px;"|[[File:DR_41.png]]
+
 
|}
 
|}
  
==API Logs==
+
===Recurring Billing===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|You can display the logs of requests to the API. As well as responses to these requests and information about who sent the request to the API.<br />
+
|style="padding: 10px 0px 15px 15px;"|This extension allows you to set up recurring billing for product.<br />
You can find the desired log using filters. Fields left empty will not be considered during the search.
+
|}
+
{|
+
|style="padding: 0px 0px 30px 25px;"|[[File:DR_42.png]]
+
|}
+
==Module Generator==
+
{|
+
|style="padding: 10px 0px 15px 15px;"|Rebranding registrar module has never been easier. With our generator all you have to do is fill in its name and press '' 'Generate Module' ''.<br />
+
''Note: You can generate registrar module both for WHMCS and HostBill systems.''
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:DR_43.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|As soon as you do that, the module will be generated. Save the link to it and copy installation instructions.<br />
+
'''Important:''' As soon as the new module is generated, integration code for it will appear as the 5th step of installation instruction<br />
+
It is crucial to save the code and deliver it to resellers in installation instructions along with the link to the module.
+
|}
+
{|
+
|style="padding: 0px 0px 30px 25px;"|[[File:DR_44.png]]
+
|}
+
  
==Response Templates==
+
*'''Enable Recurring Billing''' - check to enable this billing type.<br />
{|
+
*'''Bill on Terminate''' - when account connected with your module is terminated, invoice for account will be generated.<br />
|style="padding: 10px 0px 15px 15px;"|In '' 'Response Templates' '' section you may add and edit new templates with text messages/information that are sent to clients instead of defined here system responses.<br/>  
+
*'''Bill Type''' - enables you to choose how to bill your client.<br />
In order to add a new response template press '' Add '' button and then follow the below instructions.
+
**'''Bill on Invoice Generate''' - customer will receive an invoice at the same time as the invoice for their hosting account.<br />
 +
**'''Bill On Specific Day''' - will generate invoices each month on the day specified in the '''Billing Type Value'''.<br />
 +
**'''Bill Each X Days''' - as its name suggests, it generates invoice each X days where X is a number specified in '''Billing Type Value''' field.<br />
 +
*'''Due Date''' - the number of days in which your customers will have to pay the invoice.<br />
 +
*'''Autogenerate Invoice''' - an important feature which if enabled, automatically sends previously generated invoices directly to your customers.<br />
 +
*'''Auto Apply Credits''' - automatically applies any available credits when invoice is created, works only if '' 'Autogenerate Invoice' '' is enabled.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_56.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_54.png]]
 
|}
 
|}
 +
===Usage Records===
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Provide the pattern for search and replace in the system response depending on the type.<br>  
+
|style="padding: 10px 0px 15px 15px;"|This extension displays usage records and usage records history in the client area products page.<br />
*For '''Text''' type, simply provide a string like '' 'Error Response'. ''<br/>
+
To use it, besides enabling in, you need to place an integration code.<br />
*For '''Regular Expression''' type, you need to provide a regular expression which will be replaced.<br/> ''For example, if you want to replace any dollar price in the response provide'' '\$\d+\.\d+', ''in this case it will replace strings like'' '$8.25'.<br/>
+
This extension is configured per product, proceed to the product configuration in Advanced Billing.<br />
*If you want to replace '''any response,''' simply type '.+' in here.
+
As you can see, new tab is available here.
 +
*'''Enable''' - enables usage records being displayed for that product in the client area.
 +
*'''Display Summary From''' - defines period from which usage records will be counted.
 +
*'''Usage Records Precision''' - defines precision of usage records
 +
*'''Show Usage Records''' - displays history of usage records.
 +
*'''Usage Records Per Page''' - defines how many usage records should be displayed per page.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_57.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_55.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|In he second step '''Replace With''' you need to enter a text message that will be sent to a client when the above entered pattern is found.<br/> The two messages will be replaced with one another.
+
|style="padding: 0px 0px 20px 15px;"|On the following screen you can see a sample of usage records and usage records history in the client area.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_58.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_56.png]]
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|Finally,
+
*define '''Priority''':<br>
+
''Higher number means higher priority. Please note that only the first occurrence with the highest priority will be replaced.<br/> It means that if there are 2 patterns found with priority 20 and 10, only pattern with priority 20 will be replaced.''<br/>
+
*choose '' 'Text' '' or '' 'Regular Expression' '' from '''Type''' dropdown menu<br/> 
+
''It will specify if provided text in the first field should be treated as a text or a regular expression while searching for a pattern.''
+
*''' Registrar Action''' -'' must be chosen from dropdown menu as well to specify upon which action provided patterns will be searched for.''
+
Remember, to finish successfully you need to press '' 'Add' '' button.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:DR_59.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|Now you can see a newly configured response is visible on the list. You may edit the added response or remove it any time you need.<br/> Just use action buttons marked on the screen.
+
|}
+
{|
+
|style="padding: 0px 0px 30px 25px;"|[[File:DR_60.png]]
+
 
|}
 
|}
  
==Documentation==
+
==Hourly Billing==
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|This tab is a hyperlink. It leads to Domains Reseller For WHMCS Wiki article you are currently reading.
+
|style="padding: 10px 0px 15px 15px;"|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' '').<br />
 +
You can enable hourly billing for any product type.<br />
 +
Regardless of whether it is a server, web hosting account or other, customer will be billed for each hour of using the product.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DR_45.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_29.png]]
|}
+
==Email To Reseller==
+
{|
+
|style="padding: 10px 0px 30px 15px;"|Email to your reseller should consist of:<br />
+
1. Registrar module you generated or link to its download.<br />
+
2. Installation instructions (with integration code).<br />
+
3. Connection credentials (user API key and email).
+
 
|}
 
|}
  
==Provider Client Area==
+
==Ticket Billing==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Resellers can manage API connection credentials directly from the provider WHMCS client area.<br />
+
|style="padding: 10px 0px 15px 15px;"|Ticket billing works exactly as it sounds. When enabled, it bills your customers for each opened ticket.<br />
Go to '' 'Domains' '' → '' 'Reseller Registrar Credentials' '' to access them.
+
As in the case of hourly billing, you can enable ticket billing for any product type.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_46.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_30.png]]
 
|}
 
|}
 +
==Sample Configuration==
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|As you can see, you can find all the information linked with your registrar.<br />
+
|style="padding: 10px 0px 30px 15px;"|In this section we will show you two samples of configuration of Advanced Billing.
To view your API key, press '' 'Show' '' button.
+
 
|}
 
|}
 +
===Two Weeks Billing===
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_47.png]]
+
|style="padding: 10px 0px 15px 15px;"|In order to set up generating invoice for resource usage each 2 weeks, follow this steps:<br />
 +
1. Go to '' 'Addons' '' → '' 'Advanced Billing' '' and select your product from '' 'Enable Advanced Billing for:' ''.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|If your API key was exposed, generate a new one through pressing '' 'Generate Key' ''.
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_31.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DR_48.png]]
+
|style="padding: 0px 0px 15px 15px;"|2. Go to '' 'Recurring Billing' '', mark '' 'Enable' '' and '' 'Bill on Terminate' '' checkboxes.<br />
 +
Additionally, choose '' 'Bill Every X Days' '' from '' 'Billing Type' '' dropdown menu and enter '' '14' '' into the '' 'Billing Type Value' '' textbox.
 
|}
 
|}
 
==End User Client Area==
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Domains Reseller registrar module allows an end user to register, transfer and renew domain.<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_32.png]]
Client can also manage private nameservers (1),  enable/disable ID protection (2), modify contact information (3), manage DNS records (4) and  set up email forwarding (5).
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_49.png]]
+
|style="padding: 0px 0px 15px 15px;"|3. Scroll down and enter your pricing settings.<br />
 +
Afterwards, press '' 'Save Changes' ''.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|At the '' 'Register Nameservers' '' (1) you can manage your custom nameservers.
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_33.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_50.png]]
+
|style="padding: 0px 0px 15px 15px;"|You have just successfully configured billing!<br />
 +
You should see something like on screen below in your Advanced Billing main page.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|To enable/disable ID protection (2), proceed to the '' 'Addons' '' subtab.
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_34.png]]
 
|}
 
|}
 +
 +
===20$ Billing===
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_51.png]]
+
|style="padding: 10px 0px 15px 15px;"|To bill your client as often as possible follow these steps:<br />
 +
1.Go to '' 'Addons' '' → '' 'Advanced Billing' '' and select your product from '' 'Enable Advanced Billing for:' ''.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|At '' 'Contact Information' '' (3) you can decide which contact information use: yours, your contact or custom information.
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_35.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_52.png]]
+
|style="padding: 0px 0px 15px 15px;"|2. Go to '' 'Credit Billing' '' and mark '' 'Enable' '' and '' 'Enable Credit Pay' '' checkboxes.<br />
 +
Afterwards, enter '' '1' '' into '' 'Create Invoices Each'' ', ' ''20' '' into '' 'Minimum Credit' '' and '' '50' '' into '' 'Low Credit Notify' ''.<br />
 +
With these settings your client will be billed from credit balance as soon as the payment for resource usage reach 20$.<br />
 +
They will also receive an email if their credit balance falls below 50$.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'' 'Manage DNS' '' (4) allows you to manage your DNS records.<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_36.png]]
On the following screen you can find information '' 'Function Not Supported by Registrar Module' '', it informs you that the registrar module used at the Provider WHMCS does not support this feature.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_53.png]]
+
|style="padding: 0px 0px 20px 15px;"|3. Scroll down and enter your pricing settings, afterwards, press '' 'Save Changes' ''.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|At the '' 'Manage Email Forwards' '' (5) you can redirect your emails to another domain.
+
|style="padding: 0px 0px 20px 25px;"|[[File:AB2_37.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:DR_54.png]]
+
|style="padding: 0px 0px 15px 15px;"|You have just successfully configured billing!<br />
 +
In your Advanced Billing '' 'Configuration' '' tab you should see something similar to the following screen.
 
|}
 
|}
==Workflow==
 
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|In this section we will present to you a sample workflow of the module.<br />
+
|style="padding: 0px 0px 30px 25px;"|[[File:AB2_38.png]]
In a basic workflow 3 characters take part:<br />
+
'''Provider''' – a person with Domains Reseller For WHMCS installed in their system.<br />
+
'''Reseller''' - a person with a client account in the provider's WHMCS system.<br />
+
Additionally, the reseller has its own system with registrar generated by Domains Reseller For WHMCS.<br />
+
'''End-Customer''' – a person with a client account in the Reseller's system.<br />
+
<br />
+
Additionally, there also must be a product, which in this case will be domain 'sample.com' .<br />
+
<br />
+
'''Provider Part'''<br />
+
Let's start from the beginning. Provider installs Domains Reseller For WHMCS in the system.<br />
+
He or she already has a few TLDs in the offer and wishes to allow the reseller to offer them from their systems.<br />
+
Now, the provider configures Domains Reseller For WHMCS through enabling its API and enabling .com TLD for API.<br />
+
Afterwards, he or she proceeds to API Users, enables Reseller and generates API key for them.<br />
+
Additionally, he or she assigns a 10% discount for Reseller under API Users tab.<br />
+
'''Reseller'''<br />
+
From this moment, Reseller is able to access API details from the client account in the Reseller area.<br />
+
Additionally, he or she receives an email form the Provider with registrar module and instruction on how to install it .<br />
+
Reseller installs the registrar in the system according to the instruction received.<br />
+
He or she also sets up .com TLD in the system and assigns the previously installed registrar to it.<br />
+
Now, there is one step that separates them from offering the domain from their system.<br />
+
Reseller top-up his credit balance in the provider system.<br />
+
Provider creates an invoice for the Reseller, the Reseller pays the invoice and then again the Provider manually adds the same amount to Reseller's credit balance.<br />
+
Form now on, any .com domain can be ordered.<br />
+
'''End-Customer'''<br />
+
End-Customer orders 'sample.com' domain from his or her client area in the Reseller system.<br />
+
They are now able to fully manage the domain.<br />
+
<br />
+
'''Last Word About Payment'''<br />
+
Payment goes to the Reseller while, during registration process, credits from Reseller balance are withdrawn.<br />
+
It is worth mentioning that the amount a customer paid is defined by a Reseller.<br />
+
Credits withdrawn are equal to a domain price in the Provider system minus the promocode assigned to the Reseller.<br />
+
 
|}
 
|}
==Extended TLDs Management - Integration With [http://www.docs.modulesgarden.com/Domain_Orders_Extended_For_WHMCS Domain Orders Extended For WHMCS]==
+
 
 +
==How To Update==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Owing to the integration with Domain Orders Extended For WHMCS, the management of multiple TLDs and offering them to your resellers is even easier!<br />
+
|style="padding: 10px 0px 30px 15px;"|In order to upgrade, simply copy the files, any additional operation will be made automatically.
We will show the exemplary workflow of such an integration.<br />
+
Install one of gTLD groups at the Domain Orders Extended For WHMCS.
+
 
|}
 
|}
 +
 +
=Tips=
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_54_1.png]]
+
|style="padding: 10px 0px 5px 15px;"|'''1. Deactivation of the module removes products' configuration, usage records and awaiting invoices.'''<br />
 +
In order to update the module, simply follow instruction in '' 'How To Update' '' .
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Use grouping by categories to select all TLDs from a previously created '' 'Business' '' group and press '' 'Bulk Set Pricing' ''.
+
|style="padding: 0px 0px 10px 15px;"|2. '' 'Installed Applications' '' usage record supports both Softaculous and Installatron.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_54_2.png]]
+
|style="padding: 0px 0px 10px 15px;"|3. You can set up as many products as you want.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Next step is setting up pricing. We are still using Domain Orders Extended For WHMCS.<br />
+
|style="padding: 0px 0px 30px 15px;"|4. If your client uses currency that is not WHMCS base currency (for example, WHMCS base currency is €, while client uses $):
On the following screen we are copying pricing from a previously created TLD.<br />
+
An invoice for such client will be generated in the chosen currency, while usage record and calculation in Advanced Billing will use base currency.
You can find more information about the pricing in Domain Orders Extended For WHMCS [http://www.docs.modulesgarden.com/Domain_Orders_Extended_For_WHMCS#Pricing here].
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:DR_54_3.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|Select all TLDs the same way you did earlier and press '' 'Bulk Registrar Change' ''.<br />
+
Afterwards, select a registrar which can provision gTLDs domains and press '' 'Update Registrars' ''.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:DR_54_4.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|Now, enable previously configured TLDs at your Domains Reseller → '' 'Configuration' '' tab.<br />
+
TLDs are ready to be offered by your resellers.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:DR_54_5.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|One of your reseller also own Domain Orders Extended For WHMCS, he can quickly update his offer by installing the same gTLD category.<br />
+
Afterwards, he can set up pricing and assign them to use Domains Reseller For WHMCS registrar module generated by you in the same way you did.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:DR_54_6.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 20px 15px;"|Additionally, his offer is more client-friendly due to the custom Domain Orders Extended domain registration form.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:DR_54_7.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|There is also no problem for resellers who do not own Domain Orders Extended.<br />
+
However they have to add and set up each TLD separately at the '' 'Setup' '' → '' 'Products/Services' '' → '' 'Domain Pricing' '', which may be time consuming.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:DR_54_8.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 30px 15px;"|As you saw, an integrating of Domains Resellers For WHMCS and Domain Orders Extended For WHMCS allows you to offer vast array of TLDs with ease.<br />
+
Your resellers can also benefit from such an integration, beside management of the TLDs, they end clients can benefit from user-friendly domain order form as well as domain spinner.<br />
+
All of this breed yours and your resellers' income to increase even more!
+
 
|}
 
|}
  
=Tips=
+
=Common Problems=
 
{|
 
{|
|style="padding: 10px 0px 0px 15px;"|1. If you forget to save the link to the registrar module you generated or integration code for it, do not worry, there is a way!<br />
+
|style="padding: 10px 0px 5px 15px;"|1. When you see an error message as shown on the screen below, that means your '' 'cron' '' directory privileges are insufficient.<br />
Simply generate the module with the same name and save what you forgot to save the last time.
+
To fix this, allow <strong>Read</strong> permissions to directory. In most cases chmod 755 solves the problem.
 
|}
 
|}
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|2. If your reseller gets an error '' 'Unable to register domain, please contact administration (license problem).' '', that means your license is invalid or expired.
+
|style="padding: 0px 0px 10px 25px;"|[[File:AB2_39.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:DR_55.png]]
+
|style="padding: 0px 0px 10px 15px;"|2. When you have problems with connection, check whether your SELinux or firewall does not block ports.
|}
+
{|
+
|style="padding: 0px 0px 20px 15px;"|3. Make sure that you are not blocking access to the '' 'domainsResellerAPI' '' catalog by your '' '.htaccess' '' file.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 15px;"|4. Domains Reseller For WHMCS enables you to resell your domains not only to WHMCS and HostBill systems.<br />
+
You are able to easily prepare registrar module for any system (Blesta, Clientexec, BoxBilling and many more) using Domains Reseller For WHMCS API.<br />
+
All you need is knowledge of for example PHP programming language and [[#Knowledgebase|knowledgebase]] of our module's API.
+
|}
+
 
+
=Common Problems=
+
{|
+
|style="padding: 10px 0px 10px 15px;"|'''1. When you have problems with connection, check whether your SELinux or firewall does not block ports.'''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|2. Error '' 'Function Not Supported by Registrar Module' '' means that registrar on main WHMCS does not support the operation you were trying to do.
+
|style="padding: 0px 0px 30px 15px;"|3. You are unable to find specified line in clientareaproductdetails.tpl.<br />
 +
''Cause 1:'' You are using Classic or Portal template.<br />
 +
''Solution 1:'' In this case place required code after this line:
 +
<nowiki><div align="center">{$moduleclientarea}</div></nowiki><br />
 +
''Cause 2:'' You are using heavily customized template.<br />
 +
''Solution 2:''  Create a ticket and one of our specialists will help you set up the module.
 
|}
 
|}

Revision as of 14:09, 13 January 2016

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.
The module will also automatically generate invoices on the basis of the data gathered by the synchronization. It is integrated with many modules including cPanel and SolusVM.

  • 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
✔ 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
  • 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 WHMCS 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.
AB2 1.png
2. Upload and extract the module into the main WHMCS directory.

Files in your WHMCS directory should look like this.

AB2 2.png
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' .
Afterwards find 'Advanced Billing' and press 'Activate' button.

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.
First, choose your module from 'Enable Advanced Billing for' dropdown menu as it is shown on the following screen.
For presentation purposes we have chosen 'cPanel Premium' with cPanel Extended module.

AB2 8.png

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.
In this tab you can also enable/disable Advanced Billing for product.
To disable it, simply unmark 'Enable' checkbox and press 'Save Changes' button, as shown on the following screen.

AB2 9.png

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.
To use different theme simply enter its name as shown on the screen below.

AB2 12.png

Used Resource Pricing

In the bottom part of the screen you can set up billing for specific server resource usage like e.g. bandwidth.
  • Free Limit - is used to set amount of usage records for which customer won't be charged.

In our example, customer won't be charged for 1GB (1024MB) bandwidth.

  • Price - defines how much your client will have to pay for specific resource. Note that we provide two types of charging: units per hour and units used since last cron run.

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.

  • Displayed Unit - category defines how record usage will be displayed. It does not affect free limit and pricing, they are calculated in basic unit.

If you select 'GB' , free limit will be still 1024 MB, and price will be MB/hr, not GB/hr.

  • Status - allows you to enable/disable billing for this resource.

To proceed, choose your usage records, units, status, set up the prices and free limits. Afterwards, press 'Save Changes' .

AB2 13.png
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.
Currently only Parallels Cloud Server submodule supports this feature.

AB2 13 1.png

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.
In that way you can see current server resources usage from the last billing period.
Automatic generation of invoices is basing precisely on previously created items.
To view more details click on 'Show usage records' as shown on the following screen.
You can also easily remove billing for specific hosting. To do so, press 'x' in 'Delete' column.

AB2 14.png
After pressing 'Show usage records', you can learn some detailed information on Bandwidth, Storage, Domains and many others.
AB2 15.png
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.

AB2 16.png
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' .
Note: Bill on demand feature is not available for credit billing.

AB2 17.png

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.
To view detailed information about particular invoice press 'Show' button.

AB2 20.png
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.
For this purpose simply click on 'Generate Invoice' .

AB2 21.png
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.
To remove a log simply press 'Delete' instead of 'Show' button.
New log files are created every day to help you find information you are looking for.

AB2 18.png
On the following screen you can see how 'infolog-YYYY-MM-DD.log' can look like.
AB2 19.png

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.
It is required for 'Autoscale' and 'Client Area Usage Records' extensions.
Placing the second one results in displaying prices on the order form.
Important: Edition of clientareaproductdetails.tpl for classic and portal templates goes a bit differently than shown on the screen below.
In this case place required code after this line:

<div align="center">{$moduleclientarea}</div>
AB2 22.png
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.

AB2 23.png
Pricing on the order form. Note that disabled usage records will not be displayed.
AB2 24.png

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.
Default extensions included into Advanced Bulling For WHMCS are 'Recurring Billing' , 'Usage Records' and 'Credit Billing' .
Each extension is configured per product, therefore you can use different sets of extensions according to your needs.
To start using an extension, you need to activate it firstly, proceed to 'Settings' 'Extensions' page.
Afterwards, press 'Activate' next to the extension you wish to use, new options will appear in Advanced Billing For WHMCS.

AB2 50.png
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.
Press 'Configure' , paste your license and confirm changes.

AB2 50 1.png

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.

AB2 51.png

Credit Billing

'Credit Billing' extension allows you to charge for a product from client credit balance.
  • Enable Credit Billing - this option enables/disables credit billing for this module (if credit billing is enabled, standard billing will be turned off).
  • Create Invoices Each - this option defines how often invoice will be generated for this product (if nothing entered here, it will be 30 days).
  • Minimum Credit - minimum amount that will be charged from client account credit balance.
  • Low Credit Notify - if this value is higher than credits on client account, email to your client about low credit amount will be sent.
  • Email Interval - defines how often low credit notification email will be sent.
  • Autosuspend - when credit balance reaches 0, product ordered by client is automatically suspended and invoice with lacking amount is generated.
  • Due Date - the number of days that your customers will have, to pay the invoice.
  • Autorefill - if enabled, client's credit balance will be refilled from his credit card each time it became empty.
  • Gateway - gateway used to charge client's credit card.
  • Minimum Amount - minimum amount to charge from client's CC.
  • Maximum Amount - maximum amount to charge from client's CC.

'Note: Clients can define if they wish to use autorefill functionality as well as choose amount to refill in a single run.

AB2 52.png
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.
The second column, 'Already Paid For Hosting' contains summary credit payment for hosting.
You can order refund of any hosting through pressing 'Refund' button next to it. Client will receive sum of 'Internal Credit' and 'Already Paid For Hosting' rounded down to 0.01.

AB2 53.png

Recurring Billing

This extension allows you to set up recurring billing for product.
  • Enable Recurring Billing - check to enable this billing type.
  • Bill on Terminate - when account connected with your module is terminated, invoice for account will be generated.
  • Bill Type - enables you to choose how to bill your client.
    • Bill on Invoice Generate - customer will receive an invoice at the same time as the invoice for their hosting account.
    • Bill On Specific Day - will generate invoices each month on the day specified in the Billing Type Value.
    • Bill Each X Days - as its name suggests, it generates invoice each X days where X is a number specified in Billing Type Value field.
  • Due Date - the number of days in which your customers will have to pay the invoice.
  • Autogenerate Invoice - an important feature which if enabled, automatically sends previously generated invoices directly to your customers.
  • Auto Apply Credits - automatically applies any available credits when invoice is created, works only if 'Autogenerate Invoice' is enabled.
AB2 54.png

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.
This extension is configured per product, proceed to the product configuration in Advanced Billing.
As you can see, new tab is available here.

  • Enable - enables usage records being displayed for that product in the client area.
  • Display Summary From - defines period from which usage records will be counted.
  • Usage Records Precision - defines precision of usage records
  • Show Usage Records - displays history of usage records.
  • Usage Records Per Page - defines how many usage records should be displayed per page.
AB2 55.png
On the following screen you can see a sample of usage records and usage records history in the client area.
AB2 56.png

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.
Regardless of whether it is a server, web hosting account or other, customer will be billed for each hour of using the product.

AB2 29.png

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.

AB2 30.png

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:' .

AB2 31.png
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.

AB2 32.png
3. Scroll down and enter your pricing settings.

Afterwards, press 'Save Changes' .

AB2 33.png
You have just successfully configured billing!

You should see something like on screen below in your Advanced Billing main page.

AB2 34.png

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:' .

AB2 35.png
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' .
With these settings your client will be billed from credit balance as soon as the payment for resource usage reach 20$.
They will also receive an email if their credit balance falls below 50$.

AB2 36.png
3. Scroll down and enter your pricing settings, afterwards, press 'Save Changes' .
AB2 37.png
You have just successfully configured billing!

In your Advanced Billing 'Configuration' tab you should see something similar to the following screen.

AB2 38.png

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.

AB2 39.png
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.
Solution 1: In this case place required code after this line:

<div align="center">{$moduleclientarea}</div>

Cause 2: You are using heavily customized template.
Solution 2: Create a ticket and one of our specialists will help you set up the module.

Navigation
WHMCS Modules
WHMCS Widgets
Tools And Applications
Translations
General
FAQ
Community