Bill of Materials (BOM)
A Bill of Materials is a list of parts and sub-assemblies with quantities needed to produce an Item. A BOM might also include the manufacturing operations needed to produce the Item.
A Bill of Materials (BOM) is central to the Manufacturing system and the most critical document that will assist in the generation of other document types such as Work Orders and Job Cards. ERPNext allows multi level BOMs where you can develop intricate product hierarchies with as many nested sub assemblies as required. Where a sub assembly itself contains a BOM, ERPNext interprets it as a new branch in the BOM tree.
BOM is a chart of all materials (purchased or produced) and activities involved in making a finished good or sub assembly. In ERPNext, every item (sub assembly) may have its own BOM thereby creating a tree of Items with various levels. Furthermore, every BOM level may have settings like scrap percentage, description, warehouse location, and expense account for every component.
In order to make proper Purchase Requests, you should always have proper BOMs. Proper BOMs make material planning, procurement, and costing rely on real consumption and production structure, reducing stockout and over-stock.
In order to view the BOM list, follow these steps:
Remember that a BOM once submitted cannot be directly edited. You need to cancel the current BOM, copy it, make your changes, and then submit the new one. ERPNext also has a built in BOM versioning mechanism, whereby you can set a BOM as the default version and keep historical copies for audit and traceability. Changes after submission are time consuming, since BOM entries refer to Costing, Work Orders, Stock Ledger, and Material Planning modules.
1. Prerequisites
Before generating and utilizing a BOM, it is recommended that you establish the following first:
Item: Set up finished goods, semi finished, and purchased items with settings such as default unit of measure, item group, valuation method (FIFO, LIFO, Moving Average), and procurement type (Buy, Manufacture, Subcontract).
Operation: Establish manufacturing steps and, if required, set default operation time and associated workstation.
Workstation: Set up a workstation or production cell with information such as work hours, capacity, hourly cost rate, holiday schedule, and cost center.
Routing: Build a collection of common Operations (sequence, time, cost, batch setup) to be reused on multiple BOMs in order to ensure consistency in manufacturing processes.
2. How to Create a Bill of Materials
Navigate to the Bill of Materials list and then click New.
Choose the Item to be produced. ERPNext will automatically retrieve the Item name, UoM, company, and currency from the Item master record. If there are different warehouses or companies for the Item, you can select or override these fields individually.
Specify the quantity of the finished Item to be made through this BOM. This quantity will be utilized to calculate costs and plan accordingly.
In the Items table, specify the raw material needed:
- Choose the raw material Item used in production.
- Specify the Quantity of raw material needed per unit of production.
- Define an Item Operation if this material is being used in a particular step of manufacturing. This allows Job Cards to reference precisely which step when it uses up the material.
- If the selected raw material is a sub-assembly with its own default BOM, ERPNext will import that BOM as a nested structure by default.
- Select the Source Warehouse to specify where the material will be taken from. When left empty, the system will pick up the default warehouse assigned for the Item.
- Enter the Scrap Percentage to provide for anticipated wastage in production (e.g., 2% scrap in the trimming or cutting process).
In the Scrap area, describe any by-product or waste produced:
- Choose the Scrap Item to be produced as a result of manufacturing.
- Input its Quantity.
- If the scrap is a useful by-product, you can also provide its value in terms of Rate, enabling ERPNext to deduct production cost against its residual value.
- If you anticipate no scrap (100% material use), you can ignore this section.
- If the scrap Item is identical with the finished good, label it as a Process Loss Item—ERPNext will deduct this quantity from the final output, cutting down the net production quantity.
After entering materials and scrap information, click Save and then Submit to save the BOM.
After being saved:
- In the Items table, check the Include Item in Manufacturing checkbox for raw materials you wish to consume.
- For Services or non-item expenses (e.g., chemical treatment process), do not check this box. ERPNext will include the expense in manufacturing but will not hold or consume an actual Item from inventory.
2.1 Bill of Materials with Operations
To add operations to your BOM, check the "With Operations" box. This will make an Operations table visible. This is particularly handy for monitoring the cost and time of different manufacturing stages involved in manufacturing the Item. Operations may be entered directly or imported using a Routing template, maintaining standardization across many BOMs.
In the Operations table, insert the steps required to produce this Item. You can either:
Add each Operation manually, choosing from your existing Operation list, or
- Import from a Routing template, which imports Sequence ID, workstation, times, and rates automatically.
Task
- For every operation added:
Choose a Workstation where this operation is done. ERPNext fills in a default workstation based on the associated Operation document, but you may override it.
Enter the Operating Hourly Rate, which determines the cost per hour for this operation. If left blank, ERPNext uses the hourly rate from the workstation or Operation record.
Enter the Operation Time in minutes, indicating how long the operation takes to process the batch.
Batch Size, which the operation will be processing. This assists in costing per unit appropriately.
The Operating Cost will be calculated automatically via the formula:
- $ \frac{\text{Hourly Rate} × (\text{Operation Time} ÷ 60)}{\text{Batch Size}} $
In later versions of ERPNext, each row in an Operation inherits the Sequence ID from the Routing template (or can be manually set). This allows Job Card execution to be correctly ordered, and operations will be prevented from being executed out of sequence by the system.
- Workstation Note: Workstations are not utilized for inventory tracking; they are only used for cost calculation and Job Card scheduling. Inventory consumption remains controlled by the Items table and allocated Warehouses.
Material Transfer Preference
- You need to configure Transfer Material Against when utilizing "With Operations." This controls how raw materials are transferred during manufacturing:
- Against Work Order: All the necessary materials are booked and shifted once at the beginning of the Work Order.
Against Job Cards: Materials are being used step by step as each operation's Job Card is finalized.
When to use which option:
Transfer via Work Order is effective for fast, low-cost items with low complexity.
- Transfer via Job Card suits high-value items, multi-step manufacturing, or workflows requiring precise tracking (e.g., traceability, cost visibility per operation, or regulated processes).
The choice depends on parameters like production time, material value, batch complexity, and labor skills.
2.2 Additional options when creating a Bill of Materials
Is Active: An Item may also be produced by a different set of materials/operations. Uncheck this checkbox then, to inactivate this BOM and use another one instead. New in recent versions: Inactive BOMs are automatically excluded from material planning and production.
Is Default: This BOM will be the default choice in Work Orders etc. when the Item is chosen.
Inspection Required: This will make 'Quality Inspection' a requirement for the raw material and final product. Choose the Quality Inspection Template after checking this box. Update: You can now also initiate automated inspection processes (pass/fail requirements and sampling rates) directly once stock entries are posted.
Allow Alternative Item: Occasionally, in the production of a finished product, materials might not be found. If you check this, then you can create and choose an alternative item from the Item Alternative list. For instance, using plastic beads in place of plastic crystals. Update: ERPNext now has the facility to store multiple alternative items with priority levels to automatically select from based on availability.
Allow Same Item Multiple Times: In certain production scenarios, the same product has to be added twice. For instance, two pipes of metal each 0.5m long to make another shape. The quantity in this case can't be easily put as 2, as it will render 1m as total in the UoM. However, we require 0.5m + 0.5m in terms of two pipes for production. Checking this box enables you to choose the same product many times.
Set rate of sub assembly item based on BOM: Activating this checkbox will set the rate of sub assembly items according to their BOMs. Unchecked, the rate will be retrieved from the Valuation Rate of the sub assembly Item. New behavior: Rates now dynamically update according to BOM change logs when sub assembly costs are recalculated.
Rate Of Materials Based On: The Rate of raw materials consumed can be calculated on various parameters:
Valuation Rate: The Valuation Rate established in the Item master.
- Last Purchase Rate: The Rate is retrieved from the last Purchase Receipt or Purchase Invoice.
- Price List: The Rate will be retrieved from the Item Price. Update: It is now possible to select more than one price list (e.g., by supplier or region), and rates are automatically selected on the basis of BOM effective date.
3. Features
3.1 BOM Costing
The Costing part of a BOM provides an estimate cost of producing the Item.
The costing is determined from the Valuation Rate of the raw materials/sub assemblies used and the Operation costs that can be added if With Operations is toggled on.
- If the BOM was entered when the costs for Items/Operations were not refreshed, you can refresh the costs by clicking on the Update Cost button. This will retrieve the current price/costs.
- The BOM cost can also be configured to be automatically updated using Manufacturing Settings, via the 'Update BOM Cost Automatically' feature.
Enhancement: You can now establish a schedule (e.g., weekly or daily) to automatically update BOM costing without the need for manual intervention.
3.2 Materials Required (Exploded)
This table shows all the raw materials needed to produce an Item. It also retrieves raw materials needed for sub-assemblies, as well as their numbers. The non exploded view will not show raw materials for sub-assemblies.
As an example, to produce a plastic shaving brush, you require some raw materials and then the bristles as an assembly. For the handle, you produce your own plastic, but for the bristles, raw plastic crystals are used. In the exploded view, you can see the crystals used for the bristles and the plastic used for the handle, giving a complete picture of total material requirements.
3.2.1 Exclude Exploded Items
If a user does not wish to include exploded parts for a given sub-assembly in the BOM, they can activate the "Exclude Exploded Item" checkbox in the BOM Item table. This inhibits listing the raw materials of the sub-assembly in individual form in the exploded view but reserves the top-level item quantity.
- This feature is helpful if you prefer BOMs to be brief, particularly for internal or confidential sub-assemblies.
- Internal cost accounting still takes into account the sub-assembly's material needs unless otherwise set up.
3.3 Project and Website
Project: The BOM can be associated with a Project to track manufacturing progress, allocate costs, and monitor resources. In engineer-to-order processes, every order could relate to a Project, with sub-assemblies being individual Tasks. On completion of Tasks or submission of Job Cards, the timeline and budget usage of the Project is automatically updated in real-time.
Website: The BOM may also be exposed on your public website, perfect for open-source hardware. This allows you to publish extensive BOM information—raw materials, quantity, and process steps—to the public for documentation or community collaboration. ERPNext offers controls to show or hide exploded views, variant choice, and confidential sub-assemblies.
3.4 BOM Template
With BOM Template, you are able to build a master BOM for a template Item, which is the foundation used to generate variant Items. Such template BOMs may then be automatically transferred to manufacturing of any variant through Work Orders.
- You can have the template Item itself as a raw material included in the BOM.
- While generating a Work Order based on a template BOM, ERPNext asks you to pick the specific variant, and it dynamically updates the sub-components or materials.
Generate a Variant BOM:
- Go to the BOM Template record.
- Click on the Create button.
- Choose Variant BOM.
- Select the Variant Item for which the BOM is to be generated.
- If one of the raw materials in the BOM happens to be a template Item, you will be asked by the system to enter their Item Variant while finalizing.
3.5 After Submitting
After the BOM is submitted, the following manufacturing documents can directly be created through its dashboard:
Work Order – to start the production of the Item with the specified materials and operations in the BOM.
Job Card – to capture time, workstation consumption, and labour progress on a per-man Operation in the BOM or Routing.
Stock Entry – to transfer raw materials into Work-in-Progress or post finished goods through "Material Transfer for Manufacture" and "Manufacture" entry types.
Material Request – to raise procurement requests for low stock raw materials based on BOM requirements. This can be discontinued when required.
Pick List – to create a pick list of materials to be picked from designated warehouses prior to production.
Production Plan – to schedule manufacturing for several BOMs or Sales Orders within a period by rolling up requirements.
These connections on the BOM dashboard simplify the creation process and provide traceability back to the original BOM for costing, planning, and reporting.