Advanced Bills of Materials (BOMs) are powerful tools used to manage multiple BOM variations for assembly items in NetSuite.
There are three key records associated with BOMs:
- Assembly
- Bill of Materials
- Bill of Materials Revision
Assembly
An assembly item is the product that uses the bill of materials.
You can attach multiple bills of materials to an assembly under the Manufacturing tab. When creating a work order for an assembly, you can select which BOM to use.
You can designate a default BOM by checking the Master Default checkbox. Alternatively, you can set different BOMs as defaults for specific locations using the Default For Location field. You cannot select both the Master Default checkbox and specify a Default For Location simultaneously.
Bill of Materials
A Bill of Materials record defines a particular method for constructing an assembly. It does not contain component details directly but instead stores high-level information.
You can restrict a BOM to specific locations or assemblies. Actual component details are stored within Bill of Materials Revision records.
Bill of Materials Revision
This is the record where the actual component details of the BOM are stored.
Each BOM can have multiple revisions, but only one revision can be active at any given time. A revision becomes active when its start date is in the past and its end date is either in the future or left blank. If there is only one revision, simply set the start date in the past and leave the end date empty.
NetSuite will prevent the creation of overlapping BOM revisions. If you need multiple active revisions simultaneously, you likely need separate BOMs.
In the component list of a BOM revision, most fields are straightforward. However, the Source field specifies how components are acquired:
- Stock
- Purchase Order
- Work Order
Some of these options may not be available depending on your NetSuite configuration.
Selecting Work Order creates an additional work order for the component upon releasing the main work order. Selecting Purchase Order will automatically generate a purchase order upon releasing the work order.
Example
Here’s an example to illustrate this process:
John’s Hardware Store produces a product called “John’s Hammer.” This hammer can be manufactured in two different ways: one method uses Iron for the head, and the other uses Steel.
Manufacturing happens at two locations: Iron heads are made in California, and Steel heads are made in New York. Starting next month, magnesium will be added to the steel heads produced in New York.
Here’s how the records would look:
- Assembly: John’s Hammer
- Bill of Materials: Iron Hammer BOM
- Bill of Materials Revision: Iron Hammer BOM - Iron
- Bill of Materials: Steel Hammer BOM
- Bill of Materials Revision: Steel Hammer BOM - Steel
- Bill of Materials Revision: Steel Hammer BOM - Steel + Magnesium
- Bill of Materials: Iron Hammer BOM
Under the Manufacturing tab of the “John’s Hammer” assembly, you’d have two lines—one linking the Steel Hammer BOM for New York, and another linking the Iron Hammer BOM for California:
Bill of Materials | Current Revision | Master Default | Default For Location |
---|---|---|---|
Steel Hammer BOM | Steel Hammer BOM - Steel | No | New York |
Iron Hammer BOM | Steel Hammer BOM - Iron | No | California |
Note: The Current Revision field is read-only and automatically displays the active revision.
Here’s how the BOM revisions for the Steel Hammer BOM would look:
Revision | Start Date | End Date |
---|---|---|
Iron Hammer BOM - Iron | 1/1/2023 | |
Steel Hammer BOM - Steel | 5/1/2023 | 1/1/2024 |
Steel Hammer BOM - Steel + Magnesium | 1/2/2024 |
Notes for Uploading BOMs via CSV Import
You can link BOMs to assemblies using the Multiple Files to Upload feature in the CSV import tool. However, linking manually may be easier, depending on the number of BOMs involved.
When uploading BOMs through CSV import, follow this specific order:
- Bill of Materials
- Assembly (if linking BOMs to an assembly)
- Bill of Materials Revision
For populating multi-select fields, separate the values using a pipe (|
) character. You can change this separator in Advanced Options.
Feel free to leave questions or comments below, or contact me directly through this form.