Morsa publishes this guide. It is software with an AI agent that works in your ERP, email and Teams; it asks operators why each stop happened, during the shift. The Pareto is our example.
Quick answer
The real risk is blanks. In many plants a large share of downtime is logged with no reason. A Pareto of that data ranks blanks first.
How many codes: start with 12. GlobalReader says 8 to 12 [3], TeepTrak 15 to 20 [2], Fabrico 10 to 20 and no more than 30 [4].
The list: 31 codes in 11 categories for a machining plant, plus seven press codes that replace seven CNC-only rows on a stamping line.
Threshold: a reason for every stop over 5 minutes. Shorter stops are counted automatically as minor stops, with no question asked.
Targets: Other under 5% of stops [4]. Blank under 2% of stops after four weeks, and cleared by the next shift (our target).
Why operators pick Other or leave it blank
The list is too long. Faced with dozens of codes, operators pick the first one that looks close [4].
Picking is slow. If a code takes 30 seconds to choose, operators skip it [4].
Codes overlap. Two codes that could both fit get picked at random [4].
They fear blame. If a code can come back on them, they choose the vague one. Fabrico warns against punishing honest codes [4].
The question comes too late. A reason typed at shift end is a guess; a reason given during the stop is more reliable [3].
Six rules that keep Other and blanks out
Ask at 5 minutes, during the shift. When a stop passes 5 minutes, the machine screen, a tablet or a message asks for the reason. A plant that logs by hand keeps a sheet at each machine and writes start, end and code as the stop happens, never at shift end; our free machine downtime log is laid out for that.
No Other on the operator’s screen. An unsure operator picks the category (Machine, Material, Quality) and the supervisor completes the code before the shift ends. GlobalReader removes Other from operators altogether [3], as our shop floor data collection guide does.
Do not ask about minor stops. Stops under 5 minutes go to MS01 automatically. Asking about every 20-second jam produces random picks [4].
Keep the pick under two seconds. Twelve codes on one screen, no scrolling.
One supervisor owns blanks and Other. Every morning, list yesterday’s blank stops by machine and clear them. Only the supervisor uses Other (OT01), always with a note; any cause in the notes three times in a month becomes a code.
Show what the codes are for. Tell operators the codes find waits for material, programs and maintenance, not people. Post the top reasons weekly with what was done about them.
The full list of downtime reason codes
The 12 starter codes from our shop floor guide are in bold. Nine map one to one onto a code, some under a longer name; three (Breakdown, Tooling, Quality problem) start as one code each and split into the rows beneath them. The list is the 29 codes in our machine downtime log, plus MA04 and IN01.
Planned stops
Code | Reason | Use it when |
|---|---|---|
PL01 | Preventive maintenance | Scheduled maintenance from the PM calendar; the starter Planned maintenance |
PL02 | Changeover or setup | From the last good part of one job to the first good part of the next |
PL03 | Break, meeting or training | Scheduled breaks, toolbox talks, training |
PL04 | No work scheduled | Nothing released to the machine; the starter Waiting for job release |
PL05 | Engineering trial | A planned tryout of a new part or process |
Machine: mechanical, electrical, tooling
Code | Reason | Use it when |
|---|---|---|
ME, EL | Breakdown | Starter code for any machine failure; split it first, into the nine rows below |
ME01 | Mechanical breakdown | A mechanical part failed and needs maintenance |
ME02 | Hydraulic or pneumatic fault | Leak or pressure loss in the machine’s own circuit |
ME03 | Spindle, bearing or drive | Spindle, axis drive, ballscrew or bearing problem |
ME04 | Bar feeder or loader fault | The bar feeder, loader or robot stops the cycle (CNC) |
ME05 | Conveyor or chip conveyor jam | A conveyor stops the machine (CNC) |
EL01 | Electrical fault | Wiring, motor or breaker |
EL02 | Control, PLC or CNC alarm | An alarm stops the cycle with no mechanical cause found |
EL03 | Sensor or switch fault | Door switch, probe or proximity sensor |
EL04 | Power loss | Plant or line power out |
TL | Tooling | Starter code for tool or fixture problems; splits into TL01 to TL03 |
TL01 | Tool breakage or wear | Broken or worn tool changed outside the planned change (CNC) |
TL02 | Chip control | Chips wrapping or packing (CNC) |
TL03 | Fixture or workholding | Vise, chuck or fixture problem (CNC) |
One Breakdown code covering nine kinds of failure tells maintenance nothing about where to look, so split it before the others.
Material, quality, people and everything else
Code | Reason | Use it when |
|---|---|---|
MA01 | Waiting for material | No material at the machine |
MA02 | Wrong or defective material | Wrong grade or size, or bad stock |
MA03 | Material handling | Waiting for a forklift or crane |
MA04 | Waiting for outside process | Parts away at plating or heat treat |
QU01 | Quality hold or first-piece approval | Waiting for an inspection sign-off; the starter Waiting for inspection |
QU02, QU03 | Quality problem | Starter code for bad parts; splits into the two rows below |
QU02 | Out-of-tolerance adjustment | Stopped to adjust offsets after a bad measurement |
QU03 | Scrap or rework | Stopped to sort, rework or contain bad parts |
PE01 | No operator | Machine idle for lack of staff |
PE02 | Waiting for maintenance | Fault known, technician not there yet |
IN01 | Waiting for program, drawing or instructions | Missing CNC program, drawing or work instruction |
UT01 | Air pressure | Shop air low |
UT02 | Coolant | Coolant low, wrong mix, or pump down (CNC) |
MS01 | Minor stop or jam | Under 5 minutes; logged automatically, no reason asked |
OT01 | Other or unknown | Supervisor only, with a note |
Press and stamping codes
On a press line, these seven replace the seven CNC-only rows: PL02 (PR01 replaces it), ME04, ME05, TL01 to TL03 (the die is the tool) and UT02, so a press line also has 31 codes. In the starter set, Setup or changeover becomes Die change and Tooling becomes Die damage, so a press plant still starts with 12.
Code | Reason | Use it when |
|---|---|---|
PR01 | Die change | Planned: last good part off one die to first good part off the next |
PR02 | Die damage or sharpening | Broken punch, chipped section, die pulled for sharpening |
PR03 | Coil change or end of coil | Loading and threading a new coil |
PR04 | Misfeed | Strip short or off pitch for over 5 minutes; shorter misfeeds are minor stops [1] |
PR05 | Slug or scrap jam | Slugs pulling up or the scrap chute jammed |
PR06 | Lubrication | Die or press lube low or failed |
PR07 | Press fault | Clutch, brake, tonnage monitor, die protection sensor or light curtain trip |
Recoding old Other and blank history
Three months of blanks still hide where the time went. Our method:
Export the last three months of stops coded Other or blank, with machine, start time, length and any note.
Sort by length and work down until you have covered about 80% of the blank hours. Leave the many short ones.
Recode from evidence only: the note; a maintenance work order opened on that machine at that time (a breakdown code); a job change on the machine (PL02 or PR01); a late material issue to the job (MA01).
Mark every recoded stop as “recoded”, so next quarter’s trend separates live codes from reconstructed ones.
Leave what you cannot prove as blank. Never spread it across the other codes.
A worked downtime Pareto
Our CNC example: 12 machines, one month, 240 unplanned stops over 5 minutes, 180 hours. Planned stops are charted separately. For a press line, use your press codes and press-hour rate.
Category | Hours (stops) | Cumulative share of hours |
|---|---|---|
Material | 46 (52) | 25.6% |
Tooling and workholding | 34 (48) | 44.4% |
Mechanical | 27 (30) | 59.4% |
Quality | 22 (38) | 71.7% |
Information | 18 (25) | 81.7% |
Electrical and controls | 12 (16) | 88.3% |
People | 9 (12) | 93.3% |
Utilities | 6 (10) | 96.7% |
Other | 6 (9) | 100% |
Five categories hold 81.7% of the hours. Sort by hours, not by stop count [3]: Quality has more stops than Mechanical but fewer hours. Other is 9 of 240 stops, 3.8%, under the 5% line.
Open the top category: Material’s 46 hours are MA01 waiting for material 31, MA04 outside process 9, MA02 wrong material 4 and MA03 handling 2. Act on MA01: was material staged before each job was released? At $120 a machine hour, our assumption, those 31 hours cost $3,720 a month; price your own with the downtime cost calculator. Then ask why five times on the top reason, as in our root cause analysis guide.
Getting a reason for every stop before the shift ends
Most blanks are a question nobody asked in time. Morsa asks in Teams, WhatsApp or text, and writes the code to the ERP or shop floor system you run.
Press 4 has been stopped for 5 minutes with no reason. Morsa messages the operator: “Press 4 stopped at 10:05. What happened?”
The operator replies in their own words, English or Spanish: “slugs pulling up on station 3”. Morsa proposes PR05.
The shift lead confirms the code in one tap. For a cause that repeats, the lead can approve it once as a rule; after that, the same reply on that press is coded under that rule and shows on the lead’s end-of-shift list.
To see it on your own lines, book a 30-minute walkthrough.
What to do this week
Count last month’s stops with no reason, or coded Other, by machine.
Load the 12 bold starter codes (with Die change and Die damage on presses) and the 5-minute threshold.
Take Other off the operator’s screen and name the supervisor who clears blanks each morning.
Recode the top 80% of last quarter’s blank hours.
After four weeks, run the Pareto by hours and split the top category.
Sources
Vorne Industries, OEE: Six Big Losses: https://www.oee.com/oee-six-big-losses/ (read 8 November 2026)
TeepTrak, Downtime Reason Codes: The Standard List and How to Use Them: https://teeptrak.com/en/downtime-reason-codes/ (read 8 November 2026)
GlobalReader, Downtime analysis: reason codes operators actually use: https://www.globalreader.eu/blog/downtime-analysis (read 8 November 2026)
Fabrico, Downtime reason code design: https://www.fabrico.io/blog/downtime-reason-code-design/ (read 8 November 2026)

