Skip to main content

How to Set Up Product Modifiers & Variants

Who Is This For?


StoreHub merchants who sell products with customisable options (like meal add-ons) or different versions (like sizes and colours), and need to choose between modifiers and variants.

Overview

This article covers two different ways to handle product options in StoreHub, and how to choose between them.

  • Modifiers let customers customise a single product at ordering time (e.g., 'Hot' or 'Iced' for a coffee, 'Add Extra Cheese' on a burger). Typically used by F&B businesses.

  • Variants are different sellable versions of the same product, each with its own stock count (e.g., a T-shirt in Small / Medium / Large, or Red / Blue). Typically used by Retail businesses.

This guide explains the difference, the rules for combining them with other features, and the step-by-step setup for each.


Before You Begin

  • Access to BackOffice (log in at your StoreHub BackOffice URL).

  • Products already added in BackOffice. If not, see this article first.

  • If you plan to set online prices for modifiers, make sure your online channels (Foodpanda, ShopeeFood, Beep/Webstore) are already connected.

Notes:

  • For shared modifiers, any prices you set for online channels must be entered as tax-exclusive.

  • Shared Modifier Groups, the option sets you reuse across many products can be created and updated using a CSV file import. See 'Import Shared Modifier Groups Using a CSV File' below.

  • Custom Modifier Groups, options that belong to one product only will be required to set up by hand (manually).

  • Online modifier prices do not apply to your QR Order and Pay menu. QR Order and Pay uses the standard 'Add to Price' value.

  • Variants cannot be used to track ingredient-level (composite) inventory. If you need to track ingredients, use modifiers with composite inventory instead. See How to Set Up and Use Composite Inventory.


Step-by-Step Guide

What Is a Modifier?

A modifier is an option you add to a product that lets customers customize their order. Think of them as the questions you ask a customer before making their item. Modifiers can be free or have an additional cost.

Example:

  • A modifier group called 'How would you like your coffee?' could have options like 'Hot', 'Iced' (+RM 1.00), or 'Add Caramel Drizzle' (+RM 0.50).

This is different from a variant, which is used for different sellable versions of a single product (e.g., sizes and colours on a T-shirt). See Modifier vs Variant below for the full comparison.


What Is a Variant?

A variant is a different sellable version of the same product. Each variant is its own SKU with its own stock count, per store. Use variants when your product comes in different options that customers pick at the point of purchase and you need to track stock for each option separately.

Example:

  • A T-shirt product with variants for Size (Small, Medium, Large) and Colour (Red, Blue). Each combination (e.g., Small-Red) has its own stock count.

Variants are typically used by Retail businesses. F&B businesses should usually use modifiers instead. See the comparison below.


Modifier vs Variant

Use this table to decide which one fits your product:

Modifier

Variant

Purpose

Customisation on top of a product at ordering time.

Different sellable versions of the same product.

Stock tracking

No separate stock per option (unless using composite inventory for ingredients).

Required. Each variant tracks stock per store.

Best for

F&B: drinks, toppings, cooking preferences, add-ons.

Retail: sizes, colours, flavour packs, any sellable SKU differences.

Pricing

Optional add-on price (e.g., '+RM 1.00').

Each variant can have its own base price.

Example

A latte with a 'Temperature' modifier (Hot / Iced) and a 'Milk' modifier (Full / Oat +RM 1.50).

A T-shirt with Size (S / M / L) and Colour (Red / Blue) variants, each row tracked as its own SKU.

Rules to remember:

  • A product can have both variants and modifiers. Set the modifier group on the parent product for the main product itself, not each Small, Medium or Large version underneath it and every variant gets that group automatically.

  • You cannot give one variant its own modifier group. Open a variant and the 'Has Modifiers' box is greyed out, because a variant always uses whatever modifier group is on its main product.

  • Variants require stock tracking. Track Stock Level must be enabled on the product.

  • Variants cannot be used with Composite Inventory. If you need ingredient-level tracking, use modifiers with composite inventory instead. See here.


Which Type of Modifier Should I Use?

Use a custom modifier if:

Use a shared modifier if:

Your options are unique and apply to only one product.

You want to reuse the same set of options across many products.

Example:

'Add Pickles' only applies to your 'Classic Burger'.

Example:

'Hot' or 'Cold' applies to all the drinks on your menu.

Single Choice

Multiple Choice

Use this if customers can only pick one option (e.g., a steak's cooking temperature can only be 'Rare' or 'Medium Well').

  • You only need to set a default option if you choose Single Choice.

Use this if customers can pick more than one option (e.g., a burger can have 'Add Pickles' and 'Add Extra Cheese').

  • Enable Quantity Selector: Tick this to let customers choose how many of each option they want (e.g., 2 servings of bacon). This applies to Beep and to your food delivery platforms (GrabFood, ShopeeFood, Foodpanda).

  • Min/Max Choices: Set a minimum and maximum number of options a customer can select. This setting applies to Beep and to your food delivery platforms (GrabFood, ShopeeFood, Foodpanda). It does not apply to POS or E-commerce.


Set Up Custom Modifiers

Use these steps for options that are unique to a single product.

1. In your BackOffice, go to 'Products'.

2. Select the product you want to edit, or click '+ Add Product' to create a new one.

Product list page with a product selected for editing.

3. Scroll down to the 'Modifiers' section and tick the 'Has Modifiers' box.

4. Under 'Custom Modifier Groups', choose a type ('Single Choice' or 'Multiple Choice') and click '+ Add Group'.

Custom Modifier Groups section showing Single Choice and Multiple Choice options with the Add Group button.

5. In the 'Modifier Detail' section, add your options. You will see columns to set up each choice:

  • 'Group Name': The name of the modifier group (e.g., 'Meal Size').

  • 'Name': The name of the option (e.g., 'Extra Cheese').

  • 'Add to Price': The standard price for in-store and QR Order and Pay orders.

Modifier Detail table showing Group Name, option Name, and Add to Price columns filled in.

6. If you use online platforms, you will also see a 'Price' field and a 'List on...' checkbox for each platform you use, such as 'Foodpanda', 'ShopeeFood', or your 'Beep/Webstore'.

Modifier Detail table showing additional price columns and List on checkboxes for online platforms.

Example:

  • Enter the price you want to charge for this modifier on that platform (e.g., 'Foodpanda Price').

  • Tick 'List on Foodpanda' to make the modifier available on Foodpanda. Untick it to hide it.

7. Click 'Save' at the bottom of the page when you have added all your options.


Set Up Shared Modifiers

Use these steps for options you want to reuse across many products. The process has two parts: creating the group, then linking it to products.

Part 1: Create the Shared Modifier Group

1. In your BackOffice, go to 'Products', then click 'Modifier Groups'.

2. Click 'Create a Modifier Group'.

Modifier Groups page with the Create a Modifier Group button.

3. In the 'Modifier Detail' section, enter a 'Group Name' for your modifier (e.g., 'Drink Temperature').

4. Choose a modifier 'Type'.

Modifier Detail section with Group Name field showing Drink Temperature as an example, and Modifier type dropdown showing Single Choice and Multiple Choice options.

Notes:

  • Single Choice: Use this if customers can only pick one option (e.g., a drink can be 'Hot' or 'Cold').

  • Multiple Choice: Use this if customers can pick more than one option (e.g., a coffee can have 'Extra Shots' and 'Add Whipped Cream').

5. Under 'Modifier Options', add a row for each choice and fill in the details:

  • 'Name': The name of the option (e.g., 'Hot', 'Cold').

  • 'Add-on Price': The standard price for in-store and QR Order and Pay orders.

Modifier Options table showing option names and add-on prices.

6. If you use online platforms, you will also see a 'Price' field and a 'List on...' checkbox for each platform (e.g., 'Foodpanda Price', 'List on Foodpanda').

Modifier Options table with additional online platform price columns and checkboxes.

7. Click 'Publish & Next'.

Part 2: Link the Group to Products

1. After creating the group, click the 'Add Products' tab.

2. Under the 'Linked Products' tab, click 'Link Product'.

Linked Products tab with the Link Product button visible.

3. Tick the box next to each product you want to link, then click 'Link Products'.

Product selection list with checkboxes ticked and the Link Products button.

4. A pop-up will appear asking for confirmation. Click 'Confirm'.

Confirmation pop-up with the Confirm button to link products to the modifier group.

Your linked products will now appear under the 'Linked Products' tab.


Import Shared Modifier Groups Using a CSV File

You can create and update Shared Modifier Groups from a spreadsheet instead of adding them one at a time.

To download the groups you already have, see 'Export Shared Modifier Groups Using a CSV File' below.

Read this before you start:

  • Import your Shared Modifier Groups before the products that use them. Re-importing a group replaces its whole list of options, meaning any option you leave out is removed from the group and from every product using it. There is no undo, so click 'Export to CSV' first and keep the file. It lists every option the group has today. Check it before you re-import it. See 'Export Shared Modifier Groups Using a CSV File' below for where that button is. The template ships six example rows for 'Size' and 'Add-ons' that import as real groups, so replace them with your own rows.

An imported group applies to every store on your account.

1. In your BackOffice, go to 'Products', then click on 'Import' and select the drop down list for 'Import Modifier Groups CSV'. You can also start from the 'Modifier Groups' page. If your Products page shows a single 'Import' button, click 'View legacy products' first.

2. On the 'Import Modifier Groups' page, click 'download a CSV template' and open the file in a spreadsheet program like Excel or Google Sheets.

The template open in a spreadsheet, guide row and example rows visible

3. Fill in one row for each option. Every row that shares the same 'Group Name' becomes one group, keep the group's settings the same on every one of its rows, or the whole group is skipped with an error like 'Choice type must be the same on every row'.

Column

What to enter

Group Name

Required. The name of the group, for example 'Sugar Level'. Every row with this name becomes one group. The name cannot start with a hash ( # ).

Choice Type

Required. 'Single' if the customer picks one option, 'Multiple' if they can pick more than one. Careful: changing a saved group from 'Multiple' to 'Single' also clears its selection limits and quantity setting.

Min Selection / Max Selection

Optional, for Multiple choice groups only. The smallest and largest number of options a customer can pick. On a new group, blank means no limit. On a group you already have, blank keeps the current setting.

Qty Selector

Optional, for Multiple choice groups only. 'Y' lets a customer order more than one of the same option. On a new group, blank means off. On a group you already have, blank keeps the current setting.

Option Name

Required. The name of the option, for example 'Less Sugar'. Each option in a group needs a different name. Careful: renaming an option you already have removes the old option and its settings. See 'Updating Groups You Already Have' below before you rename anything.

Default

Optional, for Single choice groups only. 'Y' pre-selects this option. On a new group, blank pre-selects the first option in the file. On a group you already have, blank keeps the current setting.

Add-to-Price

Required. The amount added to the product's price when this option is picked. Enter 0 if it is free. You can enter a negative amount to reduce the price. Prices here do not include tax.

Channel columns, for example 'GrabFood Price' and 'List on GrabFood'

Optional. You get one pair of columns for each online channel you sell on: Foodpanda, ShopeeFood, Beep/Webstore, and GrabFood. Enter a price only if that channel should stop following the option's Add-to-Price, and 'Y' or 'N' to show or hide the option there.

Note:

  • Leave a channel price cell blank if you want that channel to follow the option's normal Add-to-Price. If you type a price into the cell, even the same amount as the Add-to-Price, that channel is locked to that number and will not follow your future price changes.

  • Enter 'Y' or 'N' only. 'Yes' and 'No' are not accepted.

  • Do not rename, delete, or reorder the columns.

  • The grey row starting with a hash ( # ) explains each column. The import skips it, so you do not need to delete it.

4. Save the file as CSV, go back to the import page, click 'Select File', choose your file (5MB or smaller), then click 'Import'. The import runs in the background, and you will get an email from [email protected] when it finishes.

5. When it finishes, check the 'Import Tasks' table at the bottom of the page. The 'Remark' column shows the result, for example '1 group(s) created, 0 updated, 1 skipped'.

6. If some rows did not import, click 'Download' in the 'Errors' column for a file listing each skipped row and the reason. If one option in a group has a problem, the group's other rows read 'Skipped because another option in this group has an error'. Fix the row with a different reason, save as CSV, and upload that same file again. You do not need to delete the 'Error' column first.

Export Shared Modifier Groups Using a CSV File

You can download your Shared Modifier Groups as an Excel or CSV file to keep a record before you change anything, or to edit them in a spreadsheet and import them back. This downloads your modifier group setup, the options and their prices. It is not your sales, orders or transaction reports. See 'Import Shared Modifier Groups Using a CSV File' above for how to upload the file.

1. In your BackOffice, go to 'Products', then 'Modifier Groups'.

The Modifier Groups page in StoreHub BackOffice, with the Export to CSV button at the top right of the table

2. Click 'Export to CSV' at the top right of the table, next to the three-dots icon. The file downloads every Shared Modifier Group, one row per option.

3. To export only some groups, tick the boxes next to them first, then click

The Modifier Groups page with two groups selected by tick box and the Export to CSV button highlighted.

Note:

  • The file uses the same columns as the import, so you can edit it and import it back to update your groups. It lists the options in each group and their prices. It does not record which products use the group, so it is not a record of your product setup. Remember that re-importing a group replaces its whole option list, so keep every option you want in the file. Importing a file that lists only some of your groups does not touch the groups you left out of it. Custom Modifier Groups are not included, the export covers Shared Modifier Groups only.


Set Up Product Variants

Variants are best suited for retail businesses. They let you add single-selection options to a product (e.g., colour, size) and track stock for each combination across stores.

1. In your BackOffice, go to 'Products'.

2. Click '+ Add Product' to create a new product, or select an existing product to edit.

Products page with the Add Product button.

3. Enter the product name, pricing, and other details.

4. Scroll down to the 'Inventory & Variants' section. Tick 'Track Stock Level' and 'Has Variants'.

5. Under 'Variants', click 'Add Group'.

Inventory and Variants section with Track Stock Level and Has Variants checked and Variants section with the Add Group button.

6. Name your group of variants (e.g., 'Colour', 'Size') and add the options (e.g., 'Red', 'Blue', 'Green').

Variant group named Colour with options Red, Blue, and Green added.

7. Click 'Save'.

8. After saving, the variants will appear at the bottom of the product page. Enter the stock quantity for each variant in each store.

Variant table at the bottom of the product page showing stock quantities for each variant per store.

Note:

  • You can also upload products with variants in bulk using the CSV import template. See here.


Manage Existing Modifiers

To view, edit, export, or delete your shared modifier groups, go to 'Products' in your BackOffice and choose 'Modifier Groups'.

Edit a Modifier Group

1. On the 'Modifier Groups' page, click the pencil icon next to the group you want to edit.

Modifier Groups list page showing the pencil edit icon next to a modifier group.

2. Make your changes and click 'Save'.

Delete a Modifier Group

You can delete a modifier group using one of two methods.

Option A: Delete from the Main List (Batch Delete)

1. On the 'Modifier Groups' page, tick the boxes next to the group(s) you want to delete.

2. Click the three-dots icon on the right and select 'Delete Modifier groups'.

Modifier Groups page with checkboxes ticked next to groups selected for deletion and the three-dots menu showing the Delete Modifier groups option.

Option B: Delete from the Edit Page

1. Click the pencil icon on the group you want to delete.

2. On the edit page, click the three-dots icon in the top-right corner and select 'Delete Modifier Group'.

Modifier group edit page with the three-dots menu showing the Delete Modifier Group option.


Troubleshooting

Issue

Solution

Modifier prices are not showing on my online channel

Make sure you have entered a price in the platform-specific price column (e.g., 'Foodpanda Price') and ticked the 'List on...' checkbox for that platform.

I cannot find the online price columns

Scroll the modifier table horizontally. If you have many online channels, the columns may be off-screen to the right.

Modifier options are not appearing on QR Order and Pay

Online modifier prices do not apply to QR Order and Pay. QR Order and Pay uses the standard 'Add to Price' value. Make sure you have set the 'Add to Price' value.

Min/Max choices are not working on POS orders

The Min/Max Choices setting applies to Beep and to your food delivery platforms (GrabFood, ShopeeFood, Foodpanda). It does not apply to POS or E-commerce.

I want to track ingredients used by each modifier option

Use composite inventory with modifiers. See this article for steps.

I marked an optional modifier or modifier group as out of stock, but the whole product shows as out of stock

Check how stock is set for the parent product and for modifier options. Optional modifiers can still affect how the product appears when stock rules tie the parent item to modifier stock. Review each modifier option's stock settings and the product's inventory type.

If the issue is only on the POS register, see this article for out-of-stock sales settings.

My modifier has its own stock. Do I still track stock on the main product?

If you track ingredients per modifier using composite inventory, follow this article.

If the modifier is a simple add-on without composite setup, stock rules depend on how the product is configured.

Variant stock quantities not updating

Make sure you entered stock quantities in the variant table at the bottom of the product page after saving. Stock must be set per variant per store.

Parent product shows price 0 but my variant prices are correct

Check the parent product price field and each child variant price. Many merchants set the parent to 0 when all sellable prices live on variants. If POS should show a default, set a base price on the parent or confirm each variant row has the price you expect.

Error message: Children products must have at least one variant specified

Open the product, go to the variant section, and make sure each required variant group has at least one option selected or saved. Save the product, then sync POS.

A variant does not appear on my POS layout

Check the product is in the category or layout group assigned to that POS screen. Update the POS layout in BackOffice and sync the register.

I sell one bottle and a three-bottle pack. Should I use variants or modifiers?

Use variants when each option is a different sellable SKU with its own stock (for example, 1 bottle SKU and 3 bottle SKU). Use modifiers for add-ons that do not change the base SKU the same way. See the Modifier vs Variant section at the top of this guide.

My whole group was skipped but only one row was wrong

A group is saved or skipped as one set. Fix the row whose error names the real problem, then upload the file again. The other rows only say 'Skipped because another option in this group has an error'.

Options disappeared from my group after an import

The import replaces the group's whole option list, so any option missing from your file was removed. If you exported the group to CSV before importing, that file lists every option it had, then add them back and import again. If you do not have that file, the removed options cannot be recovered; contact StoreHub Support before you import anything else, so nothing further is lost.


FAQs

1. Can I have multiple variant groups on one product?

Yes. You can add multiple groups (e.g., 'Colour' and 'Size') and the system will create combinations (e.g., Red-Small, Red-Medium, Blue-Small, Blue-Medium).

2. I sell many brands of bottled beer and need stock per brand. Variants or modifiers?

Use variants when each brand is a different SKU with its own stock count. Use modifiers when the same base SKU only changes add-ons (for example, ice, lime) and stock is not tracked per add-on.

3. What is the difference between a modifier and a variant?

A modifier adds customizable options to a product (for example, Hot or Iced for a coffee). A variant creates different versions of a single product (for example, a T-shirt in Small, Medium, or Large). F&B businesses should use modifiers. Retail businesses typically use variants.

4. Can I create modifiers using a CSV file?

Shared Modifier Groups, yes. Go to 'Products' and click 'Import Modifier Groups CSV'. See 'Import Shared Modifier Groups Using a CSV File' above for the steps. Custom Modifier Groups, no. The options that belong to one product only must be created manually in the BackOffice.

5. Can I set different modifier prices for different online channels?

Yes. Each online platform you use (Foodpanda, ShopeeFood, Beep or Webstore) has its own price column in the modifier table. Enter the price you want for each platform. These prices must be entered as tax-exclusive for shared modifiers.

6. What happens if I delete a shared modifier group that is linked to products?

The modifier options will be removed from all linked products. Customers will no longer see those options when ordering.

7. Can I use both custom and shared modifiers on the same product?

Yes. A product can have both custom modifiers (unique to that product) and shared modifiers (reused across products) at the same time.

8. I sell the same dish as a set meal and ala carte. How do I track one pool of stock (for example, chicken pieces)?

Use one ingredient product with simple inventory, then use composite inventory on each sellable product (set and ala carte) so each sale deducts from the same ingredient stock. See here.

9. If a modifier is optional, should I still turn on stock tracking for it?

Only if you need the register or channels to block that option when it runs out. If you use composite inventory, ingredient stock is usually tracked on the ingredient product, not on the modifier label alone.

10. Can customers choose a variant (for example, size) before they pick modifiers?

Variants and modifiers are set up on the product in BackOffice. If you need a specific order of questions on the POS, check your product uses variants for the size step and modifiers for add-ons.

11. Can I export my Shared Modifier Groups to Excel or a CSV file?

Yes. Go to 'Products', then 'Modifier Groups', and click 'Export to CSV' at the top right of the table. The file downloads every group, one row per option, in the same columns the import uses, so you can edit it and import it back. To export only some groups, tick the boxes next to them first.

12. Can I add the same modifier group to many products at once?

Yes. The products CSV template has a 'Modifier Groups' column at the end. Type the group name on each product's row to attach it, separating more than one group with a semicolon ( ; ). The group has to exist already. See How to Manage Products in Bulk and Export to CSV for the steps.

13. Can I remove a modifier group from a product using a CSV file?

No. The products CSV only adds groups. Clearing a group name from the 'Modifier Groups' column does not detach that group. To remove a group from a product, do it in BackOffice.


Need Help?

Contact StoreHub Support via live chat in your StoreHub app or email [email protected].


Was This Article Helpful?
Let us know below or contact support for further assistance.

Did this answer your question?