Managing Multi-level BOM
Suppose you have a manufacturing process that includes making sub-assembly products prior to the final product. In this situation, how would you handle the BOM?
First, you must have BOMs for the sub-assemblies, then these must be referenced to the BOM of the finished product. In ERPNext, every sub-assembly item must have their own specific BOM, which gets nested in the finished good BOM (FG Item). This format facilitates proper production planning, material needs, and cost estimation on multiple assembly levels.
For instance, when producing a Personal Computer, the system enables you to create a multi-level or nested BOM to manage the different components and their sub-assemblies:
Personal Computer (FG Item)
- Motherboard
- SMTP
- Accessories and wires
Hard Disk (sub-assembly)
- Item A
- Item B
- Item C
DVD Drive (sub-assembly)
- Item X
- Item Y
- Item Z
Here, Hard Disk and DVD Drive are considered as sub-assemblies. Both of them have their respective BOMs (say BOM-HDD-001 for Hard Disk and BOM-DVD-001 for DVD Drive). These sub-assembly BOMs are later used in the Personal Computer BOM (say BOM-PC-001).
The 'Materials' table of the Personal Computer's BOM will have components such as the Hard Disk and DVD Drive (i.e., sub-assemblies) only, whereas the 'Materials Required (Exploded)' table will have all raw materials from every level, e.g., Item A, B, C, X, Y, and Z. The exploded view gives a full breakdown of all materials to be used in manufacturing the FG item.
To apply multi-level BOM in a Work Order, make sure the 'Use Multi-Level BOM' checkbox is ticked. This is the default option. When you enable it, ERPNext will automatically add all sub-assemblies and their operations and material in the Work Order. If you produce sub-assemblies individually, untick this option so that just the top-level BOM is taken into account in the Work Order.
Caution
Exercise care while revising the BOM of a sub-assembly since these changes do not automatically cascade through to parent BOMs. If the BOM of a sub-assembly is altered, parent BOMs will have to be manually revised to incorporate these changes as well.
Resuming the Personal Computer example:
The PC features a BOM: BOM-PC-001, which points to the Hard Disk: HDD-001, which itself has a BOM: BOM-HDD-001.
BOM-HDD-001 includes Item A, Item B, and Item C.
In case you have to substitute Item C with Item D, you will have to make a new BOM for the Hard Disk, e.g., BOM-HDD-002, containing Item A, Item B, and Item D.
Next, update HDD-001 to utilize BOM-HDD-002. Still, the parent BOM, BOM-PC-001, is still referring to HDD-001 with BOM-HDD-001 and hence will not see the change.
To make sure BOM for the Personal Computer is updated with this, you have to generate a new BOM, e.g., BOM-PC-002, with reference to HDD-001 and BOM-HDD-002.
This keeps BOM hierarchies consistent and prevents faulty material planning. Always check all dependent BOMs while changing sub-assemblies to keep accuracy in your production hierarchy.