CommerCentr
EN
Sign in

Product variants: colour, size and how the price is built

Variants are one product with several versions, each with its own price, stock and SKU: a t-shirt in three colours and four sizes. Every combination lives separately, yet the catalogue still shows a single product.

The reassuring part first: a product with no combinations behaves exactly as before — price from the base price, stock from the product. The variant matrix is an addition, not a replacement.

The three attribute switches people mix up

The attribute form has three independent switches. Confusing them causes most of the «why doesn't this work» questions.

SwitchWhat it doesWhere the buyer sees it
Variant axisMakes the attribute combinable: its values become a selectorSelector on the product page
FilterableShows the attribute in category filters. Unrelated to variantsFilter sidebar
SEO facetAllows dedicated landing addresses for this attributeSeparate filter URLs

Any combination of switches is allowed. Clothing size typically needs all three.

The trap: «variant axis» removes the attribute from the specifications list. That is deliberate — size should not appear both in the selector and in the spec table. But if you enable it on a product without a matrix, it looks like the specification vanished. If you are not going to build combinations, do not switch it on.

Only attributes with discrete values can be an axis: list, multi-list, colour or image. Colour and image draw a swatch or thumbnail in the selector instead of text, but the logic is the same — one value per axis.

Pricing: product mode first, then values

A combination's price is built in two layers, and the order decides everything.

Layer 1. The product's price mode

ModeWhat appliesWho it suits
Explicit priceYou type the price on the combination itself. All modifiers are ignoredArbitrary sets where prices follow no formula
ModifiersFull price, surcharge, discount, percentageClothing, accessories
CoefficientsMultiplication onlyRugs, fabrics — anything priced by area

A product is either coefficient-based or modifier-based. They cannot be mixed within one product, and that is not an interface bug: the foreign operator is simply not applied, silently. If a price «does not react» to a value you configured, the product mode is most likely filtering that operator out.

Layer 2. The value's price mode

Each axis value carries its own effect on the price. With a base price of 1,000:

Value modeWhat it doesSet toResult
No effectValue with no pricing impact1,000
Full priceThe whole variant price; base is ignored950950
SurchargeAdd an amount1501,150
DiscountSubtract an amount100900
PercentagePercent of the current value; negative means a discount151,150
CoefficientMultiply1.21,200

Axis order matters

With several axes they apply one after another — and the result depends on the order, because addition and percentages do not commute:

Chain (base 1,000)ResultWhy
+150, then 10%1,265(1000 + 150) × 1.1
10%, then +1501,2501000 × 1.1 + 150
full price 500, then +150650full price resets the base, the chain continues
+150, then full price 500500full price wipes everything before it

1,265 ≠ 1,250 is not a calculation error, it is arithmetic. The order is fixed, so the result is reproducible rather than shifting from one run to the next.

Coefficients are calmer in that respect: multiplication commutes, and 1.2 × 1.5 gives the same result as 1.5 × 1.2.

Stock and the price in listings

Every combination has its own stock, so «blue L sold out» does not block «blue M». In product listings the store shows a range: when combinations differ in price, the buyer sees «from» the cheapest one.

A practical order of work

  1. Decide which attributes are genuinely axes. Colour and size — yes; a material that changes neither price nor availability — probably not.
  2. Switch «variant axis» on only for those, remembering they will disappear from the specifications list.
  3. Choose the product's price mode before filling in values — it decides which operators will work at all.
  4. Set the pricing on the values rather than on each combination: that way prices compute themselves.
  5. Spot-check a few combinations by hand, especially with more than one axis and a percentage in the chain.