Key takeaways
This is the page to hand a new storeroom keeper on day one.
It describes spare parts management as a system that runs in a plant: what it is made of, which decisions it consists of, which records carry those decisions, and how to tell from the numbers whether yours is working.
Every formula and policy debate underneath it has its own page here, and this page points at them rather than repeating them.
The examples use a mid sized plant with a single storeroom, roughly 1,800 active part numbers and a maintenance team of nine.
Ask ten maintenance managers to define spare parts management and you get ten lists of virtues: availability, cost control, visibility.
None of those are things you can build, staff or audit. The definition below is, because it names objects.
1. The catalogue. One row per part number, holding identity, unit of issue, cost and the machines the part fits.
The catalogue is the only object that must be right before anything else can be. Two rows for one bearing means two stock levels, two reorder rules and two histories.
2. The stock policy. For each catalogue row, whether you hold it at all, how many, and what triggers a replenishment request.
This is a rule, not a quantity. The quantity is a consequence of the rule and the demand.
3. The physical store. Shelves, bins, labels and a location code on every row that tells a technician where to put a hand at 02:00.
4. The issue and return flow. Every movement of a part, in or out, recorded as a transaction against a work order.
This is the object that plants most often leave informal, and it is the one that decides whether any of your numbers mean anything.
5. The measurement loop. A short set of figures, reviewed on a fixed rhythm, that tells you whether the first four objects are doing their job.
Miss the fifth and you will not know your storeroom is failing until a line stops for six hours.
The catalogue row is usually called the part master. Here is what it holds, with a real bearing as the example.
| Field | Holds | Example |
|---|---|---|
| part_ | Your number | BRG-6206 |
| description | Plain text, one line | Ball bearing 6206 |
| manufacturer_ | Catalogue number | 6206-2RSH |
| manufacturer | Maker on the box | Nameplate value |
| class | From a fixed list | BEARING |
| uom | Unit of issue | pcs |
| bin_ | Where it lives | B-12-3 |
| min_ | Never go below | 4 |
| max_ | Order up to this | 12 |
| reorder_ | Raises a request | 4 |
| lead_ | Door to door | 12 |
| unit_ | Value per uom | 14.20 EUR |
| criticality | A, B or C | B |
| is_ | Rebuild or scrap | No |
| asset_ | Machines it fits | FIL-01, FIL-02 |
Five of these are mandatory on the day the row is created: part_no, description, uom, bin_location and unit_cost.
Without a unit of issue you cannot say what a quantity of 3 means, and without a cost you have no inventory value and therefore no turns.
Four more are mandatory before you may set a stock level: min_qty, max_qty, lead_time_days and criticality. A stock rule written without a lead time is a number somebody liked.
| Field skipped | What you lose |
|---|---|
| bin_ | Stock exists, nobody finds it |
| lead_ | Every min and max is a guess |
| criticality | Cheap parts get expensive cover |
| asset_ | 20 minutes of guessing per job |
| manufacturer_ | Duplicate rows for one part |
| is_ | Rebuildable units go in the skip |
The manufacturer part number is the field that quietly prevents duplicates. Two people order the same seal under two internal numbers, and only the maker's number shows that they are the same object.
Whether a unit is rebuilt or scrapped changes its whole stock rule, and that split is worked through in our comparison of repairable and consumable spare parts.
Spare parts management is six recurring decisions. Everything a storeroom does is one of them.
Each has its own page here, because each is a genuine argument with more than one defensible answer. The table gives the one rule of thumb worth carrying in your head.
| Decision | Rule of thumb, and where it is worked through |
|---|---|
| Stock it or not | Stock it when the supplier lead time is longer than the stop you can tolerate. See stock vs source on demand. |
| How much | Cover demand over the lead time, then add a buffer sized on how variable that demand is. See safety stock vs reorder point. |
| Which rule triggers it | Min and max for steady movers, a reorder point where demand is lumpy. See min-max vs reorder point. |
| Where it lives | One primary bin per part number. Someone else's shelf is still your stockout. See consignment vs vendor managed stock. |
| Who may issue it | Anyone may take a part, nobody may take it without a work order number. See spare parts management in a CMMS. |
| When to retire it | No issue in 24 months and no live asset link. See spare parts obsolescence management. |
Two supporting questions sit behind the first three: how you rank the catalogue by value, and how you rank it by consequence.
Those are different rankings and they disagree on purpose, which is the subject of ABC analysis and of criticality vs velocity.
Criticality on the part inherits from criticality on the machine, so settle the machine list first (asset criticality analysis).
This is the part of the system that gets least attention and produces the most avoidable downtime.
A technician who needs a seal at 02:00 has two possible outcomes: the seal is in the bin the record names, or the line stays down. The cost of those two outcomes is identical to having the part and not having it.
That is why findability belongs in the stock policy and not in the housekeeping budget.
A location scheme has to answer four things without anyone thinking.
| Element | Example |
|---|---|
| Zone or room | B (main store) |
| Rack or aisle | 12 |
| Shelf and bin | 3 |
| Full code | B-12-3 |
Three rules make the scheme survive contact with a real storeroom.
One primary bin per part number. A part in three places has three quantities and no total that anyone trusts.
The code is printed on the bin and on the record. A location that lives only in the system is a location that drifts every time someone tidies up.
Overflow is recorded, not remembered. When a pallet of belts will not fit in B‑12‑3, the second location goes in the record the same day, or it is lost the day the storeman takes leave.
A scannable label closes the loop: the person taking the part confirms it without typing a code they half remember.
This is the hinge of the whole system, and it is one sentence long.
Every part leaves the store against a work order, every return is booked, and a cannibalised part is a transaction rather than a favour.
An issue line needs very little: the work order number, the part number, the bin, the quantity, the unit cost at the moment of issue, and who took it when.
A return is the same line with a negative quantity, never an edit of the original. The original is evidence of what happened, and you do not edit evidence.
Cannibalisation is the case that gets waved through. A technician pulls a good motor off a machine that is already down and fits it to a machine that matters more.
That is two transactions: a receipt into the store from the donor asset, and an issue out to the receiving work order. Booked that way, both machines keep an honest history and the motor keeps a value.
Waved through, the plant now owns a motor that the records say is in two places, and the donor machine looks cheaper to run than it is.
| What is skipped | What the numbers do |
|---|---|
| Part taken, no work order | Cost per machine stays empty |
| Return not booked | On hand drifts low, buying rises |
| Cannibalisation not booked | One unit, two machine histories |
| Stock-take overwrites the quantity | The error vanishes, the cause lives |
| Issue priced at today's cost | Last year's repairs get rewritten |
The first row is the expensive one. You will still know the plant spent 168,000 EUR on spares last year, and you will not know which machine ate it.
The fourth row is the subtle one. A stock-take that writes a new quantity straight over the old one hides the size of the discrepancy, and the discrepancy is the only evidence you have about which bins and which people need attention.
Book the count as an adjustment transaction with a reason, and the pattern becomes readable within a quarter. The trade-off between counting a little often and counting everything once is covered in cycle counting vs physical inventory.
Keep the unit cost as it stood on the day of issue, so a supplier price rise in March does not rewrite last January.
Here is a complete storeroom, with figures small enough to check by hand.
Replace them with yours. The point is the arithmetic and what it does and does not prove.
| Item | Value |
|---|---|
| Active part numbers | 1,850 |
| Inventory value | 462,000 EUR |
| Issue lines in the quarter | 550 |
| Value issued in the quarter | 57,750 EUR |
| Distinct part numbers issued | 430 |
| Working days in the quarter | 63 |
| Carrying rate used | 18% a year |
The 18% is this plant's own assumption for what it costs to hold a euro of stock for a year, covering space, handling, insurance, counting and capital.
Pick your own figure and write it down, because every write-off argument you will ever have depends on it (inventory carrying cost).
Sort the 1,850 rows by extended value, highest first, and the money concentrates hard.
| Band | Part numbers | Value |
|---|---|---|
| A, top by value | 370 | 346,500 EUR |
| B | 555 | 92,400 EUR |
| C | 925 | 23,100 EUR |
| Total | 1,850 | 462,000 EUR |
Band A is 370 part numbers, which is 20.0% of the catalogue, and it carries 346,500 ÷ 462,000 = 75.0% of the value.
Band C is half the catalogue and 5.0% of the money. Counting those 925 rows every month costs more attention than the entire band is worth.
The consequence is a counting plan, not a ranking exercise: band A often and line by line, band C rarely and by simple rules.
Inventory turns are annualised consumption at cost divided by average inventory value.
Half a turn a year reads as a disaster if you learned turns in a finished goods warehouse. It is a normal figure for maintenance spares and it should be.
A gearbox you hold once and hope never to fit has a turn rate approaching zero by design. That is the price of the stop it prevents, and insurance spares are exactly this trade made deliberately.
So use turns as a trend on the fast moving part of the catalogue, not as a verdict on the whole store. The general mechanics are in our guide to inventory turnover.
Two more figures fall out of the same quarter. Only 430 of 1,850 part numbers moved at all, which is 23.2% of the catalogue.
And the store handled 550 ÷ 63 = 8.7 issue lines per working day, at an average of 57,750 ÷ 550 = 105.00 EUR per line.
That last pair is the honest answer to "do we need a full time storeman". Nine issue lines a day is not a full time job on its own, and it is also not something you want done badly by whoever is nearest.
Now ask the uncomfortable question: how much of the 462,000 EUR has not moved in 24 months?
Note what those numbers do not say. No movement is not the same as obsolete.
Inside the 640 sit insurance spares for machines that have behaved, and parts for a seasonal line that runs four weeks a year. Writing those off is how a plant buys the same item twice.
The test that separates them is the asset link. A part with no issue in 24 months and no link to a live machine is dead, and a part with no issue but a live class A machine behind it is doing its job by sitting still.
Apply that test and 40 part numbers fail it cleanly, because the machines they fitted were decommissioned.
They carry 12,800 EUR. Here is the whole effect of retiring them.
| Measure | Before | After |
|---|---|---|
| Part numbers | 1,850 | 1,810 |
| Inventory value | 462,000 | 449,200 |
| Turns | 0.50 | 0.51 |
| Dead value | 39,270 | 26,470 |
| Dead share | 8.5% | 5.9% |
The arithmetic: 462,000 minus 12,800 = 449,200, and 231,000 ÷ 449,200 = 0.51 turns.
The dead value drops to 39,270 minus 12,800 = 26,470, which is 26,470 ÷ 449,200 = 5.9% of the smaller inventory.
Read that table honestly before you present it. Turns moved by 0.01, which is nothing, and the P&L takes a real 12,800 EUR write-off in the quarter you do it.
The recurring gain is 12,800 × 0.18 = 2,304 EUR a year in carrying cost, plus the shelf space and the removal of 40 rows that a technician would otherwise search through at 02:00.
That is a sound reason to do it and a poor reason to promise a payback. Anyone selling a clear-out as a turns improvement is selling the wrong benefit (dead stock management).
These five are enough. They are cheap to produce and they fail in different directions, so no single bad habit can make all five look good.
| Sign | Formula |
|---|---|
| Fill rate | Lines issued at once ÷ lines requested × 100 |
| Stock accuracy | Bins counted with no adjustment ÷ bins counted × 100 |
| Turns | Annualised issue value ÷ average value |
| Emergency share | Emergency purchase lines ÷ all lines × 100 |
| Minutes waited | Issued at minus requested at, per work order |
Targets are a judgement, not a standard. There is no external body that certifies a correct fill rate, and anyone quoting one is quoting a habit.
Below is where we would want each of them in a plant with this profile.
| Sign | Where we would want it |
|---|---|
| Fill rate, class A | 95% and up. Below 90% the stock policy is not being followed |
| Fill rate, all parts | 85% to 95%. Chasing 99% buys dead stock |
| Stock accuracy | 95% and up. Below 90% no policy can be trusted |
| Turns | 0.4 to 1.5 for spares. Above 3 usually means you are not holding what you need |
| Emergency share | Under 5%. Over 15% the min and max are fiction |
| Minutes waited | Median under 15 for stocked parts |
Fill rate and minutes waited are the two the production manager actually feels, and they are the two most plants cannot produce.
Both need the request timestamp, not only the issue timestamp. If a technician walks to the store and takes a part, there is no request, and your fill rate silently becomes 100%.
Emergency purchase share is the cheapest early warning in the set. It rises weeks before anyone complains, because buying a part at a premium is easier than admitting the stock rule is wrong.
The cost of being wrong in each direction is a real calculation and not a slogan, which is the subject of stockout cost vs holding cost.
Where the parts shortage actually translates into stopped machines, measure it directly rather than inferring it (downtime caused by missing parts).
Most plants reading this are not starting from nothing. They are starting from a spreadsheet, a storeman who knows where things are, and a growing suspicion that both are a risk.
It is ordered so each step makes the next one cheaper, and it deliberately postpones the interesting work.
| Window | What you do |
|---|---|
| Days 1 to 15 | Freeze the spreadsheet. Fix one part_ |
| Days 16 to 30 | Walk the store. Give every line a bin, label the bins, label the shelves |
| Days 31 to 45 | Load the catalogue with bin, uom, unit_ |
| Days 46 to 60 | Switch issuing. Every part leaves against a work order, no exceptions |
| Days 61 to 75 | Start cycle counts. Band A weekly, band B monthly, band C twice a year |
| Days 76 to 90 | Set min and max on the lines that moved. Publish fill rate for the first time |
Days 46 to 60 are the whole project. Everything before it is preparation and everything after it depends on the transaction history that starts there.
Expect that fortnight to be unpopular and plan for it. A technician who has taken parts freely for eleven years experiences the change as distrust unless someone explains what the data is for.
The honest explanation is short: without the work order number, nobody can prove which machine is expensive, and the machine that is expensive is the one that gets the budget.
Every item below is worth doing and none of it is worth doing in the first 90 days.
The general shape of a stocking policy, once you do have the history, is laid out in our guide to spare parts stocking policy.
It is also worth settling early which items are parts and which are consumables, because they want different rules and different counting effort (spare parts vs consumables).
These five separate systems that keep a storeroom honest from systems that store a list.
Question four is the one that gets the vaguest answers, and it is the one that decides whether your stock accuracy figure means anything next year.
Question five is your exit. A system that cannot hand back its own transaction history is a system you cannot leave.
If you want the underlying record structure in full, including how part issues join to work orders and machines, see our CMMS data model and the related tool crib data model.
Fabrico is an OEE platform with a full CMMS built in, and the storeroom objects described above are part of it.
Inventory holds a catalogue with minimum and maximum levels, deliveries and stock-takes, and consumption is booked against the work order, so parts cost lands on the machine that consumed it.
QR codes on parts and on machines let a technician scan in the store or at the line from the iOS, Android or web app, and notifications carry low stock and task events to the people who need them.
Suppliers are held as a list on the part, for reference.
What it does not do: Fabrico does not reorder for you, it is not a purchasing system and it is not an ERP. Purchase orders, goods receipt and inventory valuation stay where they are today.
Want your parts, machines and repair costs in one history? Book a 30 minute demo with a Fabrico consultant, no commitment, or contact us with your questions.
Three that survive measurement: fewer stops waiting for a part, which you can only prove once waiting has its own downtime reason and its own clock and is worth measuring properly; less cash tied up in stock nobody will issue, since retiring the 40 dead lines above releases 12,800 EUR of book value and saves 2,304 EUR a year in carrying cost; and a write-off you take deliberately instead of discovering. The benefit that will not show up is the inventory turn rate, which moved from 0.50 to 0.51 on that same clear-out, so judge the storeroom on the five signs above and not on turns.
It is five objects working together: a catalogue of part numbers, a stock policy per part, a physical store with bin locations, an issue and return flow tied to work orders, and a small set of measures reviewed on a rhythm.
Five on creation: part_no, description, uom, bin_location and unit_cost. Four more before you set a stock level: min_qty, max_qty, lead_time_days and criticality.
Low, and that is correct. The storeroom worked through above runs at 0.50 turns a year, because insurance spares and slow movers are held for the stop they prevent rather than for their turnover.
Track five figures: fill rate, stock accuracy from cycle counts, turns, the share of purchases made as emergencies, and the minutes a work order waits for parts. Fill rate and minutes waited are the two production actually feels.
No, because no movement is not the same as obsolete. Retire a line only when it has had no issue for 24 months and no link to a machine that is still running.