Advanced Variants

This guide covers the advanced variant features that go beyond the basic single-type setup. You'll learn to combine two pricing dimensions into a matrix, use Color as a visual identifier, and choose the right pricing mode for each product.


Two pricing dimensions (2D matrix)

Some products need two attributes that affect the price. For example, a blanket varies by Thickness (thin, medium, thick) AND Size (twin, super king). Instead of creating 6 separate products, create one with 2 variant types.

Step 1 — Create both variant types

Open Manage Variants from the Products toolbar and create both types with their values.

Manage Variants modal showing the Color type with colored circle swatches and a form to create new types
The variant manager — create types and values, Color renders with color circles

Step 2 — Select both types and fill in the matrix

Edit the product, enable variants, and select both type chips. Choose "Generates a different cost" and a 2D matrix appears: one type as rows, the other as columns (sorted alphabetically). Fill in each cell with the price for that combination.

Product edit showing Grosor Frasada and Tamaño Frasada selected, pricing mode set to "Generates a different cost", and a 2D matrix with prices from $120 to $190
Select 2 types → choose pricing mode → fill the 2D matrix. Cells left empty use the base price ($120).
ConsejoMaximum 2 pricing types per product. The matrix sorts types alphabetically — the first becomes rows, the second columns.

How it looks at the POS

The cashier sees a chip picker for each type. The price updates live as they select the combination. Both types are mandatory — there is no skip option when prices are configured.

POS variant picker showing Color swatches (Azul, morado, Rojo, Rosa), Grosor Frasada chips, and Tamaño Frasada chips with a live price of $120
POS picker — Color shows as swatches (optional), Grosor and Tamaño are mandatory

"Identifies only" vs "Generates a different cost"

When you select a variant type, a mode picker appears with two options:

Identifies only — all variants share the base price. The variant only labels the item on the ticket (e.g., "Size: Medium"). No price table. Great for tracking which item was serviced without changing the cost.

Generates a different cost — each variant or combination has its own price. The price table (or 2D matrix) appears for you to fill in.

Product edit showing the pricing mode selector — "Identifies only" on the left and "Generates a different cost" selected on the right, with a note showing Color is identifier-only
The pricing mode selector — "Identifies only" (left) or "Generates a different cost" (right)
NotaWhen all selected types are Color, the system defaults to "Identifies only" since most businesses don't price by color. You can always switch modes.

Color as a third identifier

Color is special: you can add it as a third type alongside two pricing types. It acts purely as an identifier — it never affects the price. A note confirms this: "Color — identification only, does not affect the price."

Your account comes pre-loaded with 12 colors (Red, Blue, Green, Yellow, Pink, Orange, Purple, Black, White, Gray, Brown, Beige) displayed as color swatches.

Color type card showing Azul, morado, Rojo, Rosa as colored circle pills
Color values render as visual circles instead of plain text pills

Example: a blanket with Thickness × Size (pricing) + Color (identifier). The cashier picks thickness and size (determines price), then optionally color (labels the item). The ticket reads "Thick · Super King · Blue — $160".

NotaColor is always optional at the POS — the cashier can skip it with "No color". Pricing types are mandatory when prices are configured.

Quick reference

Pricing types — Max 2. Each gets its own price per value or combination.

Color identifier — +1 optional. Never affects price, shows as color swatch.

Total types per product — Max 3 (2 pricing + 1 Color).

Empty matrix cells — Fall back to the product's base price. Only fill in what differs.

POS selection — Mandatory for pricing types. Optional for Color.