| Bill of Materials (BOM) | |
| 📜 Product structure definition | |
| Purpose | Define what goes into a product |
|---|---|
| Contains | Components, quantities, levels |
| Used by | MRP, CRP, Costing |
| Accuracy target | ≥98% (Class A MRP II) |
| Part of | MRP II |
A Bill of Materials (BOM) is a structured list of all components, sub-assemblies, and raw materials required to manufacture a finished product, together with the quantity of each needed per unit. Within MRP II, the BOM is the structural backbone that enables MRP to "explode" end-item demand into component-level requirements.
A BOM is typically visualised as a tree. Consider a simple bicycle:
graph TD
BIKE["Bicycle
(Level 0)"] --> FRAME["Frame Assembly
(Level 1) ×1"]
BIKE --> WHEEL["Wheel Assembly
(Level 1) ×2"]
BIKE --> CHAIN["Chain
(Level 1) ×1"]
BIKE --> SEAT["Seat
(Level 1) ×1"]
FRAME --> TUBE["Steel Tubing
(Level 2) ×3m"]
FRAME --> PAINT["Paint
(Level 2) ×0.5L"]
WHEEL --> RIM["Rim
(Level 2) ×1"]
WHEEL --> TIRE["Tyre
(Level 2) ×1"]
WHEEL --> SPOKE["Spokes
(Level 2) ×36"]
WHEEL --> HUB["Hub
(Level 2) ×1"]
style BIKE fill:#cedff2,stroke:#333
style FRAME fill:#d5e8f5,stroke:#333
style WHEEL fill:#d5e8f5,stroke:#333
style CHAIN fill:#d5f5d5,stroke:#333
style SEAT fill:#d5f5d5,stroke:#333
Each level represents a stage of assembly. MRP processes the BOM level by level (top-down) to derive dependent demand at each level.
Some components appear at multiple levels (e.g., the same bolt used in both the frame and the seat). Low-level coding assigns each item the lowest level at which it appears anywhere in any BOM. This ensures that MRP only nets the item once, at the lowest level, after all gross requirements from higher levels have been accumulated — preventing premature ordering.
BOM accuracy is critical to MRP II success. Oliver Wight's Class A standard requires ≥98% BOM accuracy. Inaccurate BOMs cause MRP to order wrong quantities, leading to shortages on the shop floor or excess inventory. Maintenance practices include:
graph TB
BOM["BOM"] -->|"product structure"| MRP["MRP"]
BOM -->|"routing & operations"| CRP["CRP"]
BOM -->|"component list"| SFC["SFC"]
BOM -->|"buy items"| PUR["Purchasing"]
MPS["MPS"] -->|"end items"| MRP
style BOM fill:#cedff2,stroke:#333