How to configure WHMCS
In this how-to tutorial, we will show you how to configure your WHMCS in order to use it as a web hosting billing system in a few steps.
Step 1: Login to the Admin Area and configure your General Settings (Setup > General Settings)
The first step will be to configure your WHMCS General Settings. This can be done when you log in to your admin section of the WHMCS and go to the Setup >> General Settings. In this menu you will find a couple of options : General, Localisation, Ordering, Domains, Mail, Support, Invoices, Credits, Affiliates and Others section. In the General section you can do the following changes:
Company Name - Your Company Name as you want it to appear throughout the system
Email Address - The default sender email address used for messages sent by WHMCS
Domain - The domain of your main website, eg. https://www.yourdomain.com/
Logo URL - Enter your logo to display it in email messages, leave blank for none
Pay To Text - This text is displayed on the invoice as the Pay To details
WHMCS System URL - URL of the WHMCS installation, eg. https://www.yourdomain.com/billing/
WHMCS SSL System URL - URL of the WHMCS installation for secure access, eg. https://www.yourdomain.com/billing/ (leave blank for no SSL)
Template - The template you want WHMCS to use
Limit Activity Log - The Number of Activity Log Entries you wish to keep
Records to Display per Page - the number of records you will see on a page (for example when listing your clients)
Maintenance Mode - Tick to enable - prevents client area access when enabled
Maintenance Mode Message - This is the message that the clients will see in Maintenance mode.
In the Localisation section you can do the following changes:
System Charset - change the encoding (Default: utf-8)
Date Format - The format you want WHMCS to use to display dates
Default Country - select the default country for the system
Default Language - select the default language of the system
Enable Language Menu - Allow users to change the language of the system
In the Ordering section you can do the following changes:
Order Days Grace - The number of days to allow for payment of an order before being overdue
Default Order Form Template - Web20cart, Singlepage, Default, Boxes, Cart (select the type of the order form)
Enable TOS Acceptance - If ticked, clients must agree to your Terms of Service
Terms of Service URL - The URL to your Terms of Service page on your site (eg. https://www.yourdomain.com/tos.html)
Auto Redirect on Checkout - Select the place to which the client is redirected after the invoice is checked out.
Allow Notes on Checkout - Tick this box to show a field on the order form where the user can enter notes/instructions for admins.
Monthly Pricing Breakdown - Tick this box to enable monthly pricing breakdown for recurring terms on the order form
Block Existing Domains - Tick this box to prevent orders being placed for domains already in your system
Skip Fraud Check for Existing - Tick this box to skip the fraud check for existing clients who already have an active order
In the Mail section you can do the following changes:
Mail Type - This option allows you to set the settings though which WHMCS is sending mails.
The two options are PHP mail and SMTP mail. If you decide to use SMTP mail you will need to enter details for SMTP Server , SMTP Username and SMTP Password. Please note through that as you will have to use your account details for SMTP mail it is advisable and more secure to use PHP mail.
The options bellow should be filled only if you choose to use SMTP mail for the system mails.
SMTP Port - The port your mail server uses
SMTP Host
SMTP Username
SMTP Password
SMTP SSL
Mail Signature - You can add mail signatures to the system mails here.
Email CSS Code - You can add CSS to your system mails if you want.
System Emails From Name - the name of the sender of the system mails.
System Emails From Email - the From field of your system messages can be set here.
BCC Messages - If you want copies of all emails sent by the system sent to an address of yours enter the address here. You may enter multiple addresses seperated by a comma (,)
Presales Form Destination and Presales Contact Form Email - here you can select specific e-mail for the departments in your company dealing with persales questions.
In the Support section you can do the following changes :
Support Module - select the support module of the software. By default it is using the build in WHMCS support module.
Ticket Reply List Order - Select the ticket arrangement depending from the date and time of arrival.
Client Tickets Require Login - Require login by the owning client for viewing tickets assigned to a client
Knowledgebase Suggestions - Show suggested KB articles to a user as they enter a support ticket message
Support Ticket Rating - Allow users to rate support ticket replies from staff
Allowed File Attachment Types - Seperate multiple extensions with a comma (the default ones are .jpg,.gif,.jpeg,.png)
Network Issues Require Login - Require login to view the network issues page
In the Support section you can do the following changes :
Support Module - select the support module of the software. By default it is using the build in WHMCS support module.
Ticket Reply List Order - Select the ticket arrangement depending from the date and time of arrival.
Client Tickets Require Login - Require login by the owning client for viewing tickets assigned to a client
Knowledgebase Suggestions - Show suggested KB articles to a user as they enter a support ticket message
Support Ticket Rating - Allow users to rate support ticket replies from staff
Allowed File Attachment Types - Seperate multiple extensions with a comma (the default ones are .jpg,.gif,.jpeg,.png)
Network Issues Require Login - Require login to view the network issues page
In the Invoices section you can do the following changes:
Continuous Invoice Generation - Tick this box to enable continuous invoice generation . If enabled, invoices will be generated on each cycle even if the previous invoice remains unpaid. If disabled, when an invoice is not paid, no further invoices will be generated for that item.
Invoice Starting # - You should only enter this if you want to change the invoice starting number .The number you enter here must be greater than the last generated invoice # which is 0 by default.
Invoice # Incrementation - Enter the difference you want between invoice numbers generated by the system (Default: 1)
Enable PDF Invoices - Tick to send PDF versions of invoices along with invoice emails
Clients Choose Gateway - Tick to allow clients to choose the gateway they pay with
Sequential Paid Invoice Numbering - Tick this box to enable automatic sequential numbering of paid invoices
Sequential Invoice Number Format - Enter the format for the paid invoice numbers eg. WHMCS2007-{NUMBER}
Next Paid Invoice Number - Only change this if you need to regenerate an invoice number
Late Fee Type - Choose weather the fee to be percentage or fixed amount.
Late Fee Amount - Enter the amount (percentage or monetary value) to add onto late invoices (set to 0 to disable)
Accepted Credit Card Types - Use Ctrl+Click to select Multiple Card Types
Issue Number/Start Date - Tick to show these fields for credit card payments
In the Credits section you can do the following changes:
Enable/Disable - Tick this box to enable adding of funds by clients from the client area
Minimum Deposit - Enter the minimum amount a client can add in a single transaction
Maximum Deposit - Enter the maximum amount a client can add in a single transaction
Maximum Balance - Enter the maximum balance that a client can add in credit
In the Affiliates section you can do the following changes:
Enable/Disable - Tick this box to enable the affiliate system
Affiliate Earning Percentage - Enter the percentage of each payment you want affiliates to receive
Affiliate Bonus Deposit - Enter the amount you want affiliates to receive in their account after signing up
Affiliate Payout Amount - Enter the minimum amount affiliates have to reach before making a withdrawal
Affiliate Commission Delay - Enter the number of days to delay commission payments - then only pays if account is still active
Affiliate Links - Enter [AffiliateLinkCode] where the affiliate's customised link code should be inserted
Use <( for open brackets and )> for close brackets in HTML or else the HTML will be executed on the page.
In the Others section you can do the following changes :
Captcha Form Protection - Select if Captcha is going to be used on your log in page
KB SEO Friendly URLs - Tick to enable SEO friendly urls (Requires renaming the htaccess.txt file to .htaccess in the directory where the script is installed)
Allow Client Registration - Tick this box to allow registration without ordering any products/services
Show Cancellation Link - Tick this box to show the cancellation request option in the client area for products
Monthly Affiliate Reports - Tick this box to send Monthly Referrals Reports to Affiliates on the 1st of each month
Client Details Change Notify - Tick this box to send an email notification to admins on user details change
Exceeding Invalid Login Attempts Ban Time - Enter the time in minutes for the ban after exceeding 3 invalid login attempts (Set to 0 to disable)
Credit On Downgrade - Tick this box to provide a prorata refund to clients when downgrading for unused time
Client Dropdown Format - Select the information that is displayed about the clients.
Disable Full Client Dropdown - Tick this box to disable the list of clients at the top of the profile pages (recomended for peformance on large databases)
Required Password Strength - Enter the required password strength from 1 to 100 - Enter 0 to Disable
API IP Access Restriction - Enter the IPs allowed to connect to the API, one per line.
Step 2: Setup your Payment Gateways (Setup > Payment Gateways)
This is where you configure all the payment gateways you want the system to use.
Here is the list of the Payment Gateways that the system supports:
- PayPal
- Payflow Pro
- PayPal Pro
- Authorize.net
- BluePay
- Quantum Gateway
- eWay
- ChronoPay
- eProcessingNetwork
- 2CheckOut
- Google CheckOut
- LinkPoint
- SecPay
- ProtX
- PSIGate
- WorldPay
- E-Gold
- NaviGate
- CyberBit
- F2B
- NoChex
- CCAvenue
- AlertPay
- Merchant Partners
- Paymex
- CashU
- StormPay
- Paymate AU & NZ
- Payson
- PagSeguro
- Boleto
- MoneyBookers
- Mail In Payment
- Bank Transfer
- Offline Credit Card
For this tutorial we will setup the PayPal payment Gateway. When you select PayPal from the Activate Gateway menu you will have the following options:
Show on Order Form - Required, so the clients will be able to choose PayPal as payment method.
Visible Name - The name of the PayPal payment option.
PayPal Email - Your PayPal e-mail that will be used to gather the payments of the clients.
Force One Time Payments - Never show the subscription payment button
Force Subscriptions - Hide the one time payment button when a subscription can be created
Modify Subscriptions - Allows subscribers to modify their current subscriptions or sign up for new ones
API Username API Password and API Signature - API fields only required for refunds
(You need to enable IPN in your account and set the URL to https://website.com/billing)
Step 3: Setup your Servers (Setup > Server)
This is where you configure all your servers so that WHMCS can communicate with them. It is one of the most important parts of this menu, because here you actually connect your account from the server to your WHMCS. The default server for each server group type is marked with an asterisk *. To change the default server, simply click on the new server name that you would like to make the default. You must select a default server for automatic setup to function correctly.
You can add server from the Options: Add New Server link . The available options there are :
Name: The name you wish the server to be registered in the WHMCS
Hostname: A hostname that is resolving to the server. In this field you may use your reseller domain name or you may check with our support for your server default hostname.
IP Address: Your cPanel Reseller IP . You can see it in your welcome e-mail that you have received upon activation of your account.
Monthly Cost - Purely informative field where you can add the cost of the server.
Datacenter/NOC - The datacenter where the server is located.
Maximum No. of Accounts - the maximum number of accounts that can be created on this server.
Server Status Address - To display this server on the server status page, enter the full path to the server status folder (required to be uploaded to each server you want to monitor) - eg. https://www.whmcs.com/status/. In your case you can use the link to your Service Status menu in your WHM.
Nameservers - here you must enter the nameservers that you use along with their corresponding IPs.ou can see them in your welcome e-mail that you have received upon activation of your account.
Server Details Type - The control panel of the server on which the accounts of your clients are going to be created. In our case the servers are using cPanel control panel. Username - The username of the account where you have installed the WHMCS Password - The password of the account where you have installed the WHMCS Access Hash (Instead of password for cPanel servers) - You can get your Access Hash key from the Setup Remote Access key in your WHM. Secure: Tick to use SSL Mode for Connections.
Step 4: Setup your Domain Registrar (Setup > Registrars)
You can configure the settings required to connect to your domain registrar below. Begin by choosing the registrar from the dropdown menu and then you will see the configuration options for that registrar. As our cPanel reseller you can either request us to create a Free Enom account for you, or you can create one yourself from the following link directly with Enom : https://www.enom.com/resellers/signup/select.aspx?
Once your account is ready you must enter the account details and settings in the configuration options for that registrar.
Here are the options for setting the eNom domain registrar:
Username - Enter your Enom Reseller Account Username here
Password - Enter your Enom Reseller Account Password here
TestMode - this option allows you to place test options and see if you have connected the registrar correctly without actually registering a real domain name.
DefaultNameservers - Tick this box to use the default Enom nameservers for new domain registrations
SyncNextDueDate - Tick this box if you want the expiry date sync script to update the expiry and next due dates (cron must be configured)
Domain Syncronisation Cron This registrar module has a sync script which can be run periodically to ensure expiry dates, next due dates and domain statuses are always up to date inside your WHMCS system. To utilise this feature, you need to setup a cron with the command below to run every few days.
Here is an example of the Cron Job that has to be set in your cPanel account in order for the Domain Syncronisation to work properly:
php -q /home3/manwesu/public_html/billing/modules/registrars/enom/enomsync.php.Step 5: Setup your Products/Services (Setup > Products/Services)
It is here, where you connect WHMCS to the server and setup your Hosting Plans that you will offer to your clients. This is where you configure all your products and services. Each product must be assigned to a group which can either be visible or hidden from the order page (products may also be hidden individually). A product which is in a hidden group can still be ordered using the Direct Order Link shown when editing the package. Prior to creating a package here, you must make sure that you create the packages in your WHM first.
.This can be done through the Add Packages menu in your WHM . You will need the exact name of the package to be integrated for every plan in the WHMCS , so that the billing software will be able to create the account after the order is compete. First you need to create a group from the Create a New Group option. Then you will need to create a new product and assign it to the already create Group from the Add New Product menu . Finally from the Edit Product option you will need to add the settings for the product.
Here is a short description of the options for the packages :
Details : - Product Type : choose the product type (for example cloud hosting)
- Product Group : choose one of the groups you have created to assign the product to it
- Product Name : Set the name of the product as it will appear on your web store
- Product Description : Add a short description of the product.You may use HTML in this field<br /> New line<strong>Bold</strong> Bold<em>Italics</em> Italics
- Welcome Email: Choose the most suitable welcome e-mail that the client will receive upon activation
- Require Domain : Tick to show domain registration options
- Stock Control : Set the number of accounts in stock for this plan, if you want to have a limited offer.
- Sort Order : Enter a number here to overide the default sorting on the order form
- Apply Tax : Tick this box to charge tax for this product
- Hidden : Tick to hide from order form
Pricing :
- Payment Type : Choose the payment type for this package from Free, One Time or Recurring and set the prices for the plan.
- Prorata Billing : Tick this box to enable
- Prorata Date : Enter the day of the month you want to charge on
- Charge Next Month : Enter the day of the month after which point the following month will also be charged for with the first payment
Module Setting : - Module Name : Choose cPanel
- Default Install Server : Choose the server on which you wish the account to be created.
- WHM Package Name : Enter the name of the package from your WHM that will represents the features of the plan.
In the rest of the options you will have to enter the account features equal to the one you have provided in your package in the WHM.
You may as well choose the point at which the account will be activated (with the placing of the order, the payment or after a verification) Custom Field - Here you can add custom fields to the plan.
Upgrades - Allow you to set up to which plans the current one can be upgraded.
Free Domain - Allows you to offer free domain registration with the plan, as well as the payment therms for the free domain and the available TLDs .
Other - Allows you to set affiliate options for the plan, allow the registration of the plan with a subdomain and the Direct Shopping Cart Link that can be used for the plan ordering if the plan is with hidden status.
Here is a list and a short description of the rest of the settings that you can tweak in the WHMCS Setup part and will help you to rise the quality of the services that you offer and the operational power of the billing system :
Automation Settings - Here you can set different automated tasks for the WHMCS to perform. To enable the automation features to run, make sure you set up a cron job to run once per day at the time you want invoices to be sent out and accounts suspended (eg. 9am).
Email Templates - The default email templates that come supplied with the system are sent when certain events occur. You can also create custom templates which you can send to clients manually at any time or assign to products as their welcome email. You can as well edit the already existing templates as you prefer.
Fraud Protection - This is where you configure the fraud protection module you wish to use. You may only have one fraud module enabled at a time.
Client Groups - Client Groups can be used to differentiate between your customers more easily and apply overrides to certain functions.
Custom Client Fields - This is where you configure custom fields which appear in the clients profile.
Administrators - This is where you configure the users which you want to allow to access the admin area.
Administrator Rules - The administrator roles allow you to fine tune exactly what each of your admin users can do within the WHMCS admin area.
Currencies - You can sell in different currencies concurrently by setting them up below. Customers who visit your site can then choose to shop in their local currency.
Tax Rules - This is where tax rules are configured. Tax can be either exclusive (added on to prices) or inclusive (prices include it). You are allowed to create two seperate levels of tax rules thus allowing you to charge multiple taxes such as state and country taxes.
Promotions/Coupons - Promotions allow you to offer clients a one time or recurring discount on your products and services. The discount is applied to the recurring price for the product and excludes the setup fee.
Configurable Option Groups - Configurable options allow you to offer addons and customisation options with your products. Options are assigned to groups and groups can then be applied to products.
Product Addons - Addons are primarily designed for one off fee items, whereas for recurring items you would use configurable options. Addons can be displayed during the initial order process but can also be ordered by the client to add to an existing package at any time.
Domains/TLDS - This is where you configure the TLDs that you want to allow clients to register or transfer to you. Aswell as pricing, you can set which addons are offered with each TLD, if an EPP code is required for transfers, and whether registration should be automated and if so, with which registrar.
Support Ticket Departments - This is where you configure your support ticket departments. The email address you enter will be the one used to detect emails sent to this department and all emails for the department will also be sent using this address. Email piping allows tickets to be opened and responded to by email and can be setup using one of the methods below.
Support Ticket Escalations - Escalation rules can be setup to perform automated actions on tickets when specific criteria are met. They are commonly used for ensuring response times are met.
Support Ticket Spam Control - here you may block tickets from certain senders, or tickets that are containing certain phrases or subjects in order to lower the possible spam.
Security Questions - Add security questions to allow proving identity of client accounts
Banned Ips - Ban IPs that you do not want to have access to the billing software.
Banned Email Domains - With WHMCS it is possible to ban email domains from signing up. This is useful if you want to block customers signing up using free email accounts.
Database Backups - The database is where all your WHMCS data is stored and so is very important. It is therefore recomended that you take regular backups of it. There are 2 built in solutions for backing up the database using the daily cron - one is email and the other is an FTP backup to a remote server. These can be configured below.
This concludes the Setup part for the WHMCS . As this guide is made to help you with the basics and make your WHMCS operational, please note that there a many more features of the billing system that you may wish to explore and test.
User Area
Here you can sea the User Area of WHMCS :
From here the clients can cover their invoices, manage the domain names registered through you as well as order upgrades addons, opening support tickets and many other functions and information necessary for the professional and efficient customer care service of any hosting company. This concludes our WHMCS installation and setup guide. More information as customer support can be found on the official WHMCS site and their support forum :
Official Site : https://www.whmcs.com/index.php
The WHMCS Support Forum https://forum.whmcs.com/
Documentation : https://wiki.whmcs.com/Main_Page