Looking for NetSuite ACS Alternatives? Try our Stratus Managed Services FREE for 1 Month. Speak To An Expert Now

NetSuite Bill of Materials: How Advanced BOM Works and How to Set It Up

By Louis Balla, CRO at Nuage

Updated October 2026

A bill of materials (BOM) in NetSuite is the record that lists the components and quantities needed to build an assembly item. With the Advanced Bill of Materials feature turned on, each BOM is a separate record with dated revisions, and one BOM can be shared by several assemblies or set as the default for a single location.

This guide explains the terms and the setup steps for Advanced BOM. Later sections cover how to read a BOM in NetSuite and the setup checks that resolve common work order errors, drawn from NetSuite manufacturing work our team has done for clients.

What is a bill of materials in NetSuite?

A BOM is the list of materials and sub-assemblies that go into one finished item, with the quantity of each. In NetSuite, the product you build is an assembly item, and the BOM linked to it tells a work order what to consume. BOMs can be multi-level: a sub-assembly on one BOM has its own BOM, so you can view a product’s structure from the top item down to purchased parts. For how the BOM fits into the wider production system, see our guide to what advanced manufacturing is.

NetSuite BOM terms

  • Assembly item: the item record for a product you build, either a finished good or a sub-assembly used in another build.
  • BOM record: with Advanced BOM, the record that names a BOM and controls which assemblies and locations can use it.
  • BOM revision: a dated version of a BOM’s component list. Each revision has an effective start date and end date, and revisions of the same BOM cannot overlap.
  • Component: an item the build consumes, entered on the revision with a quantity and a unit of measure.
  • Component yield: the share of a component’s quantity that ends up in the finished assembly after expected loss. A yield of 0.9 means 90% of the usage quantity becomes part of the assembly.
  • Master default and default for location: settings on the assembly item that decide which BOM a build uses, either at every location or at one location.
  • Phantom assembly: a sub-assembly that is not kept in stock. It groups the components needed to build part of a higher-level assembly, and those components appear under the parent in the BOM tree. See Oracle’s help on phantom assemblies.
  • Manufacturing routing: the list of steps to build an assembly. Each step names a work center and carries a setup time and a run rate, and labor and machine costs come from the routing’s cost template.
  • Backflushing: recording component use automatically when production is reported. The alternative is issuing material to the work order as a separate step.
  • Legacy BOM: the member list stored on the assembly item record before Advanced BOM is enabled.

Who works from the BOM:

  • Engineering keeps the component list and its revisions current.
  • Production planners and buyers use it to work out what to build and what to order.
  • Cost accountants use it with the routing to cost each build and review variances.

What should go on a BOM, and what belongs on the routing?

Keep the BOM to the materials the build consumes. Process steps and work instructions belong on the manufacturing routing, where labor is costed through the routing’s cost template.

A security hardware manufacturer’s BOMs mixed component lists with shop-floor instructions, so a process change created a BOM revision even when no material changed. We recommended keeping BOMs to actual materials and moving instructions onto the manufacturing routing with a traveler and work-instruction SuiteApp, tested in sandbox first. We also set out the trade-off between issuing material to a work order and backflushing it. Completions entered step by step give better traceability, and issued material is hard to reallocate once a period closes.

What is the NetSuite Advanced Bill of Materials?

Advanced Bill of Materials is a NetSuite feature that moves the BOM off the assembly item record and into its own BOM record with revisions. According to Oracle’s NetSuite help on Advanced BOM, it lets you:

  • Copy existing BOMs and create new ones.
  • Use a single BOM across multiple assemblies. For example, several bicycle frame sizes can share one wheel assembly BOM.
  • Assign multiple BOMs to a single assembly.
  • Keep different BOMs for different stages of the product lifecycle, for example an engineering BOM and a separate subcontracting BOM.
  • Set a default BOM for an assembly, or a default BOM for each location. A bicycle built in Canada can use BOM CA, and the same bicycle built in the U.S. can use BOM U.S.
  • Define yield for each component on the BOM revision, to account for material loss during ordering and planning.
  • Create multiple revisions of a BOM with different effective start and end dates.

Plan for two behaviors before you enable it. Once the feature is on, existing BOMs convert to read-only legacy BOM records. If you later disable Advanced BOM, NetSuite deletes the BOM and BOM revision records created while it was enabled and keeps only the legacy BOMs. Oracle recommends testing in a sandbox or release preview account first. Our NetSuite Advanced Manufacturing guide covers the related modules, including routings and work in process.

Legacy BOM vs. Advanced BOM

Legacy BOM Advanced BOM
Where the component list lives On the assembly item record On BOM revision records under a BOM record
Sharing across assemblies Each assembly carries its own member list One BOM can be available to all assemblies or restricted to selected ones
BOMs per assembly One member list per assembly Several, with a master default or a default per location
Versions Effective dates or revision control on the member lines Revisions with effective start and end dates that cannot overlap
After Advanced BOM is enabled Kept as read-only legacy records Used for all new BOMs and revisions

How to set up a bill of materials in NetSuite

These steps follow Oracle’s NetSuite help for Advanced BOM. Menu paths can differ by role and account setup. If you are not sure whether Advanced BOM or manufacturing routings are available in your account, confirm with your NetSuite account team before you plan the change.

  1. Test in a sandbox or release preview account first. BOM settings affect work orders and costing across the account, and turning the feature off later deletes the Advanced BOM records.
  2. Enable the feature. Go to Setup > Company > Enable Features, open the Inventory & Items subtab, check Advanced Bill of Materials in the Inventory section, click OK on the warning and save. This needs administrator access.
  3. Create the BOM record. Go to Lists > Supply Chain > Bills of Materials > New and enter a unique, descriptive name. Check Available for All Assemblies, or clear it and choose assemblies in Restrict to Assemblies. Locations work the same way with Available for All Locations. Check Use Component Yield if the revisions will carry yield factors. In NetSuite OneWorld, select the subsidiaries that can use the BOM.
  4. Create the first revision. Open the BOM, go to the Revisions subtab and click Create New Revision. Name the revision and set its effective start date. On the Components subtab, add each item with its BOM quantity and units. Quantities can run to five decimal places.
  5. Link the BOM to the assembly. Go to Lists > Accounting > Items, edit the assembly and open the Manufacturing subtab. Select the BOM in the Current Revision list, then check Master Default to use it everywhere, or Default for Location to make it the default at one location. Click Add to attach more BOMs, then save.
  6. Check the result. Run the Bill of Materials Inquiry, described below, before releasing work orders against the new BOM.

To change components later, set an effective end date on the current revision, then create a new revision that starts after it. NetSuite does not allow overlapping revisions, so the end date has to be set before the new revision will save. Gaps between revision dates are allowed.

How do EBOMs and other BOM types work in NetSuite?

Manufacturers usually keep more than one view of a product’s structure:

  • Engineering BOM (EBOM): the design view from engineering, which can include prototype and test parts.
  • Manufacturing BOM (MBOM): the production view, with everything needed to ship the product, including packaging and consumables.
  • Sales BOM: the customer-facing view of a finished product and its optional add-ons.
  • Configurable and modular BOMs: structures built from interchangeable sub-assemblies, used for products sold with options.

Advanced BOM supports this by letting you keep separate BOMs for different lifecycle stages and link more than one BOM to an assembly. Some engineering teams keep the EBOM in a CAD or PLM system and bring released structures into NetSuite, which supports CSV import for BOMs and BOM revisions. Decide which system holds the master version at each stage before you build the records.

How to view a BOM in NetSuite: the Bill of Materials Inquiry

Go to Transactions > Manufacturing > Bill of Materials Inquiry and select an assembly and location. The Bill of Materials Inquiry lists each component and its level in the BOM tree. Columns show component yield and the quantity needed per assembly and per top-level assembly. It also shows inventory for each component at that location:

  • On Hand: quantity physically held at the location.
  • Available: stock not yet committed.
  • Back Ordered: quantity on unfulfilled orders or existing commitments.
  • On Order: quantity ordered across current work orders.

Check Top Level Only to see just the first level, or clear it to see every level, including phantom assembly components. To work with the data elsewhere, export the table to Excel or CSV from the print icon. The location and date in the inquiry header are not included in the export. For keeping those inventory figures accurate, see our NetSuite inventory control guide.

Why won’t a NetSuite work order save? BOM and item setup checks

When a work order fails to save or is not created automatically, check the BOM and the item records before looking for a more complex cause. In two cases from our delivery records, the cause was a single item setting.

At a scientific instrument manufacturer, work orders created from sales orders would not save because one component on the BOM had been marked inactive, and reactivating it cleared the error. At an industrial products manufacturer, some assemblies were not getting automatic work orders because a work-order flag was unchecked on those item records.

A short checklist for the admin:

  • Every component on the effective revision is active.
  • The revision’s effective dates cover the date of the work order.
  • The BOM is available to the assembly and the location on the work order.
  • The work order settings on the assembly item match how you want orders created.

How the BOM connects to costing and inventory

Material cost comes from the component quantities on the BOM revision. Labor and machine cost come from the manufacturing routing: each step carries a setup time and a run rate in minutes, and the cost template applies the rates. Together they give the full cost of a build. For assemblies on standard costing, NetSuite’s Costed Bill of Materials Inquiry shows how material and conversion costs roll up to the assembly.

Component yield changes what gets ordered. With the Use Component Yield preference on, work orders calculate component quantities from the expected yield, so the ordered quantities already cover expected scrap. The same BOM quantities drive supply planning. Our guide to production planning software explains how that planning works.

How Nuage approaches BOM work

In recent projects, our team has worked on BOM and work order setup for manufacturers running NetSuite. One of them is public. Essex Finishing, a wood finishing and coatings manufacturer running NetSuite work orders and assemblies, had manual kitting and work orders that needed constant follow-up. Nuage automated this work:

  • Kitting and material tracking
  • Raw material transfers to the production floor
  • Costing

We also built dashboards showing production status and inventory levels. In Essex’s words: “Their work has allowed us to achieve higher inventory visibility and streamline our processes for pulling work orders.”

Manufacturing and BOM work takes longer to close than most NetSuite requests. We classified 3,241 client support tickets Nuage handled between February 2023 and July 2026. Manufacturing tickets, including BOM and production planning work, made up 129 of them (4.0%). Of the 51 that had closed when we measured, the median took 59.6 calendar days, against 26.8 days for all closed tickets. This work usually carries design decisions or sign-off from operations, and some of it needs custom logic, so we scope it with checkpoints from the start.

Our managed NetSuite service, Stratus, covers this kind of ongoing work; the Stratus page describes it.

Frequently asked questions about NetSuite BOMs

What is advanced bill of materials in NetSuite?

Advanced Bill of Materials is a NetSuite feature that stores each BOM as its own record with dated revisions. One BOM can serve several assemblies, and one assembly can have several BOMs with a default per location. Each component can also carry a yield factor. Once it is enabled, existing BOMs become read-only legacy records, so test it in a sandbox first.

How do you manage EBOMs in NetSuite?

With Advanced BOM, you can keep an engineering BOM as a separate BOM from the production BOM and link both to the same assembly, with the production BOM set as the default. Teams that design in a CAD or PLM system often keep the EBOM there and import released structures into NetSuite by CSV. Decide which system holds the master version before you build records.

Does a NetSuite bill of materials include labor costs?

A NetSuite BOM lists materials and quantities only. Labor and machine time sit on the manufacturing routing, where each step has a setup time and a run rate at a work center, and a manufacturing cost template applies the rates. NetSuite combines the BOM and the routing to cost a build. Check with your account team whether routings are enabled in your account.

What is the difference between a BOM and an assembly item in NetSuite?

An assembly item is the record for the product you build, either a finished good or a sub-assembly. The BOM is the list of components and quantities used to build it. The assembly is the output, and the BOM revision linked to it on the Manufacturing subtab lists the inputs. One BOM can be shared by several assembly items.

How do you substitute a component on a NetSuite BOM?

Set an effective end date on the current revision, then create a new BOM revision that starts after it, with the substitute component. Revisions cannot overlap, so the switch happens on a set date. Revisions give you an accessible history of the BOM, which helps with quality checks and recalls.

About the author

Louis Balla is CRO and a partner at Nuage, a NetSuite optimization firm. Nuage has served 250+ clients since 2011 and holds a 4.9 out of 5 rating on Clutch. The delivery work described in this article was done by our team.

What to read next

Your 90-Day Plan to Put AI Agents to Work in NetSuite (Safely)

90-day

Building a Finance Team That Can Trust Its AI

finance team

AI and Your Inventory: 10 Questions Before You Trust the Numbers

inventory