Setting up recurring (preventive) maintenance
Preventive maintenance (PM) is one of the highest-margin revenue streams for field-service teams. Roldesk lets you define a schedule once and auto-generates the work order on every interval.
Where it lives
Field Service → Preventive Maintenance. Click + New schedule.
Define the schedule
- Customer — who is being served.
- Asset — the specific piece of equipment under contract (HVAC unit, generator, etc.). PM schedules are typically tied to an asset.
- Title and description — what the technician will do (e.g. "Quarterly HVAC tune-up — replace filter, check coolant, log readings").
- Frequency — Weekly, Bi-weekly, Monthly, Quarterly, Bi-annual, Annual, Custom (every N days).
- First due date — when the next WO should be generated.
- Lead time — how many days before the due date the WO is created (default 7 days, so you have time to schedule it).
- Default technician — who gets it by default. Can be overridden per generated WO.
- Estimated duration — for the calendar block.
What happens after you save
A cron job runs daily and:
- Looks at every active PM schedule.
- For schedules where
next_due_date <= now() + lead_time, creates a new work order with status Scheduled, assigns the default technician, and links back to the PM schedule. - Advances
next_due_dateby the frequency.
Generated work orders show up in the Scheduler, Dispatch Board, and the technician's mobile app exactly like manually-created ones.
Cancelling vs pausing
- Pause — schedule stays but no new WOs are generated. Resume to start generating again.
- End date — the schedule auto-stops on a date. Useful for contracts.
- Delete — removes the schedule; previously-generated WOs are untouched.
Reporting
Reports → PM Coverage shows you which assets have an active schedule vs which don't. A great way to spot upsell opportunities — every asset without a PM schedule is recurring revenue you're leaving on the table.