Most plants have some kind of parts list. Very few have one that can be sent to a supplier and priced without a phone call. The gap between the two is a week of work per line and it repays itself the first time something stops.
What should a spare-parts BOM contain?
One row per part, giving the manufacturer, the exact part number with its functional version, a description, the quantity in the machine, the location or tag, a criticality flag, the lifecycle status with the date checked, and the spare quantity on the shelf. Prices stay out. Column by column:
| Column | Why it is there |
|---|---|
| Manufacturer | Half of all part numbers are ambiguous without it |
| Manufacturer part number | Exact, including functional version |
| Description | So a human can sanity-check the number |
| Quantity in machine | Drives criticality and order quantity |
| Location / tag | Panel and terminal designation, so it can be found |
| Criticality | Does the line stop without it |
| Lifecycle status | Active / phase-out / discontinued, with the date checked |
| Current spare qty | What is actually on the shelf |
Everything else — supplier, price, lead time — belongs in the quote, not in the BOM. Prices in a parts list are out of date the day after they are entered and they are the main reason parts lists stop being maintained.
Getting the numbers
Three sources, in order of reliability.
The machine’s own electrical documentation. The panel schedule and the wiring diagram carry article numbers for everything in the cabinet. If the machine came with an as-built set, this is a day’s work rather than a week’s.
The rating plates. For anything undocumented, photograph the plate. A photograph is better than a transcription: you will misread 0 for O and 1 for I at least once, and the photograph settles it later.
The controller. A PLC project lists the hardware configuration with order numbers for every module in every rack. For Siemens, the hardware configuration in STEP 7 or TIA Portal; for Rockwell, the I/O tree in Studio 5000. This is the fastest way to get an accurate I/O list and it is frequently more correct than the drawings.
Cleaning the numbers
Raw lists are messy in predictable ways, and fixing them is what makes the list quotable.
- Normalise spacing and separators.
6ES7 315-2EH14-0AB0and6ES7315-2EH14-0AB0are the same part. The guide to Siemens order numbers shows which parts of a number matter. - Resolve ordering codes and legacy numbers. A number from a 2004 drawing may have been superseded twice. Cross-reference tables cover many of these; our per-manufacturer cross-reference pages are built exactly for this.
- Separate the brand from the number. “SIEMENS 3RT2026-1BB40” in one cell becomes two cells.
- Drop the consumables. Cable ties, terminals and fuses belong in a stores catalogue, not in a critical spares BOM. Fuses are the exception worth arguing about: include them if the machine uses an unusual rating.
- Mark what you could not resolve rather than deleting it. An unresolved row with a photograph is still useful; a deleted row is gone.
Which spare parts should you keep in stock?
Keep a spare of every part whose failure would cost more in downtime than the part costs to hold, starting with the critical parts that are already discontinued. The rule below turns that into a calculation per row, and on a typical fifty-row list it selects twelve to twenty parts.
A workable rule for a plant without a formal criticality model: hold a spare when (cost of downtime per hour × hours to obtain the part) > (cost of the part × 3). The factor of three is a crude allowance for the cost of holding stock and the chance you never need it. Run that over a fifty-row list and it will usually pick twelve to twenty parts, which is a shelf you can justify.
Then check the lifecycle status of those twelve to twenty first. A discontinued critical part with no spare is the single highest-value thing this whole exercise finds. The obsolescence guide covers what to do once you find one.
Keeping it alive
A BOM that is not maintained is worse than none, because people trust it. Two habits keep it honest:
- Every time a part is replaced, the row is touched — quantity on the shelf, and the date. Make it part of the work order, not a separate task.
- Re-check lifecycle status quarterly for the critical rows only. That is ten minutes with a list of twenty part numbers.
Getting it quoted
Once the list exists, pricing it should be one upload rather than fifty searches. On this site a BOM upload matches every line against the catalogue at once, tells you which lines resolved and which did not, and turns the resolved ones into a single request that goes to the suppliers who can supply a part on your list. The guide to RFQs explains what happens after you send it.
The unresolved lines are the valuable output of that first upload. They are the parts nobody in your plant can currently identify, and they are exactly the ones that will be a problem at 3 a.m.