Preventive Maintenance
Schedules that actually get done
Most Indian plants that "have a PM programme" actually have a wall calendar with felt-pen circles, or a spreadsheet someone maintains between shift-change reports — and when the person maintaining it goes on leave, PMs quietly slip until a bearing seizes. Preventive Maintenance in AssetAI replaces that with schedules that raise their own work orders, on time, without anyone opening a spreadsheet on the 1st of the month to check what's due.
One Form, Six Maintenance Types
A single schedule form handles time-based PM, usage or meter-based PM, predictive/condition monitoring, calibration, statutory or regulatory inspection, and lubrication rounds. You pick the type once, and the form adjusts the scheduling basis and the fields around it automatically — a calibration schedule asks for the next due certificate date, a meter-based schedule asks for the reading interval, and so on. This matters on a real shop floor because a 40-machine unit rarely runs only classic time-based PM: pressure gauges need calibration certificates, DG sets need statutory inspection under factory rules, gearboxes need lubrication on a separate cycle from the motor's PM. Keeping all six under one schedule structure, rather than six disconnected trackers, is what makes the maintenance scheduling and planning picture coherent instead of six people watching six lists.
Each schedule gets an auto-generated code — MNT-000001 and upward, with the prefix changeable per company if you'd rather see CAL- for calibration or STAT- for statutory entries. The code has to be unique within your company and stays under 40 characters; the title can run up to 200. Small constraints, but they're what stop two people from creating "Compressor PM" twice under different codes six months apart.
How Time-Based Schedules Actually Repeat
Time-based schedules repeat every N days, weeks or months from a start date. Alongside the interval, you set a lead time in days — this is what pulls the work order forward so it lands in the queue before the due date, not on it, giving your stores team time to pull spares that may have a two-week lead time from a Pune or Coimbatore supplier. The interval has to be at least 1 and the lead time can be zero or more; if you want a work order raised the same day it's due, set lead time to zero.
One honest limit here: the next due date advances from the previous due date, not from when the work was actually completed. There's no floating-schedule option. If a PM was due on the 5th and got completed on the 9th because of a power cut and a contract electrician's availability, the next occurrence is still calculated from the 5th, not the 9th. For most fixed-interval statutory and calibration work this is exactly what you want — a certificate due every six months shouldn't drift just because one visit was late. For genuinely wear-driven tasks you may want to track completion-to-completion intervals manually until floating scheduling is added.
Editing a schedule that has never yet generated a work order re-anchors its next due date to the start date — useful when you're still setting up the programme and adjusting dates before go-live, less useful once schedules are live and firing, so get the start dates right early.
The Checklist Travels, It Doesn't Sign Off
Every schedule carries a checklist — one task per line — and when a work order is generated, that checklist is written into the work order's description as bulleted steps. A technician opens the work order and sees the same "check oil level, inspect belt tension, grease bearing points" list every time, in the same order, regardless of which shift or which contractor is on the ticket that week. This is deliberate and it's also a limit worth stating plainly: there's no task-level sign-off. The checklist is text carried into the description, not individual checkboxes with timestamps and technician initials per line. If your plant needs auditable per-step sign-off — say for a food-safety or pharma line under stricter documentation — you'll want a process alongside this rather than relying on the checklist field alone.
Work Orders Generate Themselves
A job runs every day at 06:00 across all tenants, checks every schedule that's due, creates a work order for each one, and rolls the next due date forward. If you don't want to wait for the overnight run — say you've just fixed a scheduling error and want to test it — a "Generate due now" button does the same thing on demand. The generated work order inherits the schedule's title, priority, assignee and due date, and its type comes from the maintenance type you set on the schedule, so a calibration schedule produces a calibration work order without anyone re-selecting anything at ticket time. This is the part of what a CMMS is supposed to do that a spreadsheet simply can't: raise the ticket itself, on a fixed clock, without a person remembering to.
Due, Overdue, and Knowing Who's Slipping
The schedule list filters by All, Due and Overdue, each with a live counter. Due means the next due date minus the lead time has arrived or passed; overdue means the due date itself has passed. A daily sweep also raises a notification for any PM more than a set number of days late, and that notification carries the days-late count — so a plant head glancing at the dashboard on a Monday morning sees "Calibration — Pressure Gauge PG-04, 6 days late" rather than having to cross-reference a due-date column against today's date by eye.
What a Schedule Won't Do
Two limits are worth stating up front rather than discovering later. First, there's no PM route or round grouping — one schedule targets one asset. If your practice today is a single ticket where one technician walks 30 machines on a lubrication round, AssetAI will need 30 schedules, not one; it's built for asset-by-asset scheduling, not round consolidation. Second, there's no calendar or Gantt view with drag-to-reschedule — dates change by editing the schedule, not by dragging a
Getting the scheduling logic right is only useful if the record-keeping around it survives an audit, a shift change, or a new hire on the maintenance desk. AssetAI treats each schedule as a governed record, not just a trigger, so the numbering, ownership and history stay intact even as schedules multiply across a plant.
Numbering, Ownership and Editing Discipline
Every schedule is auto-numbered MNT-000001 upward, with the prefix overridable per company if your plant already has its own convention. The schedule code itself must stay unique per company, capped at 40 characters, and the title at 200 — small constraints, but they stop the duplicate "PUMP PM," "Pump PM," "PUMP-PM-2" mess that tends to accumulate in spreadsheet-based programmes. Interval must be at least 1 and lead time 0 or more, so there's no way to save a schedule that can never fire.
One behaviour worth planning around: editing a schedule that has never generated a work order re-anchors its next due date to the start date. That's deliberate — it means you can correct a typo or adjust a lead time in the first week without the system treating it as a missed cycle. Once a schedule has generated its first work order, later edits no longer reset the anchor.
Keeping Overdue Work Visible
A PM schedule that nobody watches is just a form with a due date. The module's All, Due and Overdue filters carry live counters, so a supervisor can open the module and immediately see how many jobs are due today versus already late, without running a report. Due is defined precisely — next due date minus lead time is today or earlier — and overdue means the due date itself has passed. On top of that, a daily sweep raises a notification for any PM more than a set number of days late, including the days-late count, which is the detail that turns "we'll get to it" into a number someone has to answer for.
For plants working toward ISO-aligned maintenance practice or preparing for a statutory or ISO audit, that combination — a unique schedule code, a checklist baked into every work order, and an overdue count that doesn't quietly disappear — is what auditors actually ask to see. It also sits comfortably alongside broader reliability frameworks like TPM or asset-uptime metrics such as OEE, since a disciplined PM programme is usually the first input either one depends on. If you're evaluating where this module fits against everything else AssetAI covers, the features overview lays out the rest of the platform, and industries covers how manufacturing plants in India typically structure their PM calendars around shift patterns and statutory inspection cycles.
Preventive Maintenance FAQs
How do I set up a preventive maintenance schedule that runs on machine runtime hours instead of calendar days?
Create a schedule and choose "Usage or meter-based" as the maintenance type—AssetAI will swap in meter fields and set scheduling by meter reading instead of time. Enter the meter increment (for example, every 500 operating hours), link the schedule to the asset, and the system will generate a work order whenever the asset's recorded meter value crosses that threshold. The next due meter value rolls forward after each work order is created, so schedules track cumulative machine use rather than elapsed days. This works across all features of the platform without manual recalculation.
Can I attach a checklist of inspection points to a preventive maintenance task so technicians don't miss steps?
Yes—write your inspection steps as a checklist directly into the schedule form, one task per line. When AssetAI generates a work order from that schedule, every checklist item appears as bulleted steps in the work order's description. Technicians see the exact sequence of checks they need to perform without hunting for separate documents. Note that sign-off happens at the work-order level only, not per individual checklist item.
What's the difference between preventive and predictive maintenance scheduling in your system?
Preventive schedules run on a fixed interval—calendar time, machine hours, or cycles—and generate work orders automatically at regular periods. Predictive schedules trigger based on a measured condition: you set a threshold value, and AssetAI creates a work order when that condition is detected, rather than on a clock. Both types appear in the same schedule form; you simply select "Predictive (condition)" to swap in condition-based fields. Learn more about maintenance strategy in our use-cases section, which covers different scheduling approaches.
How far in advance can I pull a preventive maintenance job into the work queue?
Set a lead time (in days) on the schedule. AssetAI counts backward from the next due date by that many days and marks the schedule as "Due" when the lead-time window opens. For example, a schedule due on the 15th with a 3-day lead time becomes due on the 12th, letting you plan and allocate labor before the actual due date arrives. This applies to all scheduling types—time, meter, and condition—so planners can batch work and avoid surprises.
How often does the system actually create work orders from my preventive schedules?
AssetAI runs an automatic job daily at 06:00 to scan all active schedules and generate work orders for anything due or overdue across all your assets. You can also click "Generate due now" in the interface to trigger the same scan on demand. After generation, the next due date rolls forward based on the schedule's interval, so the same schedule will not generate duplicate work orders until it cycles due again. Overdue schedules that are more than N days late send you a notification with the count of days overdue.
Do I have to manage preventive maintenance scheduling separately from statutory inspections and calibration tasks?
No—one schedule form handles six maintenance types: Preventive (time-based), Usage or meter-based, Predictive (condition), Calibration, Statutory/Inspection, and Lubrication. Choose the type you need and the system automatically switches to the fields and logic for that type. Work orders generated from any of these types follow the same creation and tracking rules, so your entire maintenance portfolio sits in one CMMS rather than across multiple spreadsheets or tools. This unified approach helps align with frameworks like https://en.wikipedia.org/wiki/Total_productive_maintenance when you're ready to scale beyond basic PM.
If a preventive maintenance task gets postponed due to production downtime, does it automatically reschedule or do we lose it?
The task stays in your backlog with a "postponed" status until you manually reschedule it or assign it to a future date. AssetAI doesn't auto-reschedule to avoid creating calendar conflicts. You can bulk-reassign multiple postponed tasks at once. Check your work queue regularly to catch tasks slipping past their original dates.
See Preventive Maintenance on your own machines
A 30-minute demo on your plant, not our slides.