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) lists all equipment required to implement an installation. Each BOM is composed of multiple line items, where each line item records the quantity of a particular type and variant of equipment.

BOMs are typically generated from a set of scope rules which filter objects already modeled in NetBox (racks, devices, modules, and cables). Running generate resolves these rules, snapshots the matched objects as BOM objects, and rolls them up into line items grouped by type and variant.

Once a BOM has been approved, it can be fulfilled through one or more purchase orders.

Fields

Name

A unique name for the BOM.

Status

The BOM's lifecycle status. One of:

  • Draft (default)
  • Approved
  • Ordered
  • Fulfilled
  • Cancelled

Permitted status transitions are controlled by status transition rules.

Last Generated

The timestamp at which the BOM was most recently generated from its scope rules. This field is set automatically and is not directly editable.

Current

Indicates whether the BOM reflects the current state of its scope rules. This flag is cleared automatically when a scope rule is added, modified, or removed, and is restored when the BOM is regenerated. A BOM which is not current must remain in draft status until regenerated.

Generation

Generating a BOM is permitted only while it is in draft status. The generation process:

  1. Deletes all existing BOM objects and auto-generated line items associated with the BOM. Manually-created line items are preserved.
  2. Evaluates every enabled scope rule against its target model's native filterset to collect matching racks, devices, modules, and cables. Untyped cables and untyped racks are skipped, as they cannot be resolved to a unique line item.
  3. Creates a BOM object for each matched instance.
  4. Groups the matched objects by type and variant attributes and creates one line item per unique combination, with the quantity set to the number of matched objects.
  5. Records the time of generation and marks the BOM as current.