Spares Management
Most organisations keep some equipment in reserve - boxed switches in a storeroom, transceivers in a parts cabinet, cables on a shelf. The Spares Management area of the plugin lets you record what you hold, where it is, and what condition it is in, and then draw from those reserves to fulfil installation requirements without placing a new order.
Spares Pools
A spares pool is a named collection of spare equipment held at a specific location. A pool is anchored to a NetBox site, with an optional location within that site for finer-grained tracking - for example, "HQ - Cold Storage Room 3".
Pools are the unit of organisation for spares. Most teams will create one pool per physical storage area, or per logical grouping such as "hot spares" and "long-term reserve".
Spare Items
A spare item records one or more units of a specific equipment type held in a pool. Each item references the same set of types that BOM line items can - rack types, device types, module types, and cable types - and supports the same variant attributes (airflow direction for devices and modules, color and length for cables).
Each spare item also carries:
- A quantity representing how many units are present. Quantities greater than 1 are permitted only for items without a serial number or asset tag, since those identifiers apply to a single physical unit.
- An optional serial number.
- An optional asset tag, unique across the whole plugin.
- A status describing the item's condition.
Item Status
| Status | Meaning |
|---|---|
| Serviceable | The item is in working order and available to draw on. |
| Damaged | The item is present but unfit for use; flagged for repair or disposal. |
| Missing | The item is recorded but cannot currently be located. |
The Damaged and Missing statuses make spares pools useful as an audit tool as well as an inventory tool: a periodic walk-through of the storeroom can be reconciled against the records, with discrepancies marked rather than silently deleted.
Allocations
A spare item allocation records the minimum and/or maximum quantity of a particular item type and variant that a pool is expected to hold. Allocations are managed from the Allocations tab on a pool's detail page (or from the standalone Spare Item Allocations list).
Allocations are advisory rather than enforced - they don't restrict the spare items you can record, and they carry no direct link to the spare items in the pool. Instead they describe target stock levels so that two common conditions can be surfaced and queried:
- A minimum quantity flags a low-stock condition: when a pool drops below the safe level for an item, that's a signal to reorder or to rebalance stock from another site.
- A maximum quantity identifies excess stock. It is not a hard cap; rather, a pool holding well above its maximum for an item is a candidate to redistribute that surplus to a site that is below its minimum, rather than buying new.
Each allocation references the same item types and variant attributes as spare items (rack types, device types, module types, and cable types; airflow for devices and modules, color and length for cables). A pool may hold only one allocation per unique item type and variant.
Fulfilling From Spares
The point of recording spares is to be able to use them. Each asset - the per-instance record of a planned rack, device, module, or cable - carries a reference to the spares pool drawn from to fulfil it (or, alternatively, to the shipment that delivered new equipment for it).
To pull a spare from inventory, open the planned NetBox object's detail page and click Install, then choose Install from spares pool. Select the pool and a matching spare item - the form filters available spares to those whose type and variant exactly match the planned object's requirements. On submit, the asset is linked to the originating spares pool and the chosen spare's quantity is decremented by one. Consuming the last unit leaves the spare item in place with a quantity of zero rather than deleting it, so the pool retains a record of what was once stocked there. The asset retains its link to the pool rather than to the individual spare, so its provenance survives even once that spare has been drawn down.
This means that for any planned object the data model can answer:
- Was this delivered new, and if so on which shipment?
- Or was it pulled from spares, and if so from which pool?
You can also start from the spare itself: a spare item's detail page offers an Install button that creates a brand-new device, rack, or module seeded from the spare's type, serial number, asset tag, and variant attributes, then decrements the spare (down to zero, without removing it). Both install paths are available over the REST API - POST to /api/plugins/asset-lifecycle/spare-items/<id>/install/ (supplying the new object's remaining fields, e.g. name and site) to create an object directly from a spare, or to /api/plugins/asset-lifecycle/assets/<id>/install/ with a spare_item ID to fulfil an existing planned object.
Bulk Import
Spares pools and spare items can be bulk-imported from CSV via the Import button on each list view, which is the easiest way to seed the plugin from an existing spares spreadsheet.
Shipments
A shipment records the physical delivery of equipment against a purchase order. The Shipments area of the plugin tracks who is delivering each consignment, h...
Status Transitions
Every BOM, purchase order, and shipment in the plugin has a status that indicates where it sits in its lifecycle. Status transition rules govern which change...