Skip to content
MaintWiz: Innovating Industrial AI

TPM guide

Downtime Reason Codes for OEE and TPM: A 38-Code Library

Short answer

Downtime reason codes are a short, fixed list of causes an operator picks when a machine stops, so that stops can be grouped, ranked and rolled up into the six big losses. The free library holds 38 codes, the rules for writing your own and the fields to capture with each stop.

The codes feed OEE, MTBF and MTTR, and the loss Pareto. Adopt the library as your master list, rename the codes in your operators' words and load it into MaintWiz with an Excel upload; each code rolls up to one of the six big losses.

How MaintWiz helps: MaintWiz, an AI CMMS built for TPM, covers every pillar from 5S and OPL to OEE and Kaizen, with pillar-wise clickable dashboards, mobile capture, IoT-triggered work orders and ePTW for safety. MaintWiz shows OEE per equipment with loss stratification, a daily OEE view and a lost-hours Pareto, and rolls it up from equipment to line and plant by planned time. See the OEE software · See all five free files

By MaintWiz product team · Published · Updated

What MaintWiz adds:Equipment OEE viewLost-hours ParetoDowntime reportLine and plant roll-up

Key takeaways

  • A reason-code list works when it is short, mutually exclusive, in operators' words and mapped once to the six big losses.
  • Use a two-level structure: loss group, then cause. The 38 codes below follow the six big losses and the 16 major losses; adopt them as your master list.
  • Capture start, end, equipment, product, code and who entered it; add free text only for new causes and review 'other' every month.
  • Set the planned or unplanned flag once on each code, with changeovers and setups counted as availability losses by default, and keep the rule fixed between periods.
  • MaintWiz holds the codes in a loss master set up once per equipment, and the downtime report ranks lost hours on a Pareto by unplanned, planned and performance loss.

Reason codes

What is a downtime reason code?

A downtime reason code is a label attached to a stop of the equipment, chosen from a controlled list at the time it happens or soon after. It turns 'the line was down' into 'the line was down for a changeover'. Without codes, stops are described in free text that cannot be totalled; with too many codes, operators pick the first one that fits or 'other'. Reason codes are the basis of the loss Pareto in OEE reporting and of the failure counts behind MTBF and MTTR.

The codes also decide what your OEE says. If a changeover is coded planned in one plant and unplanned in another, the two availability figures are not comparable. The mapping and the planned or unplanned rule therefore belong in the definition sheet, not in individual operators' heads.

The planned time, stop and rework definitions you write here set the availability figure that is calculated (Figure 1).

How a downtime reason code is built

Each code carries its group, loss, OEE factor and planned or unplanned flag

BD-01 Mechanical failure

  1. 1

    Group and number

    BD-01

  2. 2

    Reason in plain words

    Mechanical failure

  3. 3

    Six big losses group

    Equipment breakdowns

  4. 4

    OEE factor

    Availability

  5. 5

    16 major losses group

    Failure loss

  6. 6

    Planned or unplanned

    Unplanned

38 codes in eight groups in the library on this page

MaintWiz logo, AI CMMS built for TPMmaintwiz.comAI CMMS built for TPMQR code: WhatsApp MaintWizWhatsApp us+91 93459 29168QR code: book a MaintWiz demoBook a demo
Figure 1. Each code carries its own mapping, so one stop entered once feeds the OEE factor, the loss Pareto and the 16 major losses, as every code in the library below shows.

Downloads

Downtime reason code library (Excel) with stop log and line status board

  • Downtime reason-code library and stop log: Dashboard sheet
    ExcelDowntime reason-code library and stop log

    Start from 38 coded stop reasons with definitions, set a minor stop threshold

    Sheets
    Dashboard, Inputs, Codes, Stop log, Summary, Read me
    Print
    A4
    Version
    v1.1, 5 November 2026
    Get the Excel file
  • Andon board and call log template (Excel): Dashboard sheet
    ExcelAndon board and call log template (Excel)

    Run an andon line-stop call light with escalation at 10 and 20 minutes, response and fix times

    Sheets
    Dashboard, Inputs, Reason codes, Calls, Board, Board (2 x A4), Results, Read me
    Print
    A4
    Version
    v1.1, 5 November 2026
    Get the Excel file
  • OEE shift data collection sheet: page 1
    PDFOEE shift data collection sheet

    Print one sheet per shift and equipment: hourly counts, a coded stop log, efuda tag column and a product change line

    Pages
    2
    Print
    A4 landscape
    Created
    5 November 2026
    Get the PDF
  • Loss tree and Pareto-to-project map: Dashboard sheet
    ExcelLoss tree and Pareto-to-project map

    Build the loss tree from calendar time to valuable time, rank all 16 losses by cost

    Sheets
    Dashboard, Inputs, Tree, Project map, Pareto, Read me
    Print
    A4
    Version
    v1.1, 5 November 2026
    Get the Excel file
  • Six big losses and 16 major losses worksheet: Dashboard sheet
    ExcelSix big losses and 16 major losses worksheet

    Log loss events, rank the eight equipment losses in minutes

    Sheets
    Dashboard, Inputs, Lists, Events, Summary, Read me
    Print
    A4
    Version
    v1.2, 5 November 2026
    Get the Excel file

All 140 free TPM templates · Privacy policy

The library

The library: 38 codes in eight groups

Each code has a group prefix and a number. Of the 38 codes, 29 sit inside the six big losses, 4 are waiting codes and 5 fall outside planned production time. The six-loss group says which of the six big losses it rolls into; the 16-loss column gives its group in the JIPM 16 major losses. 'Decide by plant' marks the six codes where plants differ. The default is to count them as unplanned availability losses, because setup and changeover are losses to reduce; mark a code planned only where your definition says so.

Downtime reason code library, codes BD-01 to MS-03
CodeReasonSix big losses groupOEE factor16 major losses groupPlanned or unplanned
BD-01Mechanical failureEquipment breakdownsAvailabilityFailure lossUnplanned
BD-02Electrical failureEquipment breakdownsAvailabilityFailure lossUnplanned
BD-03Control, sensor or software faultEquipment breakdownsAvailabilityFailure lossUnplanned
BD-04Hydraulic or pneumatic failureEquipment breakdownsAvailabilityFailure lossUnplanned
BD-05Tooling, die or fixture failureEquipment breakdownsAvailabilityFailure lossUnplanned
BD-06Utility failure (power, air, water, steam)Equipment breakdownsAvailabilityFailure lossUnplanned
SA-01Changeover to a new productSetup and adjustmentAvailabilitySetup and adjustment lossDecide by plant
SA-02Tooling or format changeSetup and adjustmentAvailabilityTool change lossDecide by plant
SA-03Adjustment and trial run after changeoverSetup and adjustmentAvailabilitySetup and adjustment lossDecide by plant
SA-04Waiting for first-off approvalSetup and adjustmentAvailabilitySetup and adjustment lossDecide by plant
SA-05Cleaning between products or batchesSetup and adjustmentAvailabilitySetup and adjustment lossDecide by plant
WT-01Waiting for materialWaiting (outside the six; management or logistic loss)AvailabilityManagement lossUnplanned
WT-02Waiting for operator or crewWaiting (outside the six; management or logistic loss)AvailabilityManagement lossUnplanned
WT-03Waiting for maintenance or technicianWaiting (outside the six; management or logistic loss)AvailabilityManagement lossUnplanned
WT-04Waiting for quality release or inspectionWaiting (outside the six; management or logistic loss)AvailabilityManagement lossUnplanned
WT-05Upstream or downstream line stoppedIdling and minor stopsPerformanceMinor stoppage and idling lossUnplanned
MS-01Jam or blockage cleared by operatorIdling and minor stopsPerformanceMinor stoppage and idling lossUnplanned
MS-02Sensor misread or false tripIdling and minor stopsPerformanceMinor stoppage and idling lossUnplanned
MS-03Misfeed or mis-position of materialIdling and minor stopsPerformanceMinor stoppage and idling lossUnplanned
Downtime reason code library, codes MS-04 to PL-05
CodeReasonSix big losses groupOEE factor16 major losses groupPlanned or unplanned
MS-04Build-up or contamination clearedIdling and minor stopsPerformanceMinor stoppage and idling lossUnplanned
MS-05Short operator interventionIdling and minor stopsPerformanceOperating motion lossUnplanned
RS-01Run below ideal rate by instructionReduced speedPerformanceSpeed lossUnplanned
RS-02Worn or degraded equipment limits speedReduced speedPerformanceSpeed lossUnplanned
RS-03Material variation limits speedReduced speedPerformanceSpeed lossUnplanned
RS-04Operator caution or skill limits speedReduced speedPerformanceSpeed lossUnplanned
DR-01Dimensional or weight defectProcess defects and reworkQualityDefect and rework lossUnplanned
DR-02Surface or appearance defectProcess defects and reworkQualityDefect and rework lossUnplanned
DR-03Contamination defectProcess defects and reworkQualityDefect and rework lossUnplanned
DR-04Reworked piecesProcess defects and reworkQualityDefect and rework lossUnplanned
DR-05Wrong setting or recipeProcess defects and reworkQualityDefect and rework lossUnplanned
SY-01Warm-up or stabilisation rejectsReduced yield at start-upQualityStart-up lossUnplanned
SY-02Rejects after restartReduced yield at start-upQualityStart-up lossUnplanned
SY-03Trial or purge piecesReduced yield at start-upQualityStart-up lossDecide by plant
PL-01Planned maintenanceOutside planned production timeNot in OEEScheduled shutdown lossPlanned
PL-02Breaks and meal timesOutside planned production timeNot in OEENot an equipment lossPlanned
PL-03Meetings, training, 5S timeOutside planned production timeNot in OEENot an equipment lossPlanned
PL-04No demand or no orderOutside planned production timeNot in OEENot an equipment lossPlanned
PL-05Scheduled shutdownOutside planned production timeNot in OEEScheduled shutdown lossPlanned

Use the library

The same list is in a free workbook with a stop log and a loss summary, so a plant can adapt it in a spreadsheet before moving it into a system. A coded list is central to what OEE software is: every stop is ranked by its code, so a clean list on day one gives a usable loss Pareto from the first week. Waiting codes (WT-01 to WT-04) point at management, logistics or staffing rather than at the equipment, so the library gives them their own group; WT-05, a line stopped upstream or downstream, is a starved or blocked stop and rolls into idling and minor stops; they still reduce availability when they fall inside planned production time. The library keeps waiting as its own group so management and logistics losses stay visible. The 16-loss names follow the JIPM list of 16 major losses (Figure 2).

Downtime reason-code workbook open in Excel with codes BD-01 to SA-04, six-loss group, OEE factor and planned flag
Figure 2. The free downtime reason-code workbook as it opens in Excel: each of the 38 codes with its six big losses group, OEE factor, 16 major losses group and planned or unplanned flag, ready to rename for your plant. Free download: the downtime reason code library
MaintWiz loss master with library codes such as BD-01 and MS-01 in the loss description, with type, sub type and category
Figure 3. The 38-code library loaded into the MaintWiz loss master: each code is set up once per equipment with its OEE loss type, six-loss sub type and planned or unplanned category, so every stop rolls up automatically.

Load this library into MaintWiz

MaintWiz, an AI CMMS built for TPM, holds loss codes as a loss master set up once per equipment, with type, sub type, description and category. Load the codes from the free workbook with an Excel upload, and operators pick the code at the machine on a mobile device or at a terminal. The OEE downtime report ranks lost hours by type and category, the loss cost matrix turns them into cost, and IoT signals can trigger work orders automatically. Book a demo to load this library on your own equipment.

Your own list

Rules for writing your own list

  • Start with 25 to 40 codes for a plant, not hundreds; add a code only when 'other' keeps collecting the same cause.
  • Make codes mutually exclusive: one stop, one primary code. Use a second field if you need a contributing cause.
  • Use operators' words in the label, and keep a one-line definition that says what the code is not.
  • Give every code exactly one parent: a six-big-loss group, the waiting group or the outside-planned-time group, so the roll-up is automatic.
  • Mark planned or unplanned on the code, not on each event. In MaintWiz the loss type (unplanned, planned or performance) sits on the loss master, so the rule is set once.
  • Allow free text on 'other' only, and review it monthly to promote repeated entries into codes.
  • Version the list with a date, and never reuse a retired code for a new meaning.

What to capture with each stop

Fields to capture with each stop
FieldWhy it mattersRule
EquipmentRoll-up and ranking by machineChosen from the asset register, not typed
Start and end timeDuration and minimum stop lengthEntered or taken from the machine signal; edited with a reason
Product or SKUIdeal rate and changeover pairsChosen from the product list
Reason codeGrouping and ParetoRequired; the list above or your own
Free textNew causes and detailOptional; mandatory for 'other'
Entered by and confirmed byTrust in the dataOperator enters; supervisor confirms within the shift
Work order referenceStop and repair read togetherThe repair work order for breakdown codes

A stop shorter than your minimum stop length is not logged as downtime; its time shows up in performance as a minor stop. Write the minimum length in the definition so the three factors add up (Figure 3).

MaintWiz production log entry with a coded stop: equipment, start and end time, product, reason code and confirmation
Figure 4. A stop entered in MaintWiz with its equipment, start and end time, product, reason code and supervisor confirmation; breakdown stops and their repair work orders sit on the same equipment, and the work orders' breakdown count and hours feed MTBF and MTTR.

How codes feed OEE

How the codes feed OEE, MTBF and the loss Pareto

Availability is planned production time minus the stops coded as losses. Performance is affected by minor-stop and speed codes. Quality uses reject codes. A Pareto of lost time by code shows which cause to work first, and a Pareto by six-loss group shows which pillar should lead the OEE improvement. For breakdown codes, work-order start and end times give the failures and repair time for MTBF and MTTR (Figure 5).

Downtime reason codes feeding the OEE downtime report with loss by type and category
Figure 5. One month of coded stops in the MaintWiz downtime report: 183.3 lost hours from 187 events, split into unplanned 19.3 h, planned 15.7 h and performance loss 148.3 h, with reduced speed and minor stoppage the largest categories.

In MaintWiz the code list sits next to the equipment hierarchy and the roll-up is a stored mapping, so the OEE software views, the Pareto and the downtime report read the same codes.

Common mistakes with reason codes

  • A list so long that 'other' wins.
  • Codes that name symptoms and causes in one list, such as 'jam' beside 'worn guide'.
  • Letting each shift add codes, so the same cause has three labels.
  • Mixing planned and unplanned meanings under one code.
  • Using codes to assign blame; operators then pick the safest one.
  • Never reviewing: a list that is not revised drifts away from the equipment's real stops.

ISO 22400-2:2014 defines the KPI formulas that sit on top of stop data, so the planned time, stop and rework definitions written here set the availability figure that is calculated.

Ownership

Who owns the list

One owner, usually the TPM lead with production and maintenance, controls changes. A change log records what was added, renamed or retired and when, so older data can be read correctly. Review the list quarterly with the loss Pareto in front of you, and use the metric dictionary to record the planned or unplanned rule and the minimum stop length.

FAQ

Frequently asked questions

What are downtime reason codes?

Downtime reason codes are a controlled list of causes an operator selects when equipment stops, so stops can be grouped, ranked and rolled up into losses such as the six big losses. They replace free text that cannot be totalled.

How many reason codes should a plant have?

Start with 25 to 40, grouped by the six big losses, and add a code only when 'other' keeps collecting the same cause. Long lists make operators pick the first fit or 'other', which damages the data.

How do reason codes map to the six big losses?

Each code has one parent group: one of the six big losses (breakdowns, setup and adjustment, idling and minor stops, reduced speed, process defects and rework, reduced yield at start-up), the waiting group or the outside-planned-time group. Mapping once means the roll-up and Pareto need no manual sorting.

Should changeover be coded as planned or unplanned?

Count it as an unplanned stop in availability by default, because a changeover is a loss to reduce. Mark it planned only where your OEE definition says so, set the flag once on the code and keep it fixed between periods.

What fields should be captured with each stop?

Equipment, start and end time, product, reason code, free text for new causes, who entered it and who confirmed it, and the repair work order reference for breakdowns. Together these support OEE, MTBF and MTTR.

Can we load this library into MaintWiz?

Yes. Upload the 38 codes from the free workbook into the MaintWiz loss master with an Excel upload, rename them in operators' words and set each one up once per equipment with type, sub type and category; the downtime report then ranks lost hours by code.

Sources

Sources

Run it on your own numbers in MaintWiz

Book a demo and bring the figures, loss list or sheet you work from today. We will show how MaintWiz holds the same records on one equipment list.

Book a demo