Skip to Content
ERPX Documentation — Your complete guide to the ERPX platform
ModulesInventorySetupAttributes & Variants

Attributes & Variants

Go to: Inventory → Items → Attribute

Attributes describe the ways one product differs from another version of itself — Colour, Size, Material, Weight. Variants are the concrete items generated from those combinations.

Use them when you sell the same product in several forms and want to stock, price, and count each form separately while still reporting on the family as a whole.

The model in one picture

  • The template item carries Has Variants = On and the list of attributes.
  • Each variant is a real item with its own item code, its own stock, and Parent Item pointing at the template.
  • Stock is held on the variants, never on the template.

1. Create attributes

Go to: Inventory → Items → Attribute → New

FieldWhat it means
NameAttribute name (Colour, Size, Material)
StatusEnabled / Disabled — disabled attributes stay out of new items
Is NumericOn for measured attributes (weight, length) instead of a value list
From Range / To Range / IncrementOnly for numeric attributes: the allowed span and step

Text attributes vs numeric attributes

Text attributeNumeric attribute
Is NumericOffOn
Values come fromA list of Attribute Values you defineThe From/To range stepped by Increment
ExampleColour = Red, Blue, GreenWeight = 100 to 500 step 50

Attribute values

For text attributes, add the allowed values. Each value has:

FieldWhat it means
ValueThe value shown to users (e.g. Red)
AbbreviationShort form used when composing variant names/codes (e.g. RED)

Keep abbreviations short and unique — they are what make variant codes readable, e.g. TSHIRT-001-RED-S.


2. Turn an item into a template

Open the item

Go to Inventory → Items → Item and open (or create) the product that has variations — the template.

Switch on Has Variants

On the item’s properties, enable Has Variants. This marks the item as a template: it defines the family but does not itself hold stock.

Assign the attributes

On the item’s Attributes tab, add each attribute that varies (Colour, Size). Set the Naming Order to control the order in which attribute values appear in generated variant names.

Save

A template item and a Service item type are incompatible — ERPX rejects Has Variants on service items, along with every other stock flag.


3. Generate variants

Go to: Inventory → Items → Item → (open the template) → Variant

From the template item, open the variant screen and pick one value per attribute. ERPX creates a variant item that records, for each attribute, which value this variant carries.

Each generated variant is a normal item, so it has:

  • its own Item Code and Item Name
  • Parent Item = the template
  • its own stock, valuation, prices, batches, and serials
  • its own status (Draft → Enabled)

Which item do I transact on?

DocumentUse the template?Use the variant?
Purchase Order / GRNNoYes
Sales Order / Delivery NoteNoYes
Stock Entry / Transfer / ReconciliationNoYes
Reporting by product familyYes (roll-up)Yes (detail)

Never transact on the template. It exists only to define the family; stock posted against a template makes the family totals meaningless.


Creating variants by import

The item.csv template supports variants directly. Fill the Parent Item column with the template’s item name and put the attribute values in the trailing attribute columns:

Item Code, Item Name, Has Variants, Parent Item, Color, Size TSHIRT-001, Basic T-Shirt, TRUE, , Green, Big TSHIRT-001-RED-S, Basic T-Shirt Red Small, FALSE, Basic T-Shirt, Red, Small

Row 1 creates the template; row 2 creates a variant under it.

Tips

  • Decide the attribute set before generating variants. Adding a third attribute later means regenerating the matrix.
  • Do not create an attribute for something that is really a different product (a T-shirt and a hoodie are two items, not two variants).
  • Disable attribute values you have retired rather than deleting them — existing variants still reference them.
  • Two attributes with 5 values each is 25 items. Keep the matrix deliberately small.