Product Configurator / Matrix BOM / Product with Parameters
The Product Configurator / Matrix BOM functionality is an extremely powerful feature which allows:
- managing a large set of configurations of a product,
- easily configuring products with many variations,
- configuring parameters and variations for a product,
- automatically generating Bills of Materials for each configuration/variation according to selected parameter values,
- selecting parameter values/configurations from drop-down fields.
Some usage examples:
- Products where parameters change used materials, e.g., garments with variations in size and color.
- Machines, industrial equipment, electronics, bicycles, etc., use different parts based on setup/configuration.
- Chemicals, beauty products, pharmaceuticals, food, etc., e.g. ice cream which is produced in bulk and then packaged into many different standard packages;
- Bulk products such as fasteners and nails are produced thousands at a time and then packaged into different boxes in different quantities.
- Etc.
Jump to:
- How to enable BOM with Parameters / Matrix BOM?
- What do the parameters, values, relations, and variations mean?
- How to set up a BOM with parameters for an item?
- Auto-creation of variations for orders from e-commerce.
- Examples of setting up Matrix BOM.
- Demo Video: BOM With Parameters (Matrix BOM).
- Troubleshooting.
Enabling Product Configurator / Matrix BOM
To use this function, turn it ON at Settings -> System settings -> Professional functions -> Matrix BOM: Yes.
The following settings are possible:
- Auto-creation of variations (Yes/No):
- If yes, it is possible to choose all parameter values in any combination from drop-down fields when looking up the product (e.g. when entering a CO or a MO), and the software creates the variations that have not been defined earlier.
- If no, only pre-defined variations on the item's details page of a product are allowed to be used. - Unique variation numbers (Yes/No):
- If yes, each variation will have a unique part number. Customizing a variation's part number at Stock -> Items -> Items details -> Variations -> Variation's details is possible.
- If yes, each parameter value must have a unique code, which, by default, will be added as a suffix to the main part number. E.g., for value, the Large suffix L is added to part number A01 -> A01/L.
- If no, all variations will share the same part number. - Separator: a symbol that is used in between parameter value codes that are added to the product part number. E.g., "/" is used in A01/L, where L represents the value Large.
- If variations have separate part numbers, this character is used to connect/separate parameter codes, which are added as suffixes to the main part number. - Variable selling prices (Yes/No):
- If yes, it is possible to set price adjustments for particular parameter values which affect the base sales price of the item. When creating a customer order or an invoice, the software will add price adjustments to the selling price, if it is taken from stock item's details. Please note that if a custom selling price is defined in a price list, then this price has priority over the selling price based on the item's details and price adjustments.
If turned on, then
- sections Parameters and Relations become available in Stock -> Stock settings;
- column Parameters can be enabled in tables, which display a list of items (e.g. Stock -> Items); this column displays the combination of parameter values of the specific product variation the line in the table refers to;
- parameters can be defined for stock items on the item details page;
- the Variations section becomes available on the item details page for items that have saved parameters;
- Relations can be used in BOMs as line items;
- if some parameter values change quantities of raw materials, additional columns will appear on the BOM for each variation of the parameter(s) value;
- specific parameter values of the product can be chosen when looking up the product (e.g. when entering a Customer Order or a Manufacturing Order). As a result, the software will generate the BOM of this specific variation and track this variation separately.
Matrix BOM terminology
Matrix BOM has four core components: parameters, parameter values, relations, and variations.
- Parameters - a parameter is one variable of the product.
Different parameter values can change the specific raw materials used, their quantities, or both:
- If a parameter does not affect quantities of raw materials, then only the raw materials themselves can change according to chosen parameter values (via a relation).
- If it does, then extra columns will appear on the BOM, where you must define quantities of raw materials for each parameter value. (Leave the quantity field empty, if quantity is zero for a given parameter value.)
A common example of a parameter is Size, where for each size value the clothing item uses more or less fabric. - Parameter values - parameter values are individual possible settings for a parameter.
Parameter values can have individual codes, which are added as a suffix to the part number.
Parameter values can change the base sales price of the item.
E.g. for parameter Size, the values are S, M, L, etc. - Relations - if parameter values must change the raw material used, then the relation connects specific parameter values to specific stock items.
One relation swaps out one part only (one line in the BOM). If a specific combination of parameters changes several parts (several lines in the BOM), you must create several relations, one for each part (line in the BOM).
E.g., a common parameter Package has different values: Small box, Medium box, Large box. The Relation connects each value to a corresponding stock article, e.g. Small box -> #A-01 small carton 10x10x10 , Medium box -> #A-02 medium carton 20x20x20, etc. - Variations - one variation corresponds to one final product with a certain combination of parameter values.
E.g. a shirt Size: S, and Color: Red is one specific variation of the product.
Setting up product variations with Matrix BOM
- In Stock -> Stock settings -> Parameters, the parameter(s) must be configured.
- If a parameter's value (or combination of different parameters' values) swaps the individual materials of the product, Relations must be configured in Stock -> Stock settings -> Relations.
- Add the parameter(s) to the product in the item details page, and save.
- A subsection Variations appears in the item details. Select the allowed values of the parameter(s) for that product in this subsection, i.e. choose the allowed combinations.
- Create the Bill of Materials.
- If some parameter modifies the quantities of raw materials, then extra columns appear in the BOM for entering the corresponding quantity for every parameter value. (Leave the quantity field empty, if quantity is zero for a given parameter value.)
The number of columns cannot exceed 150. - When a part is also parametrical, and the product and the part have the same parameters, select the part without selecting particular parameter values when creating a BOM for the product.
When creating an MO, MRPeasy will use the product's parameter values to select the particular variation of the part. All possible variations of the parts must be created earlier.
This is a multi-level Matrix BOM. - If a different part is to be used in the BOM according to different parameter values, then choose the relation as the line item to represent the part that will be swapped. The correct part is input according to chosen parameter values.
- Create the Routing as normal. The routing is shared among all variations.
Now Matrix BOM is set up. When creating a CO or MO, choose the product and then the exact values of its parameters.
Auto-creation of variations for orders coming from e-commerce
If an order is received from e-commerce or Zapier integrations, then MRPeasy can create missing variations automatically when all the following conditions are met:
- Both options, "Auto-creation of variations" and "Unique variation numbers," are switched enabled in MRPeasy -> Settings -> System Settings -> Professional Functions -> Matrix BOM.
- A separator (for example, "-") is set in Matrix BOM settings.
- Parameters and values are configured in MRPeasy.
- A product with parameters is configured in MRPeasy (for example, a product with part number 'A0001' and parameters "Size" and "Color").
Now, when an order is received, e.g., with part number A0001-S-GR, then:
- MRPeasy will split the SKU by separator and understand that
- the product is "A0001",
- the first parameter's value is "S,"
- and the second parameter's value is "GR."
- If this variation already exists for A0001, it will be used. Otherwise, this variation will be created automatically.
Matrix BOM examples
Jump to an example:
- Demo video.
- Example 1. A parameter value changes a part in the BOM via one relation
- Example 2. Using phantom BOM to add several parts when selecting a value (or a combination of values).
- Example 3. A parameter value adds or changes several parts in the BOM via several relations
- Example 4. A parameter value changes the item and part quantities in the BOM via a parameter that changes the quantities of raw materials
- Example 5. Several parameter values combine to change a part and quantities in the BOM. Relations and parameters which change quantities are used at the same time
- Example 6. Multi-level Matrix BOM. A part or sub-assembly has the same parameters as the product, and parameter values are passed down to part/sub-assembly.
Example 1. A parameter value changes a part in the BOM via one relation
- This example explains how one parameter can change a product's parts or raw materials via a relation.
- In this specific example, an electronics product can have different power ratings, thus power is considered a parameter, and each value would correspond to a different used Power Supply Unit (PSU).
Step 1. There is one parameter set up at Stock -> Stock settings -> Parameters:
- Power - different values correspond to different Power Supply Units (PSUs). Values: 200W, 500W, 1000W, ...
The Power parameter is configured as This parameter changes the quantities of raw materials: No.
Step 2. One relation is set up at Stock -> Stock settings -> Relations, which relates the Power parameter values to the PSU items:
Relation: "Power parameter to PSUs" | |
"Power" value | Corresponding PSU |
200W | #A-01, PSU 200W |
500W | #A-08, PSU 500W |
1000W | #A-14, PSU 1kW |
... | ... |
Step 3. At the item's details, one parameter is chosen: Power. And the item is Saved.
Step 4. Allowed variations are added by clicking the + button in the Variations section of the item's details, which just became available.
Step 5. The Bill of Materials will need to be set up as follows for the item:
Product group | Part | Notes | Quantity |
Parts | PCB board | 1 | |
Parts | Capacitor 10uF | 20 | |
Relation "Power parameter to PSUs" | 1 | ||
... | ... | ... | ... |
This means that if you choose Power value:
- 200W - the BOM will contain 1 "PSU 200W";
- 500W - the BOM will contain 1 "PSU 500W";
- 1000W - the BOM will contain 1 "PSU 1kW".
- All other parts are common among all variations.
Step 6. The Routing of the product, defined in the item's details, is shared among all variations.
Finished. Now, you can plan production and sell these items. The parameter values can be chosen from any product choice field when choosing the product. Each variation is separately tracked in stock (don't forget to enable the Parameters column).
Example 2. Using phantom BOM to add several parts when selecting a value (or a combination of values).
Sometimes, with one parameter value (or one combination of values), it is necessary to include many parts in the BOM.
An easy way to achieve this is with the help of phantom BOM:
- Create an item representing the collection of parts that will be added to the product's BOM.
- Add a BOM to that item, which includes all the components that should be added.
- Include this item in the Matrix BOM.
- When this item is added to Matrix BOM, all the parts in the BOM of this collection will be pulled into the BOM of the product when a Multi-level Manufacturing Order is made.
Example 3. A parameter value adds or changes several parts in the BOM via several relations
- This example explains how one parameter can change several parts or raw materials of a product by applying several relations to one parameter.
- In this specific example, an electronics product can have different power ratings. Thus, power is considered a parameter, and each value would correspond to a different used Power Supply Unit (PSU).
- For each PSU, a specific controller corresponding to the PSU must also be used in the BOM.
Step 1. There is one parameter set up at Stock -> Stock settings -> Parameters:
- Power - different values correspond to different Power Supply Units (PSUs). Values: 200W, 500W, 1000W, ...
The Power parameter is configured as This parameter changes the quantities of raw materials: No.
Step 2. Two relations are set up at Stock -> Stock settings -> Relations, one which relates the Power parameter values to the "PSU" items, and the other which relates the Power parameter values to "Controller" items:
Relation: "Power parameter to PSUs" | |
"Power" value | Corresponding PSU |
200W | #A-01, PSU 200W |
500W | #A-08, PSU 500W |
1000W | #A-14, PSU 1kW |
... | ... |
Relation: "Power parameter to Controllers" | |
"Power" value | Corresponding PSU |
200W | #A-02, Controller A |
500W | #A-09, Controller B |
1000W | #A-15, Controller C |
... | ... |
Step 3. At the item's details, one parameter is chosen: Power. And the item is Saved.
Step 4. Allowed variations are added by clicking the + button in the Variations section of the item's details, which just became available.
Step 5. The Bill of Materials will need to be set up as follows for the item:
Product group | Part | Notes | Quantity |
Parts | PCB board | 1 | |
Parts | Capacitor 10uF | 20 | |
Relation "Power parameter to PSUs" | 1 | ||
Relation "Power parameter to Controllers" | 1 | ||
... | ... | ... | ... |
This means that if you choose Power value:
- 200W - the BOM will contain 1 "PSU 200W" and 1 "Controller A";
- 500W - the BOM will contain 1 "PSU 500W" and 1 "Controller B";
- 1000W - the BOM will contain 1 "PSU 1kW" and 1 "Controller C".
- All other parts are common among all variations.
Step 6. The Routing of the product, defined in the item's details, is shared among all variations.
Finished. Now, you can plan production and sell these items. The parameter values can be chosen from any product choice field when choosing the product. Each variation is separately tracked in stock (don't forget to enable the Parameters column).
Example 4. A parameter value changes the item and part quantities in the BOM via a parameter that changes the quantities of raw materials
- This example explains how one parameter can change a product's quantities and/or parts or raw materials without using a relation.
- In this specific example, an electronics product can have different power ratings. Thus, power is considered a parameter, and each power value corresponds to a different used Power Supply Unit (PSU).
Step 1. There is one parameter set up at Stock -> Stock settings -> Parameters:
- Power - different values correspond to different Power Supply Units (PSUs). Values: 200W, 500W, 1000W, ...
The Power parameter is configured as This parameter changes the quantities of raw materials: Yes.
Step 2. No relations are configured at Stock -> Stock settings -> Relations.
Step 3. At the item's details, one parameter is chosen: Power. And the item is Saved.
Step 4. Allowed variations are added by clicking the + button in the Variations section of the item, which just became available.
Step 5. The Bill of Materials will need to be set up as follows:
Product group | Part | Notes | Quantity 200W |
Quantity 500W |
Quantity 1000W |
... |
Parts | PCB board | 1 | 1 | 1 | ... | |
Parts | Capacitor 10uF | 20 | 30 | 40 | ... | |
PSUs | #A-01, PSU 200W | 1 | ... | |||
PSUs | #A-08, PSU 500W | 1 | ... | |||
PSUs | #A-14, PSU 1kW | 1 | ... | |||
... | ... | ... | ... | ... | ... | ... |
This means that if you choose Power value:
- 200W - the BOM will contain 1 "PSU 200W", 20 capacitors, and a PCB board;
- 500W - the BOM will contain 1 "PSU 500W", 30 capacitors, and a PCB board;
- 1000W - the BOM will contain 1 "PSU 1kW", 40 capacitors, and a PCB board.
Step 5. The Routing of the product, defined in the item's details, is shared among all variations.
Finished. Now, you can plan production and sell these items. The parameter values can be chosen from any product choice field when choosing the product. Each variation is separately tracked in stock (don't forget to enable the Parameters column).
Example 5. Several parameter values combine to change a part and quantities in the BOM. Relations and parameters which change quantities are used at the same time.
- This example explains how several parameters can combine to change a product's quantities and/or parts or raw materials. Both relations are used, and parameters change the quantities of raw materials.
- In this specific example, we're building a clothing item that is manufactured in various sizes, fabrics, and colors.
- The combination of fabric and color determines the used material; the size determines the consumption of materials.
Step 1. There are 3 Parameters set up at Stock -> Stock settings -> Parameters:
- Size - affects the quantities of materials consumed. Values: S, M, L, ...
The Size parameter is configured as This parameter changes the quantities of raw materials: Yes. - Fabric - affects which material will be consumed together with Color. Values: Red, Blue, ...
The Fabric parameter is configured as This parameter changes the quantities of raw materials: No. - Color - affects which material will be consumed together with Fabric. Values: Cotton, Linen, ...
The Color parameter is configured as This parameter changes the quantities of raw materials: No.
Step 2. One Relation is set up at Stock -> Stock settings -> Relations, which relates the Fabric and Color values to specific materials.
Relation: "Fabric-Color to material" | ||
"Fabric" value | "Color" value | Corresponding material |
Cotton | Red | #A-01, Red cotton |
Cotton | Blue | #A-08, Blue cotton |
Linen | Red | #A-14, Red linen |
... | ... | ... |
Step 3. At the item's details, the three parameters are chosen: Size, Fabric, Color. And the item is Saved.
Step 4. Allowed variations are added by clicking the + button in the Variations section of the item's details, which just became available.
Step 5. The Bill of Materials for the item will need to be set up as follows:
Product group | Part | Notes | Quantity, Size S |
Quantity, Size M |
... |
Relation "Fabric-Color to material" | 1 | 1.5 | ... | ||
Accessories | Accessory 1 | 1 | 1 | ... | |
Belts | Belt 1 | 1 | 1.2 | ... | |
... | ... | ... | ... | ... | ... |
This means that if you choose Size, Fabric, and Color combination:
- S, Cotton, Blue - the BOM would contain 1 unit of "Blue cotton", 1 "Accessory 1", and 1 "Belt 1";
- M, Linen, Red - the BOM would contain 1.5 units of "Red linen", 1 "Accessory 1", and 1.2 "Belt 1";
- etc.
Step 6. The product's routing, defined in the item's details, is shared among all variations.
Finished. Now, you can plan production and sell these items. The parameter values can be chosen from any product choice field when choosing the product. Each variation is separately tracked in stock (don't forget to enable the Parameters column).
Example 6. Multi-level Matrix BOM.
- This example explains how to pass the product's parameter values to a parametrical part/sub-assembly with the same parameters (or a subset of these).
Step 1. Set up the part/sub-assembly with a Matrix BOM.
Step 2. Define all the allowed variations of the part/sub-assembly. All variations must be predefined; auto-creation of variations does not automatically create part/sub-assembly variations!
Step 3. Set up the product, choose the parameters, and allowed variations (if auto-creation of variations is not used).
Step 4. In the product's Bill of Materials, choose the part/sub-assembly without selecting the specific parameter values.
Product group | Part | Notes | Quantity |
Parts |
Part XYZ |
1 | |
Sub-assemblies |
Sub-assembly XYZ |
1 | |
... | ... | ... | ... |
This means that if you choose specific values for Parameter 1 and Parameter 2 for the product, then the BOM would contain:
- 1 unit of Part XYZ with the same Parameter 1 and Parameter 2 values;
- 1 unit of Sub-assembly XYZ with the same Parameter 1 and Parameter 2 values.
Step 5. Set up the Routing of the product.
Finished. Now, you can plan production and sell these items. The parameter values can be chosen from any product choice field when choosing the product. Each variation is separately tracked in stock (don't forget to enable the Parameters column).
Troubleshooting
Added a new parameter to an existing item
Issue:
- I still have stock of the items which do not have this parameter's values.
- I cannot select those old variations in forms, e.g., a CO.
- I cannot edit existing documents that contain these old variations.
Explanation:
- Because you added a new parameter, the old variations are no longer fully defined. They have a new parameter, but its value is undefined.
To fix this, it is possible to:
- Fully define the old variations by selecting a value for this parameter for these:
1. Open the item and edit the old variations in the "Variations" section of the item details page.
2. Select a value for the new parameter. If none of the values is relevant/applicable, add a new value, e.g., "None" or "NA," which you will use.
3. Save. Now, for this same variation, this value will be used for all existing items.
4. You can now select these form variations and edit old documents. - Remove the new parameter (temporarily).
- Write the old items off at Stock -> Inventory.
To prevent this:
- It might be advisable to create a new item instead when updating or adding parameters.