Use variants when one product is really several: a shirt in three sizes, a bottle in three strengths, a syrup in five flavours. Each option gets its own price, its own barcode and its own stock count, but they stay grouped under one name on the register.
A product has one option type. You can sell by size, or by flavour, but not by size and colour on the same product.
Turn a product into a set of options
Variants are set up on a saved product, so create the product first.
- Open Products and click the product.
- Go to the Variants tab.
- In Option type, type the thing that varies — Flavor, Size, Color, Strength. This is a name you choose; nothing is preset.
- Press Enable variants.
The product is now a parent. On its own it is no longer sold — the cashier picks one of its options instead.
Add each option
Press Add variant and fill in the dialog:
| Field | What happens if you leave it blank |
|---|---|
| Option value (required) | — |
| Price override | The option is sold at the parent's price. |
| Cost override | The option uses the parent's cost. |
| UPC / Barcode | The option has no barcode of its own and cannot be scanned. |
| SKU override | The option gets no code of its own. The list shows Auto SKU — that is a placeholder, not a number you can look up or scan. Type a code here, or give the option a UPC, if you want to find it by code later. |
Each option becomes a real product in its own right. Its name is the parent's name followed by the option value — Blue Raz Syrup plus Large becomes Blue Raz Syrup Large. It inherits the parent's description, image, brand, category, age restriction and lab-result settings.
Two things to know before you start:
- Each option starts at zero stock. Adding a variant does not move any of the parent's stock across. Set the count for each one on the Inventory page.
- Set the counts before you sell. An option showing zero cannot be tapped in the picker — it is greyed out and marked Out. This is unlike a plain product, which the register will sell past zero. Scanning the option's own barcode still adds it, but tapping does not.
- Option values must be different from each other. Adding a second Large is refused.
The list on the Variants tab shows each option with its code, its price and its current stock at the location you are working in. The trash icon removes an option — it is archived the same way a product is, with no confirmation and no way back from inside the app.
To change an option's price, name or barcode after the fact, find it in the Products list — each option is listed there under its full name — and edit it with the normal product form. The Variants tab itself only adds and removes.
What the cashier sees
On the register, tapping the parent tile opens a picker headed Choose a <option type> — Choose a flavor, Choose a size — followed by the product name, with the note This product has options. Pick the specific one being sold. Each row shows the option, its price, its stock, and a red 18+ or 21+ badge if the option carries one. Tapping a row puts that option in the cart — unless its stock is zero, in which case the row is greyed out, marked Out, and cannot be tapped at all. Above six options, a search box appears at the top of the picker.
The option's own barcode still works. Scanning it adds that exact option straight to the cart, without the picker.
Typing the parent's name in the register's search box and pressing Enter does not add anything, even when the parent is the only thing on screen. That is deliberate: the parent has no price of its own, so the cashier has to tap the tile and choose.
Undoing it
There is no button that turns a parent back into a plain product. Removing every option leaves an empty parent that the cashier cannot sell. If you want the item back as a single product, add a new product for it and archive the parent.