Products Management

From WHMCS Documentation

WHMCS allows you to offer many different types of products and services, both with or without automation, and to create addons and other additional items to tailor those products and services to your clients' needs.

Ordering Products and Services

Admin-order-form.png

To order new products and services for a client:

  1. Go to Orders > Add New Order or click Add New Order in the client profile.
  2. Begin entering the client details to select the client (if the system didn't already preselect them).
  3. Choose the payment method to use for the order and any resulting invoice.
  4. Select a promotion code to apply to the order items (if applicable).
  5. 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.
  6. Select one of the following 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.
  7. Enter and select the details for each product you want to add to the order, including a domain name, billing cycle, quantity, and any pricing overrides.
    • Click Add New Product to add multiple products to the order.
    • 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 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.
  8. Optionally, select and enter the appropriate details to add one or more domain names to the order.
    • Select 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 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.

Premium Domains
When ordering domains via the Admin Area, the system does not look up the domain's availability. WHMCS will therefore be unaware of whether it is a premium domain. For premium domains, log in as the account owner and order them via the Client Area.

Managing a Client's Products and Services

You can manage a client's products and services in the Products/Services tab in the client's profile. This tab allows you to view and modify all of a products settings. After making any changes, click Save Changes.

Module-commands.png

If the product or service is linked to a module, the Module Commands actions display when you view that product or service for the client. This allows you to execute any of the commands available in that module.

Modules can have custom functions, but most use the same basic actions by default.

Addons

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).

You can create new addons or work with preconfigured addons at Configuration () > System Settings > Product Addons or, prior to WHMCS 8.0, Setup > Product Addons. Then, clients can order addons from the Client Area product details page or from your store.

Managing-addon.png

After purchase, you can manage addons for individual purchased products in the client profile.

  • To view the list of addons for a product, select the parent product from the menu.
  • To edit an addon, click the edit icon for that addon in the Addons list.

Adding Addons to Clients

New-addon-button.png

To add a new addon for a client:

  1. Click Products/Services in the client profile.
  2. Click Click here to Manage for Addons.
  3. Click Add New Addon.
  4. If you are adding a predefined addon, select it and leave the name, price, and billing cycle empty.
  5. If you are adding a custom addon that will be specific to this client, set Predefined Addon to None and enter a custom name, price, and cycle.
  6. To delay generation of the invoice, uncheck the generate invoice checkbox.
  7. Click Save Changes to complete the process.

Promotion Codes

You can apply promotion codes to an existing service using the menu. For more information, see Promotions.

Auto Recalculate Recurring Price on Save

Check this option to update the recurring amount field. You can use this after changing the product, configurable options, billing cycle, or promo code to auto calculate the new recurring price. We disable this by default to ensure that the system does not overwrite any discounted rates or custom pricing.

Overide Auto Suspension

This option can be used to allow extra time for payment to be made for specific individuals.

You can enable or disable this option from the Products/Services tab in the client profile.

Early Renewals and Invoicing

In some circumstances, you may want to generate your customer's next invoice early, or they may wish to pay for their services in advance.

On-Demand Renewals

In WHMCS 8.8 and later, on-demand renewals allow your customers to renew their services early, before WHMCS has generated the next invoice, in the Client Area. In WHMCS 8.9, on-demand renewals also includes support for product addons.

You can configure on-demand renewals globally and on a per-product or per-addon basis. For more information, see On-Demand Renewals.

Invoicing Early

Admins can generate invoices for services, domains, or addons with the Pending, Active, or Suspended statuses in advance from the client's profile's Summary tab.

Upgrades/Downgrades

Admin Area

Upgrade/Downgrade Button

If you would like to change the product or 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 menu in the Products/Services tab within the client profile.

To use it:

  1. Go to the product that you want to change.
  2. Perform the correct action for your WHMCS version:
    • For WHMCS 8.0 and later, click More and choose Upgrade/Downgrade.
    • For WHMCS 7.10 and earlier, go to the product you want to change, click Upgrade/Downgrade.
  3. Make the new product and billing cycle selections. A preview of what the charge will be for the remainder of the current cycle will display.
  4. Click Create Order. The system will create an order and invoice for the change.

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 system calculates upgrade charges, see Automated Upgrades and Downgrades.

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 do this:

  1. Navigate to the client's Products/Services tab.
  2. Change the product in the menu.
  3. Check Auto Recalculate on Save.
  4. Click Save Changes.
  5. Click Change Package in the Module Commands section.

Bulk Actions

Bulk Actions Tool

The bulk actions option in WHMCS allows you to perform changes to two or more products inside a client's profile at the same time. The changes can consist of adjustments to the status, payment method, override auto-suspend date, first payment amount, recurring amount, next due date, and billing cycle. For example, you can use this option if you want to reduce a client's 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 client's Summary tab, check the checkboxes next to the products, services, addons, or domains you want to update. The bulk actions will display under the item lists. Additional actions can be viewed by clicking Show Advanced Options. Enter any changes you wish to make (leaving blank any fields you don't want to change) and click Apply to complete the changes.

Watch the video tutorial for this feature  

Create Prorata Invoice

When you change the Next Due Date of a product, service, addon, or domain, the system creates a pro-rated invoice that covers the period between the current next due date and the new one. This feature includes scenarios in which 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 this, specify the new Next Due Date, check Create Prorata Invoice, and then click Apply.

For example, the client could wish to pay for the following products on the 10th of the month going forward:

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

To do this, set the Next Due Date to 10/01/2022 and check the checkbox, an invoice with the following line items will be generated:

Product A (01/01/2022 - 09/01/2022) $8.00
Product B (05/01/2022 - 09/01/2022) $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

Request-cancellation-form.png

WHMCS can completely automate the process of product cancellation or wait for manual confirmation. To do this navigate to the Other tab at Configuration () > System Settings > General Settings or, prior to WHMCS 8.0, Setup > General Settings, 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, checking 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.

Addons

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

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, click More and then click Delete.
  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.