Catalog

Create Variant Sets for Size, Color and Options

Variants are reusable option dictionaries. Item variant mode turns selected values into separate sellable item rows with their own stock and price details.

Menu path
Inventory -> Variants
Verified from
Posnic demo and current POS source reviewed on 2026-09-08
Technical source evidence

frontend/modules/variants.html list export filter new controls, frontend/modals/variant_add.html name and Add Fields panel, frontend/static/script/js/modules/js/variants.js create edit detail delete export and value validation, frontend/modules/items_write.html variant mode first and second option selectors, frontend/static/script/js/modules/js/items.js loadSelectVariant loadVariant saveVariantFamily per-row SKU barcode price stock unit discount photo, api/src/models/variant.model.js fields array, demo.posnic.io Variants reviewed on 2026-09-04

Variants listThe list shows reusable variant sets when they exist; a new shop starts with an empty state until sets are created.
Add Variant valuesCreate the variant name, then add each allowed value with the plus button before saving.
Use variants on itemsAfter the set exists, turn on item variant mode and select the values that become sellable rows.

Variant Set Versus Variant Item

A Variant page record is only the option set, such as Size with Small and Large. It does not create products by itself. Products are created when the item form is switched to variant mode and values are selected.

  • Create a variant set once, then reuse it across many item families.
  • Use the item form to decide which values apply to a specific product.
  • Every generated variant row needs its own sale price and stock decision.
  • Every scannable variant needs its own SKU or barcode because it is sold as a separate item.
  • A service item cannot be a variant family; variant mode is for stocked products.

When to Use Variants

Variant setExample valuesUse for
SizeSmall, Medium, LargeFood portions, apparel sizes, drink sizes.
ColorRed, Blue, BlackRetail products with color choices.
FlavorVanilla, Chocolate, StrawberryFood or packaged products.
PackSingle, Box, CaseProducts sold in multiple package forms.

Create a Variant Set

  1. Open Inventory -> Variants.
  2. Click New.
  3. Enter the variant name, such as Size, Color, Flavor or Pack.
  4. Enter the first value in Add Fields, such as Small.
  5. Click the plus button to add the next value.
  6. Enter each additional value, such as Medium and Large.
  7. Use the remove button to delete a value entered by mistake before saving.
  8. Save the variant set.
  9. Open the saved row from the list and confirm the values are shown in the detail pane.

Variant Page Controls

The Variants list includes Export CSV, Filter and New. Selecting a row opens a read-only detail pane with the current values and edit/delete actions.

ControlUse it forOperator warning
Export this pageReviewing the currently visible variant sets.Useful before cleanup, but not a backup.
Export everything matching filterAuditing all matching option sets.Clear the filter before a full export.
FilterFinding Size, Color or another set quickly.Search before creating a near-duplicate.
NewCreating the set and its allowed values.Create only reusable option names.
EditFixing spelling or adding missing values.Review affected item families after the edit.
DeleteRemoving an unused set.Do not delete a set still used by item setup.

Use Variants on an Item

  1. Create the needed variant set first in Inventory -> Variants.
  2. Open Inventory -> Items -> New.
  3. Enter the parent item name, category, supplier and shared details.
  4. Click + This item has variants.
  5. Choose the first variant set, such as Size.
  6. Select the variant values that are actually sold.
  7. Use + Add a second option only when the product is sold by combinations such as Size and Color.
  8. Review the generated count hint before entering row details.
  9. Complete every generated row's SKU, Barcode, Cost, M.R.P, Selling price, Quantity, Item Units, discount and photo choice.
  10. Save only after every sellable variant row is complete.

Per-Variant Data

In variant mode the parent product does not own the selling price and opening stock. The generated rows own those values, because each selected value becomes a sellable item.

Per-row fieldWhy it mattersCheck before saving
SKUKeeps each variant searchable and import-safe.No two variants share the same SKU unless the shop deliberately does not use SKU.
BarcodeLets a scanner add the exact variant.Small and Large should not scan to the same line unless they are the same sellable item.
Cost, M.R.P and SellingControls margin and sale price for that variant.Do not leave sale price at zero unless price-at-sale is intentional.
QuantitySets opening stock for that exact variant.Count each size/color separately.
Item UnitsLabels stock and receipt quantities.Use the unit that matches the variant's stock count.
DiscountOptional item-level discount for the variant.Use amount or percent, not both.
Photo for this variantLets the sale tile show the correct variant image.Choose from the photos already uploaded for the item family.

Second Option Rules

The item form has + Add a second option for combination products. Use it carefully because the number of sellable rows is the product of both selected value lists.

  • Size with Small and Large creates two rows.
  • Size with Small and Large plus Color with Red and Blue creates four rows.
  • Do not add a second option when the shop only needs a descriptive name.
  • Avoid combinations the shop does not sell, because each extra row needs stock, price and barcode review.
  • Retest barcode scanning after creating combination variants.

Keep Variant Names Clean

Small spelling differences become real operating problems because item names, reports and searches can treat them as different values.

  • Use one variant set named Size instead of Size, Sizes and Product Size.
  • Use values staff will recognize quickly on the sale screen and barcode labels.
  • Do not mix unrelated concepts in one variant set.
  • Keep values short enough to read in item names and receipts.
  • Review existing items before deleting or renaming a variant set.
  • Export the variant list before a large cleanup.

Troubleshooting

ProblemLikely causeFix
No values appear on the item formNo variant sets exist or the set has no saved fields.Create and save the variant set first, then reload Add Item.
Price rows do not appearNo variant value was selected.Select at least one Variant Fields value.
Too many item rows are createdA second option created combinations.Remove the second option or select only values the shop sells.
Scanner adds the wrong variantVariants share a barcode or the barcode was not entered per row.Give each scannable variant its own barcode and test New Sale.
Variant form shows a required-field warningThe plus button added an empty value field.Fill the new field or remove it before saving.