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 to true it can not be set back to false . This is a NetSuite limitation.

  • For boms where bom.useComponentYield is set to true , a related bomrevision's child components can have the field bomrevisioncomponent.componentYield set to values greater than 0 and less or equal than 100 (0 < x <= 100).

  • For boms where bom.useComponentYield is set to false , a related bomrevision's child components will have the field bomrevisioncomponent.componentYield values always ignored by NetSuite and kept at 100.

Next Steps

Last updated