Luxor PlatformCommanderFeatures

Parts

Your spare-parts catalog: what you have, what your fleet needs, and what repairs consume

A quick tour of the Parts catalog

Overview

Spare parts are the single biggest operational risk most operators don't track well. A hashboard fails at 2am; the on-call tech walks to the shelf and finds the bin empty because yesterday's repair wasn't written down. The machine sits idle for weeks waiting on a replacement. Parts connects three things that are usually disconnected: what parts exist (the catalog), what the fleet needs (fleet demand), and what repairs consume (ticket-linked consumption).

Parts has its own page in Commander, separate from the Miners page. Miners tracks your machines, each with its own user-managed details; Parts (this page) is the catalog of spare components used to repair them.

Miners vs. Parts

MinersParts
What it isUnique, serialized machines.Fungible spare components (one S21 hashboard is interchangeable with another).
Identified byAsset code / serial.An auto-generated SKU (e.g. HB-0001).
Tracked asIndividual units with a deployment status.A type of part with a quantity.
ScopeThe whole workspace.One site: each part's stock belongs to a single site.

The parts catalog

Each row in the Parts table is one part at one site, identified by a SKU that Commander generates and never changes. A part has:

FieldNotes
SKUAuto-generated and immutable (e.g. FAN-0003).
Namee.g. "Antminer S21 Hashboard".
CategoryOne of the categories below, each with a colored icon for at-a-glance scanning.
SiteThe single site this stock lives at. Set on creation; not editable afterward.
Unit costOptional.
SupplierOptional.
Compatible modelsThe miner models this part goes into, and how many per miner; this drives fleet demand (see Bill of Materials).
Total / Reserved / AvailableStock counts (see Stock: total, reserved, available).
Threshold method & stock statusHow low-stock is calculated and the resulting health (see Thresholds & stock status).
Custom fieldsAny extra properties your workspace defines (see Settings).

Categories: Hashboard · Fan · PSU · Control board · Cable · PDU · Connector · Other.

Parts are per-site. When you add a part for several sites at once, Commander creates one part per site, each with its own SKU and its own independent stock. A ticket can only reserve parts from its own site.

Add a part with Add Part; import many at once via CSV import.

Add Part dialog

Stock: total, reserved, available

Three numbers describe every part's stock:

  • Total: how many units are physically at the site.
  • Reserved: units spoken for by open tickets but still on the shelf.
  • Available: Total − Reserved. This is what gates new reservations.

Stock quantities are read-only in the table. You change the Total count in the part detail page via Adjust Stock.

Reserved vs. consumed

This is the link between Parts and Tickets:

  • Reserved: a technician links a part to an open ticket. Available drops; Total is unchanged. The unit is claimed so no one else plans to use it.
  • Consumed: the ticket closes (a Completed lane). Reserved parts are deducted from Total, and a Ticket consumption entry (stamped with the ticket's code) is written to the part's stock history.
  • Released: the ticket is canceled (or the reservation is removed). The reservation is returned to Available; Total is untouched.

This two-step flow (reserve → consume) exists to prevent double-allocation: two technicians can't both plan on the last hashboard. See Tickets → Parts on a ticket for the ticket side.

Adjusting stock

On the part detail page, Adjust Stock applies a delta (+/−) with a reason that feeds the part's stock history:

Restock · Correction · Damaged · Other

Ticket-driven consumption is not a manual reason; it's recorded automatically when a ticket closes, and shows in the history as Ticket consumption with a link to the ticket.

Thresholds & stock status

Every part can define a Target (the stock level you want to maintain) and a Reorder point (the level that triggers a low-stock alert). A toggle in the part detail modal picks how these are set:

  • Manual: absolute quantities. Set the target (e.g. 100 units) and reorder point (e.g. 20 units) directly. Best for parts that don't map to per-miner counts: cables, PDUs, tools.
  • Fleet demand: thresholds as a percentage of fleet demand (see below). Best for parts that scale with your fleet: hashboards, fans, PSUs.
  • Not set: no thresholds; the part isn't tracked for low-stock.

From the thresholds, Commander derives each part's stock status:

Healthy · Low · Critical

When a part crosses its reorder point (including when a ticket close consumes it), a low-stock alert fires.

Fleet demand

The idea: Commander already knows how many miners you run and how many of each part they contain, so it can compute exactly how many of a part your fleet could need, and set thresholds off that number.

For each part:

Fleet demand = Σ (parts per miner × deployed miners of that model)

Example: a hashboard used by two models:

ModelParts per minerDeployed minersSubtotal
Antminer S213180540
Antminer S21+3120360
Total fleet demand900

That 900 isn't how many you keep on the shelf; it's the denominator for your threshold percentages:

ThresholdMeaningExample (900 fleet demand)
Total Target (X%)Ideal stock level; restock up to this.10% = 90
Reorder point (Y%)Triggers a low-stock alert; time to order.5% = 45

The gap between target and reorder is your supplier lead-time buffer: if replacements take three weeks to arrive and you burn ~8 hashboards a week, you want enough runway between "time to order" and "restocked."

Bill of Materials (BOM)

Fleet demand is only right if Commander knows what's inside each miner. That's the BOM: a cross-reference of models (rows) against part SKUs (columns), where each cell is how many of that part a miner of that model contains, with a fleet-demand total per part at the bottom.

The BOM is a read-only view; its data comes from the Compatible models you set on each part (e.g. "Antminer S21: 3 hashboards per miner"). Open it with the BOM button in the Parts controls bar.

Parts table, KPIs & filtering

The Parts view opens on a KPI row: Total SKUs, Total units, Low stock (SKUs), Critical (SKUs), and Consumed (30d, units).

Parts table with KPIs and filters

Filtering follows Commander's two-level pattern:

  • Category dropdown in the controls bar for quick narrowing by part type.
  • Funnel icon opens the filter dialog: Category, Stock status (Healthy / Low / Critical), Supplier, Threshold method (Fleet demand / Manual / Not set), and a timeframe.

Parts bulk actions

Select rows to enable Bulk Actions, then apply the same value across all selected parts (Category, Supplier, Threshold method, Total Target %, or Reorder point %), changing multiple properties in one pass. A separate Adjust Stock bulk action applies a signed quantity change with a reason (Restock / Correction / Damaged / Other) to every selected part, respecting per-site permissions and negative-stock guards. Delete releases any active reservations before removing the parts.

Part detail page

Click a part to open its detail page:

  • Part details: edit name, category, unit cost, supplier, and compatible models. SKU and Site are read-only.
  • Stock KPIs: Total, Reserved, Available, and Stockout (days) (a runway estimate from recent consumption).
  • Adjust Stock: apply a delta with a reason (Restock / Correction / Damaged / Other).
  • Stock vs. threshold: a meter showing current stock against target and reorder point.
  • Threshold settings: switch between Manual and Fleet demand and set the values.
  • Stock activity: a history table plus a per-day chart. Ticket consumption entries link back to the ticket that consumed the part.
  • Notes & files: attach notes and documents to the part.
Part stock activity history and chart

CSV import

Import or update many parts at once with a CSV. Existing parts are matched by SKU; a row with a blank SKU and a site creates a new part.

Settings

Open the ⚙ Settings dialog from the Parts toolbar to manage parts Custom Fields: extra properties (text, number, date, select, and more) that then appear on the part, in the Parts table, and in the filter dialog. Parts custom fields are separate from the custom fields on miners.

Parts custom fields in the Asset Settings dialog
  • Miners: the machines that parts are compatible with and are used to repair.
  • Tickets: repair tickets reserve and consume parts.

On this page