Skip to Content
ERPX Documentation — Your complete guide to the ERPX platform
ModulesManufacturingTemplate (Super) BOM

Template (Super) BOM

Start at Manufacturing → Bill of Material → New, then choose Template (Super) BOM.

A shirt sold in six colours and five sizes has 30 stock-item variants. Separate BOMs for all 30 variants are difficult to maintain because the same change may need to be repeated many times. A template BOM keeps the shared details in one record while still allowing materials and quantities to vary by item.

A template BOM is created for the template item that owns the variants. Its material lines use rules rather than only fixed items and quantities. When you create a work order for a specific variant, ERPX reads the variant’s attributes and produces the actual list of materials required.

One BOM covers every variant of an item. The rules are authored once and the resolution happens per work order, so adding a thirty-first variant usually means adding an item rather than another BOM.

How resolution works

One template BOM, resolved for one variant

VariantShirt · Colour = Blue · Size = XLTemplate BOM · written onceResolved · used by the work orderFabricResolverColour → Fabric ColourNavy Blue Cotton2.00 mThreadQty ruleSize = XL → 0.12Thread0.12 spoolLiningConditiononly when Fabric = WoolLiningnot includedcondition not met by this variantWoven LabelFixedsame for every variantWoven Label1 pcs
A template BOM is written against the template item, not a variant. At work order creation ERPX reads the chosen variant's attributes and resolves every line: a resolver swaps in the matching raw-material variant, a quantity rule picks the number for that combination, and a condition can drop the line altogether. Nothing is saved as a new BOM. The resolved list is written straight onto the work order.

ERPX resolves the rules when the work order is created. It creates a temporary, variant-specific material list and copies that list onto the work order. It does not create another BOM record, and the work order remains linked to the original template BOM.

The three rule types

For each material line, set the item to use, the quantity required, and any condition that decides whether the line is included.

RuleFieldValuesDecides
ResolutionResolutionModefixed · resolverWhich item is required
QuantityQtyModeconstant · attributeHow much is required
ConditionCondition rowsnone, or attribute-value rowsWhether the line applies at all

A line can use any combination. A line set to fixed, constant, and no condition behaves exactly like an ordinary BOM line, which is why an existing BOM keeps working unchanged.

Resolution: which item

ModeBehaviour
Fixed ItemThe same concrete item for every variant. A button is a button
ResolverThe line points at a raw-material template item, and the matching RM variant is chosen from the finished good’s attributes

A resolver line contains one or more attribute mappings. Each mapping uses a finished-good (FG) attribute to select a raw-material (RM) attribute.

FG attribute Colour → RM attribute Fabric Colour FG attribute Size → RM attribute Roll Width

During resolution, ERPX reads each mapped finished-good attribute, translates its value when necessary, and selects the one enabled raw-material variant that matches every mapped value.

The match must be unique. If two RM variants match, resolution fails and asks you to map another attribute so the match narrows to one. If none match, it tells you which combination it was looking for.

When the two vocabularies disagree

Finished goods and raw materials may use different names for the same value. For example, a shirt may use Blue while the fabric uses Navy Blue. ERPX checks the following matches in order and stops at the first one it finds:

An explicit attribute value mapping

A stored mapping from the source value to a value of the target attribute. This always wins.

The same value name

Case-insensitive match on the value name.

The same abbreviation

Case-insensitive match on the abbreviation.

If all three fail, resolution reports “no value named ‘Blue’ exists on attribute ‘Fabric Colour’. Add the value, or create an attribute value mapping.”

Quantity: how much

ModeBehaviour
ConstantThe line quantity, for every variant
By attributeA table of quantities, one per attribute-value combination

A quantity rule is a set of attribute-value conditions plus a quantity. The first rule whose conditions all match the variant wins.

RuleConditionQty
1Size = S1.60 m
2Size = M1.80 m
3Size = L2.00 m
4Size = XL2.20 m

If no rule matches, ERPX uses the line’s default quantity and records a warning. The BOM builder’s variant check reports this as “fallback used”. Review the warning because it often indicates a missing rule.

Condition: whether at all

Condition rows gate whether the line is included:

  • Rows sharing the same attribute are OR-ed. Any listed value matches.
  • Rows for different attributes are AND-ed. Every attribute must match.
  • A line with no condition rows is always included.

A Lining line conditioned on Fabric = Wool is consumed by wool variants and skipped by every other one, without any message.

Building a template BOM

Choose a template item

The finished-good item must have variants. A BOM on a plain item cannot be a template: “a template BOM requires an item that has variants”.

Mark it as a template

Tick Template (Super) BOM. The materials section becomes Raw Materials (Super BOM), with the rule editors on each line.

Add material lines

For each line set the resolution mode, the quantity mode, and any conditions. Fixed and constant is the default, so simple lines stay simple.

Map attributes on resolver lines

Pick the raw-material template item, then map the driving finished-good attribute to the raw-material attribute it selects on.

Preview against a variant

Choose a variant and open the resolution preview. It shows the concrete material list that variant will produce, with any warnings.

Check every variant

Run the full check. Every enabled variant of the item is resolved and reported as ok, warning, or error, so rule gaps show up here rather than at work order creation.

Submit

When you submit the BOM, ERPX validates it again against the current items, attributes, and variants. This catches changes made after the draft was created.

A template BOM cannot be submitted unless its item has at least one enabled finished-good variant and every enabled variant resolves successfully. This prevents resolution errors when a production run is being created.

Per-variant override BOMs

A template does not have to cover every case. If a specific variant has an ordinary BOM of its own, that BOM wins.

Use an override when one variant has a genuinely different recipe, such as a limited edition with different trim. The work order records the BOM it used and shows a warning that the variant-specific BOM took priority.

Raising a work order from a template

The variant is not optional. Selecting a template BOM on a work order without choosing a variant is refused: “BOM ‘X’ is a template (Super) BOM. Select the finished-good variant to manufacture.”

FieldBehaviour with a template BOM
BOMThe template. Stays as the work order’s BOM reference
Production VariantRequired. The concrete variant being made
Production ItemBecomes the variant, not the template item
Material linesThe resolved concrete items and quantities
WarningsQuantity fallbacks and override notices, shown before you commit

The work order preview uses the same resolution and aggregation as the final work order. It also includes multi-level explosion when Use Multi-Level BOM is on. If a nested template cannot be resolved, the error appears in the preview before any work orders are created.

Common validations and troubleshooting

Message / behaviourWhyFix
“a template BOM requires an item that has variants”The finished-good item is a plain itemUse the template item, or make an ordinary BOM
“Select the finished-good variant to manufacture”A template BOM was chosen with no variantPick the variant on the work order
“The selected variant does not belong to this template BOM’s item”The variant is a child of a different templateCheck the item hierarchy
“The selected production variant is disabled”The variant exists but is disabledEnable it, or choose another
“No variant of ‘Cotton Fabric’ matches Fabric Colour = Navy Blue”The RM variant has not been createdCreate it, or add a per-variant override BOM
“The matching variant(s) of ‘X’ are disabled”The right RM variant exists but is disabledEnable one matching variant
“Multiple variants of ‘X’ match …”The mapping is not selective enoughMap another attribute so the match is unique
“no value named ‘Blue’ exists on attribute ‘Fabric Colour’”The vocabularies differ and no mapping existsAdd the value, or an attribute value mapping
“maps the finished-good attribute ‘Colour’, but the selected variant has no value for it”The variant is missing that attributeSet the attribute value on the variant
“maps raw-material attribute ‘X’ more than once”Two mappings target the same RM attributeRemove the duplicate
“Material ‘X’ has no attribute mappings”A resolver line with nothing mappedAdd a mapping, or set the line to Fixed
“requires at least one enabled finished-good variant”Submitting a template whose item has no live variantsCreate or enable a variant
“Variant X cannot be manufactured from this template”One variant fails to resolveRun the variant check and fix the reported line
A material line is missing from a work orderA condition excluded it for that variantCheck the line’s conditions and confirm that the exclusion is intended
Quantity is the default rather than the matrix valueNo quantity rule matchedAdd the missing combination to the table

Tips

  • Run the all-variant check before every submission. It identifies missing or conflicting rules before a work order is created.
  • Map only the attributes needed to identify one unique raw-material variant. Additional mappings create more values that must match.
  • Prefer explicit attribute value mappings over relying on matching names. Name matching works until somebody renames a value.
  • Use an override BOM for a genuinely exceptional variant instead of making the shared template rules unnecessarily complex.
  • Treat “fallback used” warnings as errors in review. They usually mean a missing row, not an intended default.
  • Keep resolver lines pointing at raw-material template items. Pointing one at a concrete variant is rejected, since there would be nothing left to resolve.