A variant is a sellable version of a product — Medium / Navy, the 5 lb bag, the 3-pack. In minipim each variant has its own SKU, its own attribute values where they differ, and its own media, while everything else is inherited from the product.

Inheritance, not duplication

A variant only stores what’s different. Leave a field blank and it inherits the product’s value; set a price, weight or image on the variant and it overrides just that. Change the product’s description once and every variant has it.

Variant axes and matrix generation

Mark any attribute as a variant axis — size, colour, pack size — and minipim can generate the variant matrix: pick the axis values and it creates every combination in one step, each with a SKU built from a template you choose (or from the product slug and the axis values). Every generated variant is validated like any other write, and a SKU clash stops the batch rather than half-creating it.

Identifiers that are actually checked

Each variant can carry identifiers: SKU, UPC, GTIN-8, GTIN-12, GTIN-13, GTIN-14, EAN, MPN, ASIN, ISBN, or your own custom type. Barcodes in the GTIN family — GTIN, UPC and EAN — are checked against the GS1 check digit and length when you save them, so a mistyped barcode is caught before it reaches a feed. SKUs are unique across your catalog.

Channel readiness understands identifiers too: require a GTIN on a channel and every variant needs one.

Duplicating products

Duplicate a product and minipim deep-copies it into a new draft — attributes, categories, modifiers, media, related products and every variant — with fresh SKUs and slug. Barcodes aren’t copied, because they belong to exactly one item.

Variants vs. modifiers

Variants are things you stock separately. Options that don’t create a new SKU — engraving, gift wrap, a subscription cadence — are modifiers.

Good to know

  • minipim doesn’t track inventory. Stock stays in your commerce platform.
  • Price is an attribute like any other, so variant pricing is a per-variant override rather than a separate pricing engine.
  • MPN, ASIN and ISBN values are stored as entered, without check-digit validation.