Skip to main content
Cloud

Purchasing

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

Once a BOM has been approved, the next step is to place orders with one or more vendors. The Purchasing area of the plugin records who you buy from, what you bought, and at what price - all anchored back to the BOM that justified the order.

Vendors and Accounts

A vendor is any organisation you buy equipment from. Each vendor has a name, an optional internal code, and supports NetBox contact assignment so that you can record account managers, sales reps, or RMA contacts directly on the vendor record.

A vendor account represents a specific account number you hold with a vendor. Many organisations have multiple accounts with the same vendor - for example, separate accounts for different business units, regions, or contract types - and tracking which account a purchase order was placed against is often a procurement or accounting requirement. Accounts are optional on a purchase order, but if specified must belong to the order's vendor.

Purchase Orders

A purchase order records a specific order placed with a vendor against a BOM. Each purchase order has:

  • A vendor and an optional vendor account for billing.
  • A BOM that the order is fulfilling, in whole or in part.
  • An order ID assigned by the vendor - required once the PO has advanced beyond draft status.
  • A currency for line item pricing.
  • A status that mirrors the BOM lifecycle: Draft, Approved, Ordered, Fulfilled, or Cancelled.

A single BOM may be fulfilled by multiple purchase orders. This is the normal case when an order is split between vendors, when long-lead items are ordered separately, or when supplemental purchases are needed after the original order is placed.

Draft purchase orders are flexible

A purchase order doesn't need an order ID until it leaves draft status, so you can stage a PO in NetBox, choose its line items, and only attach the vendor's order number once the order has actually been placed.

PO Line Items

A PO line item records that a specific BOM line item is being ordered on a particular purchase order. Each line item carries:

  • The quantity ordered (must be at least 1).
  • An optional unit price.
  • A computed total price if the unit price is set.

Line items can be added to a purchase order in three ways:

  • Individually from the PO line items list.
  • From the BOM detail page by clicking Create PO, which seeds a new PO with the BOM already selected.
  • In bulk from a BOM's line items list by selecting one or more lines and choosing Add to PO, then specifying the destination PO, ordered quantities, and unit price.

The bulk action is the fastest path for typical procurement workflows: from an approved BOM, select the items you want to order from a particular vendor, and copy them onto the PO in one operation.

Pricing and Currency

Currency is set at the purchase order level, not the line item level - a single PO has a single currency. Unit prices are recorded per line item and are optional, so you can use the plugin to track ordering and delivery without recording financial data if that information is held elsewhere. When a unit price is set, the total price is calculated automatically.

The available currency choices include the major ISO 4217 codes (USD, EUR, GBP, JPY, and others) commonly used for international procurement.

Bulk Import

Vendors, vendor accounts, purchase orders, and PO line items can all be bulk-imported from CSV via the Import button on each list view. This is useful when migrating from a spreadsheet-based process or loading historical orders from a procurement system.