Advanced Bill of Materials
Advanced BOMs are NetSuite's way of keeping track of Bill of Materials (BOM) snapshots. You can think of an advanced BOM as the revision of a Bill of Materials at a certain point in time.
Advanced BOMs use the following notable features:
A parent BOM record (NetSuite itemtype -->
bom
), which is associated to a Assembly (NetSuite itemtype -->assemblyitem)
BOM Revision records (NetSuite itemtype -->
bomrevision
), which are associated to the BOM record and which contain a revision of a set of BOM Components.Activation dates
Routings
Manufacturing steps

Using Advanced BOMs - Reading And Writing bom and bomrevision Metadata
You can map NetSuite fields related to bom
and bomrevision
item types just like you map fields for regular item types (assemblyitem
, inventoryitem
, etc...).
When loading a BOM, SharpSync will query the associated BOM and BOM Revision for any related assemblyitem
that exists in NetSuite and fetch the bom
and bomrevision
metadata for the configured mappings.
Similarly, when submitting a BOM, SharpSync will query the associated BOM and BOM Revision for any related assemblyitem
that exists in NetSuite and update the bom
and bomrevision
metadata for the configured mappings. If an assemblyitem
is to be created in NetSuite, SharpSync will also automatically create an associated BOM and BOM Revision, and update the fields accordingly.
Some notes on the bom
and bomrevision
metadata:
Some bom fields such as
bom.id
,bom.name
,bom.createdDate
, etc... are determined by a NetSuite or SharpSync logic, and their mappings should not be set to update NetSuite, and preferably be set to readonly.Some bomrevision fields such as
bomrevision.id
,bomrevision.name
,bomrevision.effectiveStartDate
,bomrevision.effectiveEndDate
, etc... are determined by a NetSuite or SharpSync logic, and their mappings should not be set to update NetSuite, and preferably be set to readonly.The bom field
bom.useComponentYield
is a boolean field, but once it is set totrue
it can not be set back tofalse
. This is a NetSuite limitation.For boms where
bom.useComponentYield
is set totrue
, a relatedbomrevision
's child components can have the fieldbomrevisioncomponent.componentYield
set to values greater than 0 and less or equal than 100 (0 < x <= 100).For boms where
bom.useComponentYield
is set tofalse
, a relatedbomrevision
's child components will have the fieldbomrevisioncomponent.componentYield
values always ignored by NetSuite and kept at 100.
Next Steps
Configure Routings [optional]
Last updated