How to Configure Bill of Materials and Formula in iDempiere
The Bill of Materials and Formula window lets retailers define a parent product built from multiple component products, such as a gift hamper assembled from packaged goods.
Once configured, the BOM drives inventory consumption, costing, and kitting or production transactions, ensuring component stock is accurately reduced when the parent product is sold.
Process Flow

Business Rules
- Only Active BOM records are available for kitting or production transactions.
- Each component line must reference an active, existing Product.
- Component Type separates functional components from packing materials.
- Quantity on each component line defines units consumed per one parent product.
Prerequisites
- Parent Product (e.g., GH-001_Premium Gift Hamper) created in the Product window.
- All component Products (Coffee Powder, Tea Pack, Chocolate Box, etc.) created and active.
- Organization and Tenant configured for the retail store.
- Product Category and UOM configured for the parent and component products.
- Warehouse and Locator configured so component stock is available.
Navigation
Menu → Manufacturing → Bill of Materials and Formula
Configuration Steps
Step 1: Create the Parent Product BOM Header
Open a new record on the Parent Product tab. Select the finished Product, confirm the Search Key and Name, and mark the record Active.
| Field | Sample Value | Description |
| Product | GH-001_Premium Gift Hamper | Parent product being assembled |
| Search Key | GH-001 | Unique product code |
| Name | Premium Gift Hamper | Product display name shown in transactions |
| Active | Checked | Enables the BOM header for use |

Step 2: Set BOM Type and BOM Use
Set BOM Type to Current Active so this version is used for transactions. Set BOM Use to Manufacturing so components are consumed during production or kitting.
| Field | Sample Value | Description |
| BOM Type | Current Active | Marks this BOM version as the one used for transactions |
| BOM Use | Master | Defines whether the BOM drives production, costing, or engineering |
| Revision | (optional) | Identifies the version of the recipe when it changes over time |
Step 3: Add Component Lines
From the Detail record tab, add a new line for each component product. Assign an incrementing Line No (10, 20, 30…) and select the component Product.
| Field | Sample Value | Description |
| Line No | 10, 20, 30… | Sets the display and processing order of components |
| Product | COF-250_Coffee Powder (250 g) | Component product consumed in the BOM |
| Component Type | Component / Packing | Classifies the line as a functional item or packing material |

Step 4: Define Component Line Details
Open each component line and set the Quantity required per parent unit. Mark the Component Type as Packing for wrapping or presentation items, then save the line.
| Field | Sample Value | Description |
| BOM Formula | GH-001_Premium Gift Hamper | Parent BOM this component line belongs to |
| Product | COF-250_Coffee Powder (250 g) | Component product for this line |
| Component Type | Component | Identifies this as a functional hamper item |
| Quantity | 1.0 | Units of the component consumed per parent product |
| Active | Checked | Enables the line for transaction processing |

Common Issues and Resolutions
| Issue | Cause | Resolution |
| Component product not found in search | Product is not Active or in the wrong category | Verify the Product is Active and saved before adding it to the BOM |
| Incorrect stock consumption after production | Wrong Quantity entered on a component line | Review and correct the Quantity value on each component line |
Next Steps
- Configure the Production Order / Work Order window to process the BOM.
- Set up Warehouse and Locator records for component stock availability.
- Review Product Costing for the parent product based on component costs.
- Configure Replenishment settings for component reorder points.