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 seperately 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
- 1 When should I use configurable options instead of addons?
- 2 When should I use addons instead of configurable options?
- 3 Setting up a New Group
- 4 Managing Options
- 5 Hiding Options
- 6 Friendly Display Names
- 7 Product 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 the total amount to be billed as a single item and not seperately
- When 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 off service
- If it can be selected 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
Setting up 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)
- Then click Save Changes
- The page will reload showing the group details and allowing you to move on to managing options
- 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
- To add a new one, click Add New Configurable Option
- A popup will open and ask you to enter an option name and choose a type. The type can be one of 4 things:
- Dropdown - this will show a dropdown of options on the order form
- Radio - this will show a radio button selection 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
- Quantity - this will show an input field on the order form allowing the user to enter the number of the item they want
- Next, enter the first sub-option value you want to offer for this option (pricing is set after saving)
- Then click Save Changes
- 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
- If for the option type, you chose Yes/No or Quantity then only one sub-option is necessary
- For Dropdown or Radio types, to add another sub-option, again use the Add Option field at the bottom of the page
- After every addition, hit Save Changes to reload and set the new sub-options pricing
- Once you have completed configuring your options, click Close Window
- This will refresh the underlying page to show the option you just setup
- 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)
- Once you are entirely finished, click Back to Groups List to complete the process
WHMCS offers a variety of different configurable option types allowing for choice of the most appropriate input format. Below is a summary:
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.
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.
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.
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.
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.
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.
- 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
- 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
- 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.
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.
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
Information on Product Addons can be found on their own page.