I have walked into a lot of maintenance storerooms, and I can count on one hand the ones where the system count matched the shelf. Finished goods warehouses at the same plants are often at 97 percent or better. The storeroom down the hall is at 60.

That is not because maintenance people are careless. It is because the storeroom is built around a different kind of work, and most of the controls were designed for a shipping warehouse.

Here is why MRO accuracy falls apart, and what I have seen fix it.

The 2 AM problem

A line goes down on third shift. The mechanic needs a bearing, a seal kit, and a proximity sensor. The storeroom attendant went home at 4:30.

So the mechanic grabs a key (or the door is propped open), takes the parts, and fixes the line. That is the right call. Production is losing thousands of dollars an hour.

What does not happen is the issue transaction. Nobody keys it in at 2 AM, and by morning nobody remembers exactly what was taken. Multiply that by a few breakdowns a week and the counts are fiction within a quarter.

The fix: make the after-hours path easy, not forbidden

Locking the storeroom tighter does not work. People find a way in when a line is down, and they should.

What works is a capture method that takes under 30 seconds:

  • A clipboard log on the door with part number, quantity, work order, and initials
  • Or a shared tablet with a scan and a quantity field, nothing else
  • Someone on day shift who owns entering that log first thing every morning

The day shift step is the one that gets skipped. Put it on a named person's checklist, not "the storeroom."

No issue transaction, even during the day

Plenty of storerooms do not have a clean issue process even when staffed. Parts get handed across a counter with a verbal "I'll put it on the work order later." Later rarely comes.

The root cause is usually that issuing a part takes too many screens. If a mechanic has to find the work order, look up the part, and fill in four fields, they will skip it.

The fix: tie every issue to a work order and make it short

Set the rule that nothing leaves without a work order number. Then make the transaction as short as you can. Scan the work order, scan the part, enter a quantity. Done.

If your maintenance system cannot do that, a paper issue ticket entered in batches twice a day is better than a slow screen nobody uses.

Duplicate part numbers

This is the quiet one. The same bearing exists in your system three times: once under the manufacturer number, once under the OEM machine builder's number, once under an internal number someone created in 2014.

Each record has its own count. The shelf has one bin with eleven bearings in it. One record says 4, one says 0, one says 9. Purchasing sees zero on the record they use and orders more.

I routinely find 10 to 20 percent duplication in MRO item masters. It inflates inventory value and causes stockouts at the same time, which is an impressive trick.

The fix: a cleanup project with a naming rule

  1. Export the item master with descriptions, manufacturer, and manufacturer part number.
  2. Sort by manufacturer part number and flag exact matches.
  3. Then sort by a normalized description (strip spaces, standardize "BRG" vs "BEARING") and review near matches by hand.
  4. Merge into one record per physical part, with cross references for the other numbers.
  5. Write a rule for new part creation, and give one person the authority to create items.

Step 5 is what keeps it clean. Without it, you will be back to 15 percent duplicates in three years.

Rebuilt and repaired parts

Gearboxes, pumps, motors, and hydraulic cylinders often get pulled, sent out for rebuild, and returned to stock. That creates a part that exists in three states: new, used and waiting for rebuild, and rebuilt.

Most systems treat all three as the same item at the same cost. So a dead pump sitting on a pallet waiting for the repair vendor counts as an available spare. Then the line goes down and someone grabs it.

The fix: separate the states

Give each state its own identity. That can be a separate item number with a suffix, a separate location, or a status code. What matters is that the count of "ready to install" is only ready to install.

Keep cores waiting for rebuild in a physically separate, tagged area. Red tags work. A shelf labeled "NOT AVAILABLE" works better than you would expect.

Free stock and the "just in case" bins

Many storerooms have free issue bins for fasteners, fittings, and consumables. That is fine. Counting every bolt is a waste of time.

The trouble starts when free stock creeps. Someone puts a box of $40 fittings into a free bin because it is convenient, and now they are untracked. Set a dollar threshold (I usually suggest something like $5 a unit) above which items must be tracked.

Then there are the private stashes. Every maintenance shop has toolboxes and cabinets full of parts mechanics squirreled away because they did not trust the storeroom. You will not fix that with a policy. You fix it by making the storeroom trustworthy, and then the stashes shrink on their own.

Counting a storeroom that is mostly slow movers

Cycle counting an MRO storeroom is different from counting fast moving stock. Many parts move once or twice a year. A count by ABC value alone misses the ones that matter most.

I suggest counting on two triggers:

  • Count any part when it is issued, as part of the issue (the shelf is right there)
  • Count critical spares on a fixed schedule, quarterly at minimum, regardless of movement

Counting at issue catches errors when they are fresh, and it costs maybe ten seconds.

Where to start

If your storeroom is a mess, do not try to fix all of this at once. I would start with the after-hours log and the work order rule, because they stop new errors from piling up. Then do the duplicate cleanup. Then separate rebuilt parts.

You can do all of it without new software. Most of it comes down to clear rules and one person who owns the process.