Difference between revisions of "Addons and Configurable Options"

From WHMCS Documentation

(Slider)
(Friendly Display Names)
Line 100: Line 100:
  
 
===Friendly Display Names===
 
===Friendly Display Names===
Sometimes, a module may require you to format a configurable option valu in a certain way, but this might be difficult for visitors to understand. WHMCS can display a friendly name to visitors on the order form, emails, and invoices, but still send the required machine code to the module.
+
Sometimes, a module may require you to format a configurable option value in a certain way, but this might be difficult for visitors to understand. WHMCS can display a friendly name to visitors on the order form, emails, and invoices, but still send the required machine code to the module.
 
[[File:Config option friendly.png|thumb|Config Option Friendly Names]]
 
[[File:Config option friendly.png|thumb|Config Option Friendly Names]]
 
To achieve this, use the format "required value|display value". For example:
 
To achieve this, use the format "required value|display value". For example:

Revision as of 15:56, 31 August 2021

What are Addons and Configurable Options?

Configurable Options on products allow you to give your clients variables which alter the price of that product. Product Addons let you offer additional items which the client has a yes/no choice over and are billed separately from the product. In this article, we will look at when you would use them and how.

  • Configurable options are defined in groups
  • Groups of options can then be applied to one or more products

When should I use configurable options instead of addons?

  • If you want to offer a choice of options for a single thing - for example Disk Space, Operating System, Locations, etc...
  • If you want the total amount to be billed as a single item and not separately
  • When the billing cycle of the addon must match the billing cycle of the product

When should I use addons instead of configurable options?

  • If the item is a one-off service
  • If it can be selected independently of other items
  • If it should be billed on its own cycle - eg. an SSL certificate might be billed annually regardless of the package cycle
  • Not subject to prorata at a product level or client-wide signup anniversary prorata.

Product Addons billing cycle workflow

If the Product Addon has a billing cycle configured in the pricing matrix which matches the parent product in the cart, then matching billing cycle will be used automatically. If a product addon is ordered at a later date via the client area (Services > View Available Addons) it can have a different billing cycle (determined automatically by the shortest configured billing cycle) and next due date from the parent product.

For some addons such as SSL certificates, you may wish to ensure this is billed annually regardless of the parent product billing cycle, to do this you should only specify annual pricing for addon in the addon pricing matrix.

To set annual pricing on the addon:

  1. Navigate to Configuration () > System Settings > Products/Services > Product Addons.
  2. Click Edit next to the addon.
  3. Click Pricing.
  4. Enable the annual pricing and set the desired selling price.

This will ensure the addon is always billed annually even if the parent product billing cycle is different.

Configurable Options

Setting up a New Group

  1. Go to Configuration () > System Settings > Products/Services > Configurable Options > Create a New Group.
  2. Enter a name and description (for admin reference only) and choose the products it applies to (you can also do this later).
  3. Click Save Changes. The page will reload showing the group details and allowing you to move on to managing options.

Managing Options

To manage options:

  1. Go to Configuration () > System Settings > Products/Services > Configurable Options and click the edit icon next to the option group you want to modify. At the top of the page, you can edit the name, description, and assigned products.
  2. To add a new configurable option, click Add New Configurable Option.
  3. In the new window, enter an option name and choose a type. You can select from the following types:
    • Dropdown — Show a menu of options on the order form.
    • Radio — Show a selection of radio button options on the order form.
    • Yes/No — Show a checkbox on the order form that allows the client to turn the option on or off.
    • Quantity — Show an input field on the order form that allows the user to enter an item quantity.
  4. Enter the first sub-option value you want to offer for this option (you can set the price after saving).
  5. Click Save Changes. The page will refresh with the sub-option showing pricing fields.
  6. Enter pricing for all the cycles that the product has enabled.
    • If you selected Yes/No or Quantity for the type, then only one sub-option is necessary.
    • If you selected Dropdown or Radio for the type, use Add Option at the bottom of the page to add multiple sub-options.
  7. After every addition, click Save Changes to reload the page and set the new sub-options pricing.
  8. After you finish configuring your options, click Close Window. This will refresh the underlying page to show the new option.
  9. Repeat this process for each option you want to add.
  10. After you set up multiple options in the group, use Sort Order to define the display order for the options.
  11. Click Back to Groups List to complete the process.

Option Types

WHMCS offers a variety of different configurable option types, allowing for choice of the most appropriate input format:

Dropdown
Co dropdown.png

Dropdown displays a standard combo box. This is useful when there are a large number of items to choose from that should require minimal space on the order form.

Yes/No
Co yesno.png

Yes/No displays a checkbox for the client to select or deselect. This is useful for simple opt-in-or-opt-out questions. Both yes or no are valid values, so the form validation will accept the unchecked state even if this is a required option.

Radio
Co radio.png

Radio displays a list of the available options alongside a radio box for the client to choose from. If there are too many options, this can look messy. In that case, we recommend using Dropdown instead.

Quantity
Co quantity.png

Quantity displays a field that allows the client to enter a number. Specify the unit price in One Time/Monthly. The system will multiply it by the quantity that the client selected.

When creating or editing Quantity, you can set maximum and minimum vales. You may also allow clients to enter any quantity by leaving both Minimum and Maximum blank. However, you can't specify just a minimum or just a maximum value.

Slider

OrderFormConfigOptionsSliderNew1.png

The slider provides a graphical method for clients to specify a Quantity. Note that Slider is not an option type itself. In order to use the slider, you must select the Quantity option type and supply both a minimum and maximum value. Once you have set both values, the slider will automatically appear in all order form templates (except boxes).

Hiding Options

Hiding is useful for when you want to remove an option that you no longer offer to new signups from the order forms, but don't want to lose the selections for existing customers.

You can hide entire configurable options or just individual sub-options. Do this in the managing options screen by checking the Hidden/Hide box for an option you want to disable.

Important Note: Once you hide an option or sub-option, admin users continue to see it for existing customers.

Note: As of version v5.3 and above, the "Starting From" price on cart.php in the Modern order form template doesn't include hidden configurable options. Prior to this, the price included hidden configurable options.

Friendly Display Names

Sometimes, a module may require you to format a configurable option value in a certain way, but this might be difficult for visitors to understand. WHMCS can display a friendly name to visitors on the order form, emails, and invoices, but still send the required machine code to the module.

Config Option Friendly Names

To achieve this, use the format "required value|display value". For example:

  • Disk Space|Your Web Quota
  • 10000MB|10 Gigabytes
  • rbx01ssd|French Server - Solid State Drive

Product Addons

For information about product addons, see Product Addons.