Three Masters to Serve with Work Order Codes

Jan. 20, 2017

Many long and complex discussions have taught me that setting up an effective work-order coding system is more complex than it appears. Two problems occur frequently. First, the list of applicable codes is so long and complex that the final result is full of errors, misinterpretations, and mistakes. Second, it is unclear why codes are being entered and how they will be used.

Developing an effective work-order system is important because the codes you use determine the value of the information you obtain. What information do you need to help you make decisions? What is the minimum, most efficient coding system that will enable you to extract that information? Never define a code because you can. Never enter a code unless you know how it will be used to improve decisions.

Work-order codes must help you achieve three objectives. Foremost is that they must help you to manage maintenance resources by planning and scheduling work and setting priorities. Second, they must help summarize and collect past events and costs and make it possible to build the machine histories you need to support future decisions. Third, they must enable you to measure the effectiveness and the performance of your maintenance enterprise by providing the required statistics. These are three diverse requirements that require defined codes for each.

Your ability to manage maintenance resources starts with a knowledge of two things: what type of work is required and why it is required. These factors—together with a description of the work, an indication of its urgency, and an estimate of the time required—make it possible to assemble maintenance and repair requests into efficient work order assignments, allocate resources, and schedule the work. The nearby table provides an example of nested “what” and “why,” or work-type, codes and makes a clear and critically important distinction between the urgent need to respond to “reported emergency down” events and the frequently less urgent “repair before failure” and “planned scheduled maintenance” requests.

Managing maintenance resources and ensuring an efficient throughput of completed work requires a second separate and completely different family of work-order codes to track their status as they flow through the system. Those status codes should include the following:

  1. Pending: Starts when a reported emergency down event or any number of maintenance requests are assembled into an efficient work order assignment. Pending work orders have not yet been assigned to technicians.
  2. Assigned: Starts when a work order is assigned to a technician. No time has yet been posted to the work order.
  3. In progress: Starts when time is booked to the work order. Ends when status is changed to “on hold” or “complete.”
  4. On hold: Starts when the technician indicates that no work will be done due to a shortage of parts or some other issue.
  5. Complete: Starts when the technician indicates work is complete and the machine can return to service.
  6. Closed: Starts when the work order has been reviewed and finalized. All costs have been approved, and no more costs may be posted to the work order.

The second objective of a coding system, to build machine histories by summarizing and collecting past events and costs, also requires two families of codes. The first of these, the component code system, identifies the component or major machine system on which the work was done and the money spent. Most competent software can manage a system of nested component codes unique to a given machine type in order to quickly answer questions such as  “When did we last replace the articulation joint and what did it cost?”

The other family of codes required to build machine history is the cost coding structure. Repair parts and labor, maintenance costs, tires and tracks, and wear parts frequently making up the principal operating cost types collected through the work order system. A code structure similar to that set out in the table adds to the accuracy of cost histories by making it possible to separate costs associated with wear and tear from those due to theft and vandalism, which are not part of the operating cost calculation and may be recoverable through insurance. Similarly, a good work-type structure makes it possible to identify up-fit and capitalized repair and rebuild costs, which are capitalized and recovered through depreciation charges.

The third objective of the work-order coding system, to provide the statistics needed to measure the effectiveness and the performance of the maintenance enterprise, builds directly on the first two. The clear distinction between “reported emergency down” events and “repair before failure” events in the work-type codes provides data required to measure reliability and downtime: two critical metrics needed to measure the effectiveness of the maintenance enterprise. The clear steps in the work order status tracking codes makes it possible to manage throughput, backlog, resource utilization, and productivity. Component codes enable you to develop important statistics and histories to address complex technical problems. Cost codes build the unit-level cost histories that play an important part in the repair, rebuild, replace decision.

You see the complexities. The time spent designing your coding structure and setting up the four families of codes described above is time well spent. Remember, your coding system and the way you code your work orders defines and limits the value of the information you are able to obtain.

For more on asset management, visit