Products Management

From WHMCS Documentation

Adding Products/Services

You can place a new order in the admin area via the Orders > Add New Order section or the Add New Order link on any Client Summary page.

Once on the Add New Order page, you can input the order details as follows:

  1. Type in the client details to select the client, if the system didn't already preselect them.
  2. Choose the payment method to use for the order and any resulting invoice.
  3. Select a promotion code to apply to the order items (if applicable).
  4. Choose the order status. Unless this is for adding an existing service that needs no provisioning, leave it as pending so that you can review the order after payment and ensure any provisioning was successful.
  5. There will be three selected options:
  • Order Confirmation — Keep this selected if you wish to send the Order Confirmation email to the client.
  • Generate Invoice — Keep this selected if you wish to generate an invoice for the items on the order. This is useful if you are placing an order for a new service on the client's behalf or you will to manually enter an existing service but still want to invoice them right away.
  • Send Email — Keep this selected if you wish to send the Invoice Created email whenever the system creates an invoice.


You can use this section to enter the details for each product you want to add to the order, with the "Add New Product" button at the bottom, allowing you to enter multiple products on the same order. You can select the product, enter the domain name (if there is one), choose the billing cycle, select the quantity, and enter any pricing overrides (for example, if you want to give the client a hardcoded price different than what the product normally goes for without using a promotion code).

If the billing cycle and price override fields have not changed, the system will use the pricing from the shortest configured billing cycle.

Use the Quantity option if you want to order multiples of a single product that doesn't require any specific configuration on the initial order (such as a domain name and configurable options). For example, if you are selling a software license using our Licensing Addon and the customer wishes to receive 10 licenses, you could use 10 for the Quantity and the system will create 10 services on their account after order submission. For products that each require a domain and specific configuration, add them one by one using the "Add New Product" button.

Domain Registration

The "Domain Registration" section can be used to include a domain name on the order. Use the radio options to select whether this is a new registration or transfer, and enter the domain in this format:

Leave the radio option at None if this order doesn't require a domain,

For registration, the system will prompt you for the domain name, the number of years to register it for, any applicable addons, and finally any pricing overrides for the registration and future renewal amounts. If there isn't a price override, the system uses the regular price for that TLD.

For transfers, the system will prompt you for the same details, along with the EPP Code (also commonly called the Transfer Authorization code) from the existing registrar for the domain. During the client area ordering process, the client supplies this, and you may need to obtain it from them first if it is applicable to the domain you are trying to transfer.

For Product Only orders, fill in the Product/Service section and leave the Domain Registration section at "None" for the only entry. For Domain Only orders, you would not enter anything into the fields in the Product/Service section (Product/Service, Domain, Billing Cycle, Quantity and Price Override) and fill in the Domain Registration section.

Managing a Clients Products/Services

You can locate products/services to manage in a number of ways:

  1. Search for the Client in Clients > View/Search Clients, and then from the Client Summary page click the ID of the product you want to manage from the list
  2. Search for the Product in Clients > List All Products/Services > Search/Filter, then click the product ID or domain to be taken to the product details
  3. Using the Intelligent Search

The Products/Services details page inside a clients profile allows you to view and modify all of a products settings. After making any changes, you need to click the Save Changes button to save your edits.

Running Module Commands

If the product/service is linked to a module, you will have a Module Commands row towards the bottom of the page. This allows you to execute any of the commands available in that module. Modules can have custom functions but the most common ones are:

  • Create - runs the creation routine and sets the product status to active
  • Suspend - runs the suspension routine and sets the product status to suspended. You will be prompted to enter a suspension reason, leave it blank if the client has an unpaid invoice and you want the account automatically unsuspended when paid.
  • Unsuspend - runs the unsuspension routine and sets the product status back to active
  • Terminate - runs the termination routine and sets the product status to terminated
  • Change Package - runs the upgrade/downgrade routine for the selected product
  • Change Password - runs the password modification routine for the last saved password value


  • Product addons allow you to bill for additional items related to the main product but on independent billing cycles from the product (unlike Configurable Options which have to bill on the same cycle)
  • Addons can be preconfigured in Configuration () > System Settings > Product Addons or, prior to WHMCS 8.0, Setup > Product Addons, but you can also create custom addons for specific clients which aren't predefined for flexibility
  • Preconfigured addons can be ordered by clients from the client area product details page

Managing Addons

  • The Products/Services details page shows the number of addons a product has with a Click here to Manage link just below the domain field
  • To view/edit or delete addons you need to click that link and a popup will open
  • Any existing addons will be displayed with edit and delete icons for managing them

Adding Addons to Users

  • To add a new addon, click Products/Services in Clients Profile.
  • Next click on the link Click here to Manage beside the Addons label, and then click Add New Addon button.
  • If using a predefined addon, simply choose it from the dropdown and leave the name, price and billing cycle fields empty as they will all be automatically set
  • Alternatively, if adding a custom addon specific to this client, leave the Predefined Addon set to None and enter a custom name, price and cycle
  • If you would like to invoice for the new addon immediately then you don't need to do anything as that will happen by default, or alternatively if you don't want to invoice yet you can just untick the generate invoice checkbox
  • Once happy with the selections, click Save Changes to complete the process

Promotion Codes

  • Promotion Codes applied to an existing service via the drop-down menu
  • Information on how to manually adjust Promotion Codes for an existing service can be found at the Manually Applying a Promotion section.

Auto Recalculate Recurring Price on Save

  • This checkbox option located to the bottom right of the product details screen updates the recurring amount field when checked
  • It can be used after changing the product, configurable options, billing cycle or promo code to auto calculate the new recurring price
  • It is off by default so that any discounted rates or custom pricing are not overwritten as these aren't taken into account by it

Overide Auto Suspension

  • This option can be used to allow extra time for payment to be made for specific individuals
  • It allows you to set a date to hold the suspension until and then it will only suspend if it's still unpaid when that date is reached
  • The checkbox to enable it is at the bottom of the Products/Services details tab under a Clients Profile
  • Tick that box and then in the date field that appears, choose the date you want to overide the auto suspension until
  • Entering the date 00/00/0000 will permanently prevent the product from being suspended and terminated.

Invoicing Early

There may be times where a client asks for you to invoice them for the next renewal date early. To do this in WHMCS,

  1. Begin by navigating to the Clients Summary page for the client you want to invoice
  2. Now tick the boxes of the Products/Services/Addons and/or Domains you want to generate an invoice for
  3. To complete, click the Invoice Selected Items button to create the invoice(s) for them
  4. Multiple invoices may be created if the due dates and payment methods differ as invoicing rules are obeyed as normal
Note: You won't be able to generate another invoice if an invoice has already been made for the next due date.
Note: If the Separate Invoices option is enabled in the client's Profile or Client Group, when selecting multiple items here with the same Next Due Date, a single invoice will be generated.
Note: The status of the service, domain or addon must be Pending, Active or Suspended to generate an invoice


Admin Area

Upgrade/Downgrade Button

If you would like to change the product/service a client is assigned to and automatically charge or credit the difference for that change then you need to use the Upgrade/Downgrade process. You'll find the option for this next to the Products/Services dropdown menu on the Products/Services Details page within the clients profile. To use it, simply navigate to the product you want to change, click the Upgrade/Downgrade link, and in the popup that appears make the new product & billing cycle selections as required and it will give you a preview of what the charge will be for the remainder of the current cycle and allow you to create an order/invoice for that change if happy.

Watch the video tutorial for this feature  

There will no immediate changes to the product after creating an upgrade order, the actual product or config option changes won't take effect until the invoice is paid. But as soon as the invoice is paid the product will be updated, the new recurring amount will be set, and with most supported control panels the upgrade is fully automated with the new package details/changes being passed over to the server module being used. Finally the upgrade email specified in the product configuration is sent to the user advising them of the new products details.

The same process can also be used for configurable options changes and billing the difference for those if the product contains them.

Client Side

Clients can also place orders for upgrades & downgrades themselves if you have permitted it in the product configuration. This allows clients to order upgrades/downgrades and complete them automatically without the need for any staff involvement.

For more information, including how to allow clients upgrades and how the upgrade charges are calculated, please refer to the Automated Upgrades and Downgrades section

Manual Upgrades

There may be occasion when you wish to make an upgrade without placing an upgrade order (such as a free upgrade) or processing the upgrade before the client has paid for it. To achieve this:

  1. Navigate to the client's Products/Services tab,
  2. Change the product from the dropdown menu,
  3. Tick "Auto Recalculate on Save" checkbox,
  4. Click Save Changes,
  5. Finally click the "Change Package " Module Command button to make the change on the server.

Mass Updating Services/Addons/Domains

Mass Update Tool

The mass update tool in WHMCS allows you to perform changes to 2 or more products inside a clients profile at the same time. The changes can consist of changes in the price, billing cycle, next due date, status and/or payment method and setting an override auto-suspend date. For example you can use this if you want to reduce a clients price on a number of separate products to the same level, execute module commands in bulk or if you would like to bring multiple services in line to a matching due date.

To use this feature, from the Clients Summary page, simply tick the checkboxes next to the Products/Services, Addons and/or Domains you want to update, and then below the item lists click the Mass Update Items button which will reveal the options which you can set. Now make your selections (leaving blank any fields you don't want to change), and finally submit to complete the changes.

Watch the video tutorial for this feature  

Create Prorata Invoice

This useful feature means that when changing the Next Due Date of a product/service/addon/domain a pro-rated invoice is created covering the period between the current next due date and the new one. It even works when the various products have different next due dates to start with and will pro-rate each accordingly as separate line items on the invoice.

To use simply specify the new Next Due Date and tick the Create Prorata Invoice checkbox before clicking Submit.

For example take two products that the client now wishes to pay on the 10th of the month going forward:

Product A - Next Due Date 01/01/2012 @ $30/month
Product B - Next Due Date 05/01/2012 @ $60/month

Set the Next Due Date to 10/01/2012 and tick the checkbox, an invoice with the following line items will be generated:

Product A (01/01/2012 - 09/01/2012) $8.00
Product B (05/01/2012 - 09/01/2012) $10.00
Total Due Today $18.00

Only once paid will the Next Due Dates for both products be updated and in future both products would be invoiced on the 10th January.

Cancelling a Product/Service

Auto Terminate/Fixed Term

You can setup products to automatically terminate after a set number of days from the date of signup. For more information refer to Configuring Products/Services.

Clients Self Service

WHMCS can completely automate the process of product cancellation or wait for manual confirmation. To do this navigate to Configuration () > System Settings > General Settings > Other or, prior to WHMCS 8.0, Setup > General Settings > Other, and enable the Show Cancellation Link option.

Clients can then request cancellation of any of their products & services directly from the client area.

To fully automate cancellation and have the module terminate command run (for example to remove the hosting account from the server) check Cancellation Requests in Configuration () > System Settings > Automation Settings or, prior to WHMCS 8.0, Setup > Automation Settings option.

Now when the cron runs any services with a cancellation request due today will be removed from the server and the status changed in WHMCS to Cancelled. The process runs as follows:

  • Client clicks Request Cancellation button on the product details page in client area
  • They're prompted to provide a cancellation reason and provided 2 choices for the cancellation - either Instant (on next cron run) or at the End of the Current Billing Cycle.
  • If a matching domain exists under the client's account in active status with Auto Renew enabled, the customer is given the option to disable auto renew too - thereby leaving the domain to expire.
  • Any unpaid invoices for the product will be cancelled (if enabled)
  • A notification email is sent to administrators and you will be able to review the reason provided in Clients > Cancellation Requests.

Manual Cancellation

If the Cancellation Request setting is not enabled then at this point you must navigate to the cancellation requests page, click through to the service page and click the Terminate module command button to remove the account from the server. The cancellation request is then moved from the Open Requests page to Completed Requests.

Automated Cancellation

If the Cancellation Request setting is enabled the cancellation request will be actioned when the daily automation cron runs on the appropriate day. For example if the Immediate option was selected it will be terminated on the next cron run, if End of Billing Period was selected it will be terminated when the cron runs on the service's Next Due Date.

Voiding Cancellation Requests

If a Cancellation Request has been submitted by your client and they later change their mind, it is quick and easy to void their cancellation request. Simply navigate to Clients > Cancellation Requests, locate the cancellation you wish to remove, and then click the red X next to the request to remove it. This will stop the cancellation from processing automatically. You'll need to make sure to mark any invoices that were cancelled as "Unpaid" to prevent billing errors.

Admin Scheduled Cancellations

As an admin user, you can schedule the termination of a product at the end of the currently active period by going to the Products/Services tab, ticking the Auto-Terminate End of Cycle option and optionally entering a reason/note for it. Any unpaid invoices for the product will be cancelled and will suppress any further renewal invoices from generating for this product and terminate it when the next due date is reached. The "Cancellation Requests" setting in Configuration () > System Settings > Automation Settings or, prior to WHMCS 8.0, Setup > Automation Settings must also be enabled.

Admin Immediate Cancellation

Finally, if you want to cancel or terminate a product or service immediately then you simply need to locate the item you wish to cancel, and from the Products/Services page, click the Terminate button if the product is linked to a module or if not, manually change the dropdown status from Active to Cancelled. Once you've done this, no further invoices will generate for the item.


When a product or service is terminated automatically by the WHMCS System, including through the above Admin Scheduled Cancellation routine, any child addon(s) attached to the product/service will also be cancelled at the same time. Addons do not support independent scheduled cancellations of their own however.

Termination Date

When an addon is Cancelled or Terminated, either manually via the admin interface or automatically as part of a product termination, the Termination Date will be assigned the current date automatically. The termination date can be edited manually at any time via the Product Addon management screens within the admin area.

A termination date can only be set/edited when the addon is in one of either Terminated or Cancelled status.

Moving a Product/Service to another Client

Transfer Product Popup
  1. From the Products/Services details page of the product you want to move, click Move Product/Service to Another Client located at the top-right of the page
  2. A popup box will appear (you will need popup blockers disabled to use this)
  3. In the popup enter the ID of the new owner. If you don't know the client's ID the Search field can be used to search by name, company or email address. Click the client's name and the ID will be filled in.
  4. After selecting the desired click, click the Transfer button
  5. The item will then be transferred, the window will close, and the original window will refresh to show the product under its new owner.

N.B. Moving a products/service between clients within WHMCS will not have any affect on the account on the server.


Invoices cannot be moved between clients, therefore when moving a product/service any invoices will remain under the old owner. Therefore it would be advisable to check the old owner's Invoices tab for any unpaid invoices for this service and cancel them. If you wish to invoice the new owner for the service, move the Next Due Date forward/back by one day and a new invoice will be generated when the cron next runs.

Deleting a Product/Service from a Client

  1. From the Products/Services details page of the product you want to delete, scroll to the bottom and click the red Delete link
  2. After clicking this link, you will be asked to confirm if you are sure you want to delete the item
  3. If you click No you will be returned to the page, if you click Yes, the item will be deleted and you will be taken to the next product/service under that client

Note: Deleting a product from WHMCS will not terminate it on the server. If you wanted to remove it from the server aswell, you need to run the Terminate Module Command as explained above before deleting the record from WHMCS.

Resending Product Welcome Email

To re-send a product welcome email simply navigate to the client's Products/Services tab and click the "Resend Product Welcome Email" button at the bottom of the page.