Atom AI

AI built inside your CMMS to make your FM operations smarter and easier

Explore Atom Assistants
Work Orders

Work Order Tracking Template

One register rather than one job. Every work order goes in a single log with its priority, owner, status and cost, and the summaries underneath count themselves from those rows: what is open, what is ageing, what met its response time, and how much of the work was reactive.

  • One row per work order, open and closed
  • Days open calculates from raised and closed dates
  • SLA outcome per row, and a hit rate underneath
  • Reactive share of total work, visible at a glance
work-order-tracking.xlsx

Work Order Tracking

Register, ageing, SLA and cost

Site or portfolio
 
Period covered
__ / __ to __ / __
Maintained by
 
Review frequency
Daily / Weekly / Monthly
Target response, P1
 
Target response, P2
 
Target response, P3
 
Target response, P4
 
Total logged
 
Open now
 
Reactive share
 
SLA met
 
#Work performedDoneHrsNotes
1State the target response time per priority first
2Log every work order as one row, on the day
3Leave the closed date blank while a job is open
4Let days open calculate from the two dates
5Mark the SLA outcome against each closed row
6Read the status, priority and type counts underneath
+ open by status, open by priority, work by type, SLA performance, cost roll-up

A preview of the real document. The download is the complete file.

Download the work order tracking template

Free, editable and yours to rebrand. Pick a format. You'll get all three, so you have the printable version too.

  • Word (.docx) for editing the status list and priorities to match how your team works.
  • Excel (.xlsx) the one to actually use, where days open, the counts and the cost totals calculate themselves.
  • PDF print-ready, for a review meeting or a wall.

Who this work order tracker is for

Four people read this register, and each of them wants a different line out of it.

  • Maintenance planner

    You are deciding what happens next. Open by status is the working view, and awaiting parts is the column that tells you the problem is procurement rather than labour.

  • Facilities manager

    You are answering how the function is performing. SLA met against target, and the ageing of what is still open, are what you take into a review.

  • Operations director

    You are looking for a trend, not a job. The reactive share of work type, month on month, is the number that says whether maintenance is getting ahead or falling behind.

  • Contract or finance owner

    You are attributing cost. Hours and cost per row, rolled up by location and by type, are what turn a maintenance budget into something you can defend.

Where a work order tracker is used

The register is the same shape everywhere. What changes is which columns carry the weight.

SettingWhat the form has to capture there
Single site, small teamVisibility with no system. Status and owner matter most; the register replaces a whiteboard and a group chat.
Multi-site portfolioComparability. Location, days open and cost per site are what let one building be compared with another rather than described.
Contracted-out maintenanceSLA evidence. Raised, closed, days open and the SLA column are what a contract review is conducted from.
ManufacturingWork type. The reactive against preventive split, by line, is what a reliability case is built on.
Property and lettingsAgeing. How long a tenant request has been open, by priority, is the measure that gets escalated.

What a work order tracker should include

A work order tracker is a single register of every maintenance job raised over a period, open and closed, with its priority, owner, status, ageing, cost and SLA outcome. It is not a form for one job: it is the roll-up that turns individual work orders into counts a review meeting can act on.

Fields every work order needs

  • Work order number

    A unique reference, e.g. WO-1042

  • Date and time raised

    When the request came in, not when you got there

  • Priority

    Set at intake, from the contract, before anyone forms a view

  • Site and location

    Where the work happens, precise enough to find unaided

  • Raised by and contact

    Who asked, and how to reach them on arrival

  • Target completion

    The time you are committed to, so the SLA is measurable

  • Parts and materials

    Item, quantity, unit price and who it is charged to

  • Labour

    Date, who attended, hours and rate

  • Sign-off

    Both signatures, named and dated

Columns specific to a tracking register

FieldWhat goes in itWhy it earns its place
Target response time per priorityStated at the top of the register, before any rowsWithout it the SLA column means nothing. This one entry is what turns a yes or no into a measurement.
Raised and closed datesTwo dates per row, with closed left blank while the job is openThe page's whole argument. Days open should calculate from these rather than being typed, because a typed number is only true on the day it was typed.
Days openDerived, not enteredThe ageing measure. A job at forty days is a different conversation from a job at four, and only a formula keeps that honest as the register grows.
StatusOpen, assigned, in progress, awaiting parts, on hold, complete, cancelledSpelled exactly the same way every time, or the counts underneath stop adding up. Awaiting parts existing as its own status is what separates a labour problem from a supply one.
PriorityP1 to P4, matching the response targets stated at the topPriority without a stated target is a label. With one, it is a commitment the register can measure.
Work typeReactive, preventive, corrective, inspection or projectThe reactive share of this column is the most useful number in the document. A function that is mostly reactive is being run by its assets rather than running them.
Hours and cost per rowLabour hours and total cost against each work orderWhat lets cost be attributed to a location, an asset or a type instead of arriving as one monthly figure.
SLA metYes or no against each closed rowJudged against the target at the top, not against a feeling. The hit rate underneath is then a fact rather than a claim.

If you cut the register down, keep the two dates and let days open calculate. Every tracker that fails does so the same way: someone types a number into days open, the row stops updating, and within a month the ageing column is fiction that looks like data. Two dates and a formula never go stale.

What it looks like filled in

A real register, part-filled. This is the same log the Excel version totals and counts for you.

WO no.RaisedLocation / assetTypePri.StatusDaysCostSLA
WO-104218/09/2026L2 East / AHU-03ReactiveP2Complete1198.50Y
WO-104318/09/2026Level 3 WCsReactiveP3Complete364.00Y
WO-104419/09/2026Roof / RTU-04ReactiveP1Awaiting parts120.00N
WO-104521/09/2026Plant room / Pump-02PreventiveP4Complete2110.00Y
WO-104622/09/2026Car park lightingCorrectiveP3In progress80.00n/a

Register for a single site, period September. Read the ageing column rather than the count: WO-1044 is a P1 at twelve days, which is the row a review should open with, and its cost is still zero because the parts have not arrived. Two rows carry no SLA outcome because they are still open, which is correct. Four of the five are reactive, and that ratio is the finding, not the total.

How do you keep a work order tracker?

A register is only as good as the discipline around it. Six habits, and the second is the one that decides whether the document survives three months.

  1. State the response targets before you log anything

    One target per priority, at the top. Filled in afterwards, the SLA column records whatever the person filling it in believed at the time.

  2. Log every job on the day it is raised

    Including the ones closed the same hour. A register that only receives the jobs somebody remembered is a sample, and a biased one.

  3. Leave the closed date blank while a job is open

    And never type into days open. The blank is what tells the ageing formula the job is still running.

  4. Use the same status words every time

    Open, assigned, in progress, awaiting parts, on hold, complete, cancelled. In progress and In Progress are two statuses to a spreadsheet and one to a person.

  5. Mark the SLA outcome when the job closes

    Against the target at the top, not against how it felt. A no with a reason is more useful than a yes nobody checked.

  6. Read the summaries, not the log

    Open by status tells you what to do this week. Work by type tells you whether the function is improving. The log itself is evidence, not a report.

Open is not the same as about to breach. See how Atom AI assistants read the same register and surface the jobs heading for a breach first.
See Atom AI assistants

Tracking spreadsheet vs work order software

A tracker and a system do different jobs. One records state; the other acts on it.

AspectTracking spreadsheetWork order software
What it does wellCosts nothing, starts today, and everyone can already use itEnforces the fields, timestamps every change, and notifies
Who updates itOne person, usually after the factWhoever does the work, at the time
AgeingCorrect if the formula is intact and nobody typed over itAlways current, because it is derived
The SLAA column somebody fills inA clock that can warn before it breaches
HistoryThe current state of each rowEvery change, with who made it and when
Where it breaksTwo people open it at once, or a formula is overwrittenNowhere comparable, but it has to be adopted to work

The honest position is that a tracker is the right first step and a poor tenth one. It earns its place when the alternative is nothing. It stops earning it the moment the question changes from what is open to what is about to breach, because a spreadsheet cannot tell you about a deadline it does not know is approaching.

Where a spreadsheet stops working

A register handles a month well. It handles a function badly, and the failure modes are consistent.

  • There is no single copy

    Somebody emails a version, edits it, and two registers exist for the same site. Merging them is nobody's job, so the older one quietly keeps being updated.

  • Nothing warns before a breach

    The SLA column is written after the fact. It records that a target was missed; it cannot tell you an hour beforehand, which is the only moment the information could have changed the outcome.

  • There is no audit trail

    A cell shows its current value. It cannot show that a priority was downgraded on Friday, or by whom, which is the question a contract dispute asks.

  • It stops at the edge of the sheet

    One register covers one site or one period. Comparing this month with last, or one building with another, means opening files and trusting that both were maintained the same way.

What running this in Facilio looks like

The register is the paper version of state the platform already holds. The columns below are the same ones; the difference is that they maintain themselves.

  • Work Completion Validator

    Closure stops being a keystroke

    In a spreadsheet a job is complete when someone types complete. Work Completion Validator checks the completion record against what the job required, so a job closed without hours, a cost or a resolution cannot quietly become a green row.

  • Ops Performance Intelligence

    The SLA becomes a clock rather than a column

    The response targets you state at the top drive an SLA that warns before it breaches and rolls up by site, priority and owner, so ageing is something you act on rather than something you review.

  • Audit Report Intelligence

    The register becomes queryable history

    Every status change, priority change and reassignment is held with who made it and when, so a contract review is answered from the record instead of from the version of the sheet that survived.

  • Contractor Work Tracker

    Cost and reactive share roll up on their own

    Hours and cost per row become the reactive-against-preventive split by site and by asset, which is the trend a maintenance case is made from, without anyone maintaining a pivot table.

Audit-trailed. Every answer Atom AI gives traces back to the record it came from, so a claim in a report can be followed to the visit that produced it.

Frequently asked questions

What is a work order tracking template?

A work order tracking template is a register of every maintenance job raised over a period, open and closed, with its priority, owner, status, ageing, cost and SLA outcome. Underneath the log sit counts by status, priority and work type.

It differs from a work order form in what it is for. A form records one job in detail. A register records every job in summary, so patterns become visible.

What should a work order tracker include?

At minimum: the site or portfolio and the period covered, the target response time for each priority, then one row per work order carrying the number, the raised date, the location or asset, the job, the work type, the priority, the owner, the status, the closed date, days open, hours, cost and whether the SLA was met. Then counts by status, by priority and by type, and an SLA hit rate.

Why should days open be calculated rather than typed?

Because a typed number is only true on the day it was typed. A job logged at four days open stays at four days forever, and within a month the ageing column is fiction that looks like data.

Two dates and a formula stay correct without anyone maintaining them. This is the single most common way a tracker fails.

What is the most useful number in the register?

The reactive share of the work-type count. A maintenance function that is mostly reactive is being run by its assets rather than running them, and that ratio moving month on month is the clearest signal of whether anything is improving.

The second most useful is the ageing of what is still open, by priority. A P1 at twelve days is a finding on its own.

When should I stop using a spreadsheet?

When the question changes from what is open to what is about to breach. A register records state after the fact; it cannot warn you about a deadline it does not know is approaching.

The other trigger is more than one person needing to update it at once. That is the point at which versions multiply and the register stops being a single source.

Is a tracker the same as a CMMS?

No. A tracker is a record you maintain; a CMMS is a system that maintains the record as work happens, timestamps every change and can act on what it holds.

A tracker is the right first step when the alternative is nothing. It stops being the right answer once the volume, the number of people updating it, or the need for an audit trail outgrows a file.

Can I edit and rebrand this template?

Yes. It is free to use, edit, rename and put your own logo on, internally or for clients. No attribution required.

The Word version is the one to edit if you want to change the status list, priorities or columns; the Excel version is the one to use if you want days open, the counts and the cost totals to calculate themselves.

In one paragraph

A work order tracker is one register for every job on a site or portfolio. State the response target for each priority before logging anything, then add one row per work order on the day it is raised. Leave the closed date blank while a job is open and never type into days open, so the ageing stays true. Use the same status words every time or the counts stop adding up. Mark the SLA outcome at closure, and read the summaries rather than the log.

The template is the floor, not the ceiling

A register records state. A connected CMMS maintains it: ageing that is always current, SLAs that warn before they breach, and a reactive share that rolls up without anyone building a pivot table.

Work Order Tracking Template Word · Excel · PDF Download