Skip to main content
Cloud

Bills of Materials

Public Preview: Asset Lifecycle is in public preview. The functionality and API surface may evolve in future releases.

A Bill of Materials (BOM) captures everything that needs to be acquired for a project - every device, module, rack, and cable, with quantities. It is the bridge between a design that lives in NetBox and the procurement work needed to make that design real.

Most teams already model planned equipment in NetBox before it has been ordered. The Asset Lifecycle plugin lets you turn that work into a procurement-ready document with one click: write a few scope rules, generate the BOM, and you have a clean list of line items grouped by type and variant.

Building a BOM

A BOM has a name, a status, and a set of line items. Line items can be created in two ways:

  • Generated from scope rules - the recommended approach when the equipment is already represented as planned objects in NetBox.
  • Added manually - useful for one-off items that you don't model in NetBox, or for adjusting the rolled-up quantities after generation.

Manual and generated line items can coexist on the same BOM. Manual line items are preserved across regenerations.

Scope Rules

A scope rule is a filter that selects existing NetBox objects to include in (or exclude from) a BOM's scope. Each rule targets one or more object types - racks, devices, modules, or cables - and accepts the same filter parameters as the corresponding NetBox list view. If you can find an object in the Devices list at NetBox using ?site=hq&role=leaf&status=planned, you can pull it into a BOM with the same parameters.

Rules can either include or exclude matches. Excludes are evaluated after includes for the same object type, so you can write rules like "include all planned devices at Site A, but exclude any tagged lab".

Each rule also carries an enabled flag, set on by default. Disabling a rule keeps it on the BOM but skips it during generation - useful for temporarily holding back a portion of the scope without losing the rule's filter parameters.

Generation requires the BOM to be in draft status. Click Generate on a draft BOM to evaluate the rules and rebuild the line items.

Keep designs and BOMs in sync

Whenever a scope rule is added, edited, or removed, the BOM is marked out of date and held in draft until it is regenerated. This guards against advancing a stale BOM into procurement.

Generation and Variants

Generation walks every enabled scope rule, collects the matched objects, and groups them by type and a small set of variant attributes:

Object TypeVariant Attributes
Rack(none)
Deviceairflow direction
Moduleairflow direction
Cablecolor, length, length unit

(Cables also vary by physical type and profile; those are recorded on the cable type referenced by the line item rather than on the variant.)

Each unique combination becomes a single line item with the quantity set to the number of matched instances. So sixteen front-to-back planned switches and six back-to-front planned switches at the same site produce two separate line items, not one.

Each individual matched instance is also recorded as a BOM object. These per-instance records are what later get linked back to the shipment that delivered them, so that you can answer the question "which planned device became which physical device?"

Cables without an assigned type and racks without an assigned rack type are silently dropped during generation, as they cannot be resolved to a unique line item. Make sure planned cables and racks have a type set if you want them included in the BOM.

Cable types are auto-managed

NetBox does not have a native model for classifying cable types. The plugin maintains its own cable type records and creates them on demand during BOM generation. You don't need to define them up front.

Lifecycle

A BOM moves through a small set of statuses:

  • Draft - the BOM is being assembled. Only draft BOMs may be regenerated.
  • Approved - the BOM has been signed off and is ready for procurement.
  • Ordered - at least one purchase order has been placed against the BOM.
  • Fulfilled - all required items have been delivered.
  • Cancelled - the BOM is no longer being pursued.

Which transitions between these statuses are permitted is governed by status transition rules, which an administrator can adjust to fit the organisation's process.

From BOM to Procurement

Once a BOM has been approved, two object actions become available from the BOM detail view:

  • Create PO - opens the new purchase order form pre-filled with the BOM and lets you select a vendor.
  • Add to PO (from the BOM line items list) - bulk-copies a selection of line items onto an existing purchase order with a single quantity and unit price.

Multiple purchase orders can be created against a single BOM - for instance, when an order is split between vendors or when follow-up purchases are needed.