Preventive Maintenance Schedule
Plan preventive maintenance task by task, see exactly what is overdue and what is safety critical, and measure PPM compliance honestly — completed on time divided by everything that fell due. Runs entirely in your browser; nothing is uploaded.
Version 1.0.0 · Updated Aug 5, 2026
Overview
How to use Preventive Maintenance Schedule
The complete in-tool guidance, reproduced here so you can read it before you download.
What this tool does
CM8-88 holds a planned preventive maintenance schedule and measures whether you are actually keeping to it. You enter each task against its asset, with a frequency, an interval and a due date; the tool works out what is overdue, how much work is waiting, and what proportion of the work that fell due was done on time.
Everything runs inside this single file. There is no account, no upload and no network request, so your asset list, your contractors and your arrears stay on the computer you are using.
It is a planning aid, not a maintenance management system. It does not send work orders, does not know your meter readings, and cannot tell whether the person who signed a task off actually did it.
One row is one occurrence
This is the thing to get straight before you enter anything. A row is one occurrence of a task, not the task definition. A monthly task on one machine produces twelve rows a year.
- Last completed date — when the previous occurrence was finished. It is the basis for this occurrence's due date, and nothing else.
- Next due date — when this occurrence falls due.
- Completed date — when this occurrence was actually done. This is the date the compliance calculation uses.
When you close an occurrence, add the next one: copy the row, move the last completed date to the date you have just recorded, and clear the completion fields. That chain is what lets the tool measure compliance over a period rather than just telling you what is due tomorrow.
The register can be filtered to the current occurrences only — filter the status to Scheduled, Due or Overdue — while the compliance figure keeps using the closed history behind it.
How the due date is worked out
Enter a next due date and the tool uses it. Leave it blank and it derives one:
Next due date = last completed date + interval (days)
The frequency is a label for people; the interval is the number the arithmetic uses. They must agree, and the tool checks that they do. A monthly task has an interval of 28 to 31 days, not 12 — entering the number of occurrences a year instead of the days between them is the most common data-entry error in a maintenance schedule, and it silently makes everything look due at once.
Days to due = next due date − today's date Overdue when days to due is negative; days overdue = today's date − next due date
Two ways of scheduling exist, and they behave differently in the long run. Fixed interval counts forward from the planned date, so a task done late does not push the following ones back. Floating interval counts forward from the actual completion, so lateness accumulates. This tool derives from the last completed date, which is the floating method — realistic for machine wear, but it means a slipping schedule keeps slipping. If you want a fixed calendar, enter the next due dates explicitly rather than leaving them blank.
Hours-based tasks
Some tasks are driven by a meter — running hours, cycles, kilometres — not by the calendar. Set the frequency to Hours based and the interval unit to operating hours, then record the reading at the last completion and the reading at which the task next falls due.
Next due at hours = reading at last completion + interval (hours)
An hours-based task has no calendar due date, because the tool has no way to know how hard the machine is being run. It is therefore left out of the overdue count, out of the compliance percentage and out of the monthly chart, and its state is shown as "Hours based". That is deliberate: a guessed date would be a number you could not defend. If you want an hours-based task inside the compliance figure, convert it yourself — divide the interval by the machine's typical hours per week — and enter the resulting calendar date as the next due date, noting in the description that it is an estimate.
Overdue, and deferral
A task is overdue when it has a due date in the past and no completion date, and its status is not Cancelled. The status field is a label you maintain by hand; the tool does not trust it for the arithmetic, because a status left on "Scheduled" for three months is exactly how arrears go unnoticed. The dates decide.
Deferring a task does not clear it. A deferred task stays in the overdue count and is shown as "Deferred, past due" until it is either done or given a new due date. This is a deliberate design choice. The alternative — letting a deferral remove the task from the arrears — turns the overdue count into a measure of how freely deferrals are granted.
If a deferral is a genuine, considered decision, record it: change the next due date to the new date and write the reason in the findings box. Then the task is legitimately not overdue, the compliance period still contains the occurrence it missed, and the decision is on the record.
PPM compliance, done honestly
PPM compliance answers one question: of the planned maintenance that should have been done, how much was done on time?
PPM compliance % = tasks completed on or before their due date ÷ tasks that fell due in the period × 100
The period runs from the compliance window you set in the settings up to yesterday. A task falling due today is excluded, because it has not yet had the chance to be late.
Period = (today − N days) up to and including yesterday, where N is the compliance window
Every occurrence with a due date inside that period is in the denominator, whatever happened to it. Each one lands in exactly one of four states, shown in the Compliance column of the CSV export:
- State — Meaning — Counts as compliant?
- On time — Completed on or before the due date — Yes
- Late — Completed, but after the due date — No
- Missed — Fell due, still not done — No
- Deferred — Fell due, formally postponed — Only if you switch it on, and never when safety critical
Cancelled occurrences, occurrences with no due date and hours-based tasks are outside the calculation entirely and appear as a dash.
How compliance figures get inflated
Nearly every inflated maintenance compliance figure comes from the same mistake: the denominator is drawn from the same population as the numerator.
Wrong: completed on time ÷ completed × 100 Wrong: completed ÷ completed × 100 = 100 % always
If you count only the jobs that were closed, the jobs nobody touched vanish. A site that completed six tasks out of nine that fell due, two of them late, can report either 44 per cent — the honest figure — or 67 per cent by ignoring lateness, or 100 per cent by dividing completions by completions. All three come from the same data. Only the first one tells you anything.
The other common inflations are worth naming, because this tool cannot detect any of them:
- Moving the due date after the event. If the due date is edited to match the day the work happened, every task is on time forever. The tool recalculates from whatever dates it is given; it has no memory of what the date used to be.
- Only entering tasks you intend to do. A schedule that quietly omits the awkward annual examinations will show excellent compliance on the easy monthly ones.
- A grace period folded into the due date. If you allow a week's grace, say so and set the due date to the real one; do not push the due date out and call it on time.
- Filtering the register and quoting the result as the site figure. The scope line under the report title states the filter in force — leave it visible.
Safety critical and statutory tasks
Tick the statutory or safety critical box on anything where a missed occurrence has a consequence beyond cost: examinations of lifting equipment and pressure systems, protective systems, extraction, emergency lighting, interlocks, fire equipment.
These have their own tile and are never averaged into the headline percentage. The reason is simple: a percentage hides individual failures. Ninety-five per cent compliance sounds excellent, and it is worth nothing at all if the five per cent outstanding is the examination of the crane that lifts over people. The tile counts them, the overdue chart marks the assets they sit on in red, and the work list flags them individually. Work through that list by name, not by percentage.
A deferred safety-critical task is never counted as compliant, whatever the deferral setting says. If a statutory examination genuinely cannot be done on time, the honest record is a new due date and a written reason — and, usually, the machine out of use until it is done.
The outstanding workload
Enter an estimated duration in minutes against each task and the tool totals the work you are carrying.
Work outstanding (hours) = sum of estimated minutes for tasks overdue or due inside the window ÷ 60
This is the number to take to a planning meeting. Arrears are usually a resourcing problem rather than a discipline problem, and "three engineer-days of statutory work outstanding" is a more useful sentence than "compliance is down". Tasks with no duration recorded are counted in the task count but contribute nothing to the hours, so the tile tells you how many of them there are — the total is a floor, not a forecast.
Estimate the hands-on time, not the elapsed time. A four-hour examination that requires the line to be down for a shift is a planning constraint, not four hours of labour; note that in the description.
Reading the charts and tables
Tasks by discipline shows what the schedule is made of. A plan that is almost entirely inspection is a plan that finds faults rather than preventing them; lubrication and planned replacement are what actually reduce breakdowns.
Overdue by asset ranks the machines where the plan has slipped, with the oldest arrears and whether anything on that asset is safety critical. One asset with six overdue tasks is a different problem from six assets with one each — the first is usually access, the second is usually resourcing.
Tasks due by month is your forward workload. Look for the month with a spike: a schedule where every annual task falls in the same four weeks will fail every year in those four weeks. Spread the start dates rather than the intervals.
Compliance by area is drawn worst first, with the counts in brackets. Read the counts before the percentage. An area with one task due reads 0 or 100 and means very little either way.
The asset summary shows the full arithmetic for every asset: tasks held, tasks overdue, how many fell due in the period, how many of those were on time, and the resulting percentage. Anyone can check the headline figure against it.
Settings
- Due window — how far ahead you plan. It controls the "due soon" tile, which tasks appear in the work list, and the outstanding hours. Set it to your planning horizon: a week for a reactive team, a month or a quarter for a planned one.
- Compliance window — the period the percentage covers. A short window is volatile; a long one hides recent recovery. Ninety days is a reasonable default, and a full year is the fairest figure for a schedule containing annual tasks.
- Target compliance — your own target, used only to colour the compliance chart.
- Count approved deferrals as compliant — off by default. Turn it on only if deferrals in your organisation are formally approved and recorded, and understand that it raises the percentage without any work having been done.
Every threshold here is yours to set. The tool assumes nothing about what interval is acceptable for any machine, and nothing about what compliance figure is good enough.
Printing and sharing
Print Report produces a report from whatever the current filter shows: the headline figures, the four charts, the work list, the asset summary, the full schedule and your closing notes. Print to PDF to circulate it.
The scope line under the title states the filter in force. Clear the filters before issuing anything described as the site position, and check that the compliance window matches the period you are reporting on.
Saving your work
The schedule, the settings and the report header are written to this browser's local storage as you type, and the toolbar shows the time of the last save. That storage belongs to one browser on one computer: another browser, a private window, a second machine or a clean-up tool that clears site data will not have it.
Treat Export .json as the real save — one file containing everything, which Import .json restores anywhere. Export CSV gives you the schedule for spreadsheet work, including the derived due date, days overdue and compliance state for every row, and it includes every filtered record rather than only those drawn on screen. Reset asks twice, then erases everything this tool has stored. There is no undo.
Accuracy & disclaimer
This tool calculates from the dates you enter and nothing else. It cannot tell whether a task was actually carried out, whether it was carried out competently, whether the interval is right for the machine, or whether a due date was edited after the fact. A compliance percentage is a measure of record-keeping as much as of maintenance.
Which examinations are legally required, at what interval, by whom, what qualifications the examiner needs and how long records must be kept differ by country, by industry and by machine. Statutory examination certificates must be kept in their own right — a tick in this schedule is not one of them. This is an internal planning and measurement aid, not legal advice, not a statutory record, and not a substitute for a competent person.