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
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.
| Rule | Field | Values | Decides |
|---|---|---|---|
| Resolution | ResolutionMode | fixed · resolver | Which item is required |
| Quantity | QtyMode | constant · attribute | How much is required |
| Condition | Condition rows | none, or attribute-value rows | Whether 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
| Mode | Behaviour |
|---|---|
| Fixed Item | The same concrete item for every variant. A button is a button |
| Resolver | The 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 WidthDuring 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
| Mode | Behaviour |
|---|---|
| Constant | The line quantity, for every variant |
| By attribute | A 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.
| Rule | Condition | Qty |
|---|---|---|
| 1 | Size = S | 1.60 m |
| 2 | Size = M | 1.80 m |
| 3 | Size = L | 2.00 m |
| 4 | Size = XL | 2.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.”
| Field | Behaviour with a template BOM |
|---|---|
| BOM | The template. Stays as the work order’s BOM reference |
| Production Variant | Required. The concrete variant being made |
| Production Item | Becomes the variant, not the template item |
| Material lines | The resolved concrete items and quantities |
| Warnings | Quantity 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 / behaviour | Why | Fix |
|---|---|---|
| “a template BOM requires an item that has variants” | The finished-good item is a plain item | Use the template item, or make an ordinary BOM |
| “Select the finished-good variant to manufacture” | A template BOM was chosen with no variant | Pick 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 template | Check the item hierarchy |
| “The selected production variant is disabled” | The variant exists but is disabled | Enable it, or choose another |
| “No variant of ‘Cotton Fabric’ matches Fabric Colour = Navy Blue” | The RM variant has not been created | Create it, or add a per-variant override BOM |
| “The matching variant(s) of ‘X’ are disabled” | The right RM variant exists but is disabled | Enable one matching variant |
| “Multiple variants of ‘X’ match …” | The mapping is not selective enough | Map another attribute so the match is unique |
| “no value named ‘Blue’ exists on attribute ‘Fabric Colour’” | The vocabularies differ and no mapping exists | Add 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 attribute | Set the attribute value on the variant |
| “maps raw-material attribute ‘X’ more than once” | Two mappings target the same RM attribute | Remove the duplicate |
| “Material ‘X’ has no attribute mappings” | A resolver line with nothing mapped | Add a mapping, or set the line to Fixed |
| “requires at least one enabled finished-good variant” | Submitting a template whose item has no live variants | Create or enable a variant |
| “Variant X cannot be manufactured from this template” | One variant fails to resolve | Run the variant check and fix the reported line |
| A material line is missing from a work order | A condition excluded it for that variant | Check the line’s conditions and confirm that the exclusion is intended |
| Quantity is the default rather than the matrix value | No quantity rule matched | Add 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.
Related pages
- Bill of Materials: ordinary BOMs, operations, costing
- Core Concepts: explosion and level boundaries
- Production Plan: planning demand across several variants
- Work Orders: selecting the variant to produce
- Attributes & Variants: where attribute values come from