Applies to: Maximo 7.6, MAS 8, and MAS 9
What you are seeing
PM work orders reach a completed or closed status on or near their due date, but there is no labor reported, no materials, no readings, and no failure information. The compliance number looks fine. The equipment tells a different story. Sometimes a whole batch of PMs flips to done at the end of a period.
What is actually happening
There are two common causes, and neither is usually fraud.
Status behavior. The status you see on a work order is a label, and the system and your reports can classify it differently than the label suggests. Maximo lets organizations create their own status names that sit on top of a smaller set of internal statuses. So a custom status someone added can roll up to completed internally, which means your compliance report counts it as done even though the label looked harmless and the work never happened. This is not hypothetical: out of the box, the Deferred status rolls up internally to In Progress, and Waiting on Plant Condition rolls up to Approved. The label and the internal meaning are not always the same.
Automation. Someone, often with good intentions, sets up an Escalation or an Automation Script to clean up or close work orders that meet a condition. If that condition is even slightly too broad, it sweeps up PM work orders along with whatever it was meant to catch, and closes them without anyone touching the equipment.
How to fix it
Go to Work Order Tracking and pull the completed PMs from the last period. Look at Actual Labor Hours and reported materials. The ones sitting at zero on jobs that should take real time are your suspects. Check the actual Status on those work orders, not just the label on the report. If a status you do not recognize is showing up as complete, that is a synonym worth questioning. Ask whether any cleanup automation runs on a schedule, and when. If your batch of auto-completed PMs all flipped at the same time, that timing usually points straight at an escalation or a script.
Check the synonym mapping (the internal maxvalue) for every custom work order status, and confirm the compliance reports filter on the internal value, not the display value. Then review active Escalations and Automation Scripts for any status-change action whose condition query could match PM work orders, and tighten the condition so PMs are excluded from the cleanup run.
What to check after
Re-run the compliance number once the synonym mapping and any cleanup automation are corrected. A real number usually drops at first. That drop is not a regression. It is the inflation leaving.
Watch out for
A status that looks open but is internally complete, and the reverse. Both distort compliance, and both stay invisible until you check the internal value. If you run multiple sites, check each one, because custom statuses are often added site by site.
This fixes the immediate inflation. If you want to see how much of your compliance was hollow, the PM Compliance Self-Assessment will size it for you, and the Why Your PM Compliance Is 95% and Your Equipment Still Fails article covers the broader pattern.
Frequently Asked Questions
Why are my PM work orders completing without being done?
Two common causes. First, a custom work order status may have an internal synonym that maps to completed, so the compliance report counts it as done even though the display label looks harmless. Second, a cleanup Escalation or Automation Script may have a condition broad enough to catch PM work orders and close them automatically.
Can a Maximo work order show complete when the work was not done?
Yes. The status you see on a work order is a display label. Maximo maps each label to an internal status value. If a custom status maps internally to COMP, the system and your reports treat it as completed regardless of what the label says or whether anyone touched the equipment.
What is a work order status synonym in Maximo?
A synonym is the mapping between the display status name your organization created and the internal status value Maximo uses for processing and reporting. Each custom status sits on top of a smaller set of internal values. A status labeled Deferred rolls up internally to In Progress. A status labeled something innocuous could roll up to COMP. The label and the internal meaning are not always the same.
How can an escalation or automation script close PMs by mistake?
Someone sets up an Escalation or Automation Script to clean up or close work orders that meet a condition, often with good intentions. If that condition query is even slightly too broad, it matches PM work orders along with whatever it was meant to catch and changes their status to complete. A batch of PMs all flipping to done at the same time is the signature of this problem.
Quick Maximo questions are always free. Reach out on LinkedIn. I never charge for chatting.