← Help Center

preventive-maintenance

Preventive maintenance — multi-asset schedules

How one preventive schedule fans out to N work orders per cycle when you link multiple assets.

Published 7/25/2026 · Updated 7/25/2026

Preventive maintenance — multi-asset schedules

A preventive schedule defines what to do, how often, and where. The "where" is plural by design — one schedule can fan out to many work orders each cycle.

Anatomy of a schedule

When you click + New schedule under Field Service → Preventive, the form has three multi-select pickers (customers, assets, assignees), one single-select project picker, and the standard cadence (weekly / monthly / quarterly / semi-annual / annual + an "every N" multiplier).

The fan-out: one work order per linked asset, every cycle.

  • 1 schedule × 8 assets × monthly = 8 WOs every month.
  • 1 schedule × 0 assets × monthly = 1 generic WO every month (legacy single-WO behaviour).

The cycle

A daily Vercel Cron job runs at 5 AM UTC and:

  1. Finds every active schedule with nextDueAt <= now.
  2. For each, creates one WO per linked asset.
  3. If a project is linked, every generated WO is attached to that project (useful for contract roll-up).
  4. Advances the schedule's cursor by the cadence (so the next firing is correctly spaced).

Per-WO account resolution

When an asset is linked to multiple customers, Roldesk picks the customer to put on the generated WO using:

  1. The asset's primary linked customer, if it overlaps with the schedule's customers.
  2. Otherwise, the schedule's first customer.

Net effect: generated WOs are billed to the right customer without you having to think about it.

Run-now button

Need to test a schedule? The Run now button on any row force-generates the WOs regardless of due date. The cursor still advances exactly once. Doesn't affect the cron's normal cadence.

Related

preventiverecurringmulti-asset
Still stuck? Contact us — chat with our agent or email support@roldesk.com.