Difference between revisions of "Addons and Configurable Options"

From WHMCS Documentation

m
Line 1: Line 1:
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 seperately from the product.  In this article, we will look at when you would use them and how.
+
Configurable Options on products allow you to give your clients variables that alter the price of that product. [[Product Addons]] let you offer additional items that the client selects. The system bills them seperately from the product.
  
*Configurable options are defined in groups
+
*Configurable options are defined in groups.
*Groups of options can then be applied to one or more products
+
*You can apply groups of options to one or more products.
  
 
===When should I use configurable options instead of addons?===
 
===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 to offer a choice of options for a single item (for example, Disk Space, Operating Systems, or Locations).
*If you want the total amount to be billed as a single item and not seperately
+
*If you want to bill the total amount as a single item and not seperately.
*When you want the billing cycle of the addon to match the billing cycle of the product  
+
*If you want the billing cycle of the addon to match the billing cycle of the product.
  
 
===When should I use addons instead of configurable options?===
 
===When should I use addons instead of configurable options?===
  
*If the item is a one off service
+
*If the item is a one-time service.
*If it can be selected independantly of other items
+
*If clients can select the item independantly of other items.
*If it should be billed on it's own cycle - eg. a dedicated IP might be billed annually regardless of the package cycle  
+
*If you want to bill it on its own cycle (for example, you could bill a dedicated IP address annually regardless of the package cycle).
  
 
==Configurable Options==
 
==Configurable Options==
 
===Setting up a New Group===
 
===Setting up a New Group===
  
#Go to '''Setup > Products/Services > Configurable Options > Create a New Group'''
+
#Go to '''Setup > Products/Services > Configurable Options > Create a New Group'''.
#Enter a name & description (used for admin reference only) and choose the products it applies to (you can do this later aswell)
+
#Enter a name and description (for admin reference only) and choose the products it applies to (you can also do this later).
#Then click '''Save Changes'''
+
#Click '''Save Changes'''. The page will reload showing the group details and allowing you to move on to managing options.
#The page will reload showing the group details and allowing you to move on to managing options
 
  
 
===Managing Options===
 
===Managing Options===
  
#Go to '''Setup > Products/Services > Configurable Options''' and click the edit icon next to the option group you want to modify
+
To manage options:
#At the top of the page you can edit the name, description and assigned products
+
 
#To add a new one, click '''Add New Configurable Option'''
+
#Go to '''Setup > 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.
#A popup will open and ask you to enter an option name and choose a type. The type can be one of 4 things:
+
#To add a new configurable option, click '''Add New Configurable Option'''.
#*'''Dropdown''' - this will show a dropdown of options on the order form
+
#A new window will allow you to enter an option name and choose a type. You can select from the following types:
#*'''Radio''' - this will show a radio button selection of options on the order form
+
#*'''Dropdown''' — Show a menu of options on the order form.
#*'''Yes/No''' - this will show a checkbox on the order form allowing the option to be turned on or off
+
#*'''Radio''' — Show a selection of radio button options on the order form.
#*'''Quantity''' - this will show an input field on the order form allowing the user to enter the number of the item they want
+
#*'''Yes/No''' — Show a checkbox on the order form that allows the client to turn the option on or off.
#Next, enter the first sub-option value you want to offer for this option (pricing is set after saving)
+
#*'''Quantity''' — Show an input field on the order form that allows the user to enter an item quantity.
#Then click '''Save Changes'''
+
#Enter the first sub-option value you want to offer for this option (you can set the price after saving).
#The page will refresh with the sub-option showing pricing fields where you can then enter prices - you should enter pricing for all the cycles that the product has enabled
+
#Click '''Save Changes'''. The page will refresh with the sub-option showing pricing fields.
#If for the option type, you chose '''Yes/No''' or '''Quantity''' then only one sub-option is necessary
+
#Enter pricing for all the cycles that the product has enabled.
#For '''Dropdown''' or '''Radio''' types, to add another sub-option, again use the '''Add Option''' field at the bottom of the page
+
#*If you selected '''Yes/No''' or '''Quantity''' for the type, then only one sub-option is necessary.
#After every addition, hit '''Save Changes''' to reload and set the new sub-options pricing
+
#*If you selected '''Dropdown''' or '''Radio''' for the type, use the '''Add Option''' field at the bottom of the page to add multiple sub-options.
#Once you have completed configuring your options, click '''Close Window'''
+
#After every addition, click '''Save Changes''' to reload the page and set the new sub-options pricing.
#This will refresh the underlying page to show the option you just setup
+
#After you finish configuring your options, click '''Close Window'''. This will refresh the underlying page to show the new option.
#Once you have more than one option setup in the group, you can use the '''Sort Order''' column to define the order the options should show in (just like with products)
+
#Repeat this process for each option you want to add.
#Once you are entirely finished, click '''Back to Groups List''' to complete the process
+
#After you set up multiple options in the group, use the '''Sort Order''' column to define the display order for the options.
 +
#Click '''Back to Groups List''' to complete the process.
  
 
====Option Types====
 
====Option Types====
WHMCS offers a variety of different configurable option types allowing for choice of the most appropriate input format. Below is a summary:
+
WHMCS offers a variety of different configurable option types, allowing for choice of the most appropriate input format:
  
 
=====Dropdown=====
 
=====Dropdown=====
 
[[File:Co dropdown.png|right]]
 
[[File:Co dropdown.png|right]]
The '''Dropdown''' option type presents a standard combo box, this is useful when there are a large number of items from a client to choose from whilst taking up minimal space on order form.  
+
The '''Dropdown''' option type 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=====
 
=====Yes/No=====
 
[[File:Co yesno.png|right]]
 
[[File:Co yesno.png|right]]
Use the '''Yes/No''' option type to display a checkbox for the client to tick or leave unticked, useful for simple opt-in/out questions. Both yes or no are valid items so the form validation will accept the unticked state even if this is a required option.
+
The '''Yes/No''' option type 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=====
 
=====Radio=====
 
[[File:Co radio.png|right]]
 
[[File:Co radio.png|right]]
When the '''Radio''' option type is selected a list of the available options option are displayed alongside a radio box for the client to choose from. However if there are too many a long list can look messy, consider using a Dropdown instead.
+
The '''Radio''' option type 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=====
 
=====Quantity=====
 
[[File:Co quantity.png|right]]
 
[[File:Co quantity.png|right]]
Choose the '''Quantity''' option type and field will be displayed allowing the client free entry of a number. Specify the unit price in the One Time/Monthly column and that will be multiplied by the quantity selected.
+
The '''Quantity''' option type displays a field that allows the client to enter a number. Specify the unit price in the One Time/Monthly column. The system will multiply it by the quantity that the client selected.
  
When creating/editing a quantity option maximum and minimum vales can be specified, you may also allow clients to enter any quantity by leaving '''both''' 'Minimum' and 'Maximum' fields blank - it is currently not possible to specify just a minimum or just a maximum value.
+
When creating or editing a '''Quantity''' option, you can set maximum and minimum vales. You may also allow clients to enter any quantity by leaving '''both''' the 'Minimum' and 'Maximum' fields blank. However, you can't specify just a minimum or just a maximum value.
  
 
=====Slider=====
 
=====Slider=====
Line 70: Line 70:
 
[[File:OrderFormConfigOptionsSliderNew1.png]]
 
[[File:OrderFormConfigOptionsSliderNew1.png]]
  
The slider provides a graphical method for clients to specify a quantity. As above choose the '''Quantity''' option type, a minimum and maximum quantity must be supplied and it can be used in conjunction with all order form templates except Boxes.
+
The slider provides a graphical method for clients to specify a quantity. Like the '''Quantity''' option type, you must supply a minimum and maximum quantity and use it in conjunction with all order form templates (except Boxes).
  
 
===Hiding Options===
 
===Hiding Options===
  
*Hiding is useful for when you want to remove an option from the order forms that you no longer offer to new signups, but don't want to lose the selections for existing customers
+
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.
+
 
*This can be done in the managing options screen detailed above by ticking the Hidden/Hide box for an option you want to disable
+
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 hidden, they remain visible to admin users to allow you to view them for existing customers and so when viewing clients or the order forms while authed as an admin you will still see the hidden options.
+
 
* '''Note:''' As of version v5.3 and above, hidden configurable options are not included in the "Starting From" price displayed on cart.php in the Modern order form template. Prior to this hidden configurable options were included in the price.
+
'''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===
 
===Friendly Display Names===
On occasion a module may require a configurable option value to be formatted in a certain way, but this might not be very easy 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 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.
 
[[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:
  
 
*Disk Space|Your Web Quota
 
*Disk Space|Your Web Quota
Line 90: Line 92:
  
 
===Product Addons===
 
===Product Addons===
Information on [[Product Addons]] can be found on their own page.
+
For information about product addons, see [[Product Addons]].

Revision as of 19:33, 7 May 2020

Configurable Options on products allow you to give your clients variables that alter the price of that product. Product Addons let you offer additional items that the client selects. The system bills them seperately from the product.

  • Configurable options are defined in groups.
  • You can apply groups of options 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 item (for example, Disk Space, Operating Systems, or Locations).
  • If you want to bill the total amount as a single item and not seperately.
  • If you want the billing cycle of the addon to match the billing cycle of the product.

When should I use addons instead of configurable options?

  • If the item is a one-time service.
  • If clients can select the item independantly of other items.
  • If you want to bill it on its own cycle (for example, you could bill a dedicated IP address annually regardless of the package cycle).

Configurable Options

Setting up a New Group

  1. Go to Setup > 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 Setup > 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. A new window will allow you to 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 the Add Option field 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 the Sort Order column 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

The Dropdown option type 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

The Yes/No option type 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

The Radio option type 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

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

When creating or editing a Quantity option, you can set maximum and minimum vales. You may also allow clients to enter any quantity by leaving both the 'Minimum' and 'Maximum' fields 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. Like the Quantity option type, you must supply a minimum and maximum quantity and use it in conjunction with 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 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.

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.