WHMCS Glossary

3D Secure

3D Secure is an extra step in the payment process, which consumers know as Verified by Visa® or Mastercard Securecode®. This directs customers to their bank to enter a password to verify the payment. If a payment gateway does not support this option, the system will never prompt clients to provide their 3D Secure password.


An array is a special variable which can hold many values under a single name, and you can access the values by referring to an index number.


An acronym of Application Programming Interface. This specifies how two pieces of software communicate. For example, WHMCS uses the eNom API to communicate domain registration requests to eNom. The WHMCS software has its own API that, in turn, allows other pieces of software to perform actions in WHMCS remotely.


A Boolean data type is a data type with only two possible values: true or false.

Billing Cycle

The frequency with which a service will generate invoices (for example, monthly, semi-annually and annually).


See #Defect

Change Package

The module change package function is the process by which WHMCS sends the signal to the server or service to change the client’s package (upgrade or downgrade). If the configurable package addon is in use for the product, this option can also change the client’s individual quotas in the configurable options.

This module feature will display a link on the product details page in the WHMCS Client Area that clients can click to log in to the server control panel.

Configurable Option

Allows for the customisation of products within set parameters. Typically, you use this to allow clients to choose certain aspects of their hosting product (for example, disk space or bandwidth). This always takes the same billing cycle as the service.


The module creation function is the process by which WHMCS sends the signal to the server or service to create the necessary account. The credentials under the client’s Products/Services tab are often passed to the server or service within the command. Typically, this is at least the username, password and domain.


A cron is a time-based job scheduler in Unix-Based systems. WHMCS makes use of this system to trigger a number of the automated tasks, including invoice generation, overdue reminders, suspension, termination, and ticket escalation rules. You can also use cron jobs to refer to the specific script that the server’s cron scheduler triggers. This is in the /crons/cron.php file.

Daily Tasks

Daily Tasks are specific actions that WHMCS performs only once per day. For example, you may consider sending overdue reminder emails to be a daily task because you send them once per day. However, escalation rules run many times per day, and so are not daily tasks.


A number with decimal amounts. For example, xx.xx. Usually, this includes two decimal places, but they can also have more.


A defect in the WHMCS software occurs when the actual behaviour of a specific part or function operates differently from the intended design. This is distinct from the desired design of an end user. The decision as to what constitutes intended design and a defect lies with WHMCS personnel. Reproducible defect reports in the stock software are welcome at https://bugs.whmcs.com You can submit proposals for changes to the intended design for consideration at https://requests.whmcs.com


An email address, which includes an @ symbol.

First Payment Amount

When the Next Due Date is the Registration Date, this is the initial amount that the client will receive an invoice for. It is the sum of the product setup fee, price, and configurable options.


An integer is a number that doesn’t include a fractional component. For example, 21, 4, and −2048 are integers; 9.75, 5½, and √2 are not integers. The set of integers consists of positive whole numbers (1, 2, 3), zero (0), and the opposites of the positive whole numbers (−1, −2, −3).


JSON is an open standard format that uses human-readable text to transmit data objects consisting of attribute–value pairs. It primarily transmits data between a server and web application, as an alternative to XML.

Menu Item Class

Menu item objects are the core building block to all programmable client area menus in WHMCS. They power dynamic navigation bars, sidebars, the Client Area home page’s panels, and other UI elements. Individual menu items contain all of the components necessary to render it on a page including display labels, links, icons, and certain HTML elements. Menu items exist in a tree structure. A menu item can have many child items and one parent item. The only item with no parent is the root menu item at the top of the tree. The root menu item has access to every child item in the menu tree.


A file that contains the code that communicates between WHMCS and a provider’s API. For example, the cPanel module contains the code to communicate with the cPanel & WHM APIs, and the eNom module contains the code to communicate with the eNom API. There are three types of module: provisioning, registrar and gateway.

Next Due Date

The date at which the client’s next renewal payment is due. The system typically generates invoices several days in advance, according to your Automation Settings. It will automatically increment forward one billing cycle when a customer pays a renewal invoice.

On-Demand Renewals

In WHMCS 8.8 and later, a feature that allows customers to renew services during an early renewal period before invoice generation for their next due date. This option is available in the Client Area and requires no manual intervention from your staff. For more information, see On-Demand Renewals.


An item that a client can purchase via the order form. Usually, products have a fixed price, although you can customize them via configurable options and product addons. Configure these in the administration area under Configuration () > System Settings > Products/Services.

Product Addon

Additions to a product that increase the price. Usually, these are one-time or recurring items that you want to upsell to clients, such as a software licence. Treat these as on-or-off options. They can have a separate billing cycle from the service.

Recurring Amount

When the provided Next Due Date is not the Registration Date, this value will be the amount of the client’s invoice for the next renewal of their service. It is the sum of the product price and configurable options.


The ‘Sandbox’ is a development system that enables you to test your checkout for functionality without being ’live’, so any transactions you use to test it are not ‘real’. When you are happy that everything is working properly, deselect the option.

Standard Hook

In WHMCS, a standard hook is a hook that runs when a specific action occurs. The system can accept a return, but no validation occurs for the hook return. For more information, see our hook page.


When a client orders a product, that particular instance of the product is a Service. You can access the Service record from the client’s Products/Services tab. You can customize the default price and billing cycle, add addons, and change configurable options.


A data type that developers often implement as an array of bytes (or words) that store a sequence of elements, typically characters, using some character encoding. A string may also denote more general arrays or other sequence (or list) data types and structures.


The module suspension function is the process by which WHMCS sends the signal to the server or service to suspend the account on the server. Typically, the system retains the client files and settings but blocks access to their account.


We regular expression match or validate a single digit, a space, a dot, a dash or a pair of brackets. Instead of making sure the whole string matches a string of correct characters, we replace all correct characters with empty strings, and whatever is left behind is assumed to be wrong and will fail validation. A standard phone number, in local format, without any country code.

International Telephone

An automatically-formatted number, using the client country to add the country code. This uses the format +CC.xxxxxxxxx.


The module termination function is the process by which WHMCS sends the signal to the server or service to delete the account from the server. The record of the account will remain within WHMCS.


The module unsuspension function is the process by which WHMCS sends the signal to the server or service telling it to reverse the suspension process and reactivate a previous suspended account on the server.

Usage Updates

If you enable it in Automation Settings, this module feature allows WHMCS to obtain the disk space and bandwidth usage for individual accounts. This is visible in the client and Admin Areas, and you can use it with overage billing.

Validation Hook

A hook that runs to perform a validation check on entered data. The return from this hook can stop data from saving. For more information, see our hook page.

Last modified: June 11, 2024