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
Register, ageing, SLA and cost
| # | Work performed | Done | Hrs | Notes |
|---|---|---|---|---|
| 1 | State the target response time per priority first | |||
| 2 | Log every work order as one row, on the day | |||
| 3 | Leave the closed date blank while a job is open | |||
| 4 | Let days open calculate from the two dates | |||
| 5 | Mark the SLA outcome against each closed row | |||
| 6 | Read the status, priority and type counts underneath |
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.
| Setting | What the form has to capture there |
|---|---|
| Single site, small team | Visibility with no system. Status and owner matter most; the register replaces a whiteboard and a group chat. |
| Multi-site portfolio | Comparability. Location, days open and cost per site are what let one building be compared with another rather than described. |
| Contracted-out maintenance | SLA evidence. Raised, closed, days open and the SLA column are what a contract review is conducted from. |
| Manufacturing | Work type. The reactive against preventive split, by line, is what a reliability case is built on. |
| Property and lettings | Ageing. 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
| Field | What goes in it | Why it earns its place |
|---|---|---|
| Target response time per priority | Stated at the top of the register, before any rows | Without it the SLA column means nothing. This one entry is what turns a yes or no into a measurement. |
| Raised and closed dates | Two dates per row, with closed left blank while the job is open | The 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 open | Derived, not entered | The 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. |
| Status | Open, assigned, in progress, awaiting parts, on hold, complete, cancelled | Spelled 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. |
| Priority | P1 to P4, matching the response targets stated at the top | Priority without a stated target is a label. With one, it is a commitment the register can measure. |
| Work type | Reactive, preventive, corrective, inspection or project | The 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 row | Labour hours and total cost against each work order | What lets cost be attributed to a location, an asset or a type instead of arriving as one monthly figure. |
| SLA met | Yes or no against each closed row | Judged 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. | Raised | Location / asset | Type | Pri. | Status | Days | Cost | SLA |
|---|---|---|---|---|---|---|---|---|
| WO-1042 | 18/09/2026 | L2 East / AHU-03 | Reactive | P2 | Complete | 1 | 198.50 | Y |
| WO-1043 | 18/09/2026 | Level 3 WCs | Reactive | P3 | Complete | 3 | 64.00 | Y |
| WO-1044 | 19/09/2026 | Roof / RTU-04 | Reactive | P1 | Awaiting parts | 12 | 0.00 | N |
| WO-1045 | 21/09/2026 | Plant room / Pump-02 | Preventive | P4 | Complete | 2 | 110.00 | Y |
| WO-1046 | 22/09/2026 | Car park lighting | Corrective | P3 | In progress | 8 | 0.00 | n/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.
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.
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.
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.
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.
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.
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.
Tracking spreadsheet vs work order software
A tracker and a system do different jobs. One records state; the other acts on it.
| Aspect | Tracking spreadsheet | Work order software |
|---|---|---|
| What it does well | Costs nothing, starts today, and everyone can already use it | Enforces the fields, timestamps every change, and notifies |
| Who updates it | One person, usually after the fact | Whoever does the work, at the time |
| Ageing | Correct if the formula is intact and nobody typed over it | Always current, because it is derived |
| The SLA | A column somebody fills in | A clock that can warn before it breaches |
| History | The current state of each row | Every change, with who made it and when |
| Where it breaks | Two people open it at once, or a formula is overwritten | Nowhere 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.