Work Orders & Maintenance Requests
How a Work Order actually moves through status, how a Maintenance Request gets triaged into one, and what really happens to parts inventory along the way.
On this page
Work Order vs. Maintenance Request
A Work Order is the actual job record — assigned, worked, and tracked for labor and parts cost. A Maintenance Request is a lighter-weight intake form for reporting a problem, meant for triage before it becomes a real Work Order — useful when whoever spots the issue shouldn't (or can't) create a full Work Order themselves. Both live under CMMS in the sidebar — Work Orders and Requests respectively.
Creating a Work Order
Click + New Work Order. Fields: Title (required), Priority (Low / Medium / High / Critical — not “Urgent”), Type (Reactive / Preventive / unspecified), Category (multi-select), Asset or Vehicle, Scheduled Date (hides the work order from lists until that date arrives), Assigned To (multi-select), Due Date, Description, and an optional Recurrence (Daily / Weekly / Biweekly / Monthly / Quarterly / Yearly — regenerates a fresh copy automatically once the current one is marked Done).
Work Order status
| Status | Meaning |
|---|---|
| Open | Newly created, not started. |
| In Progress | Work has started. |
| On Hold | Paused — reachable from Open or In Progress. |
| Done | Complete. A parent work order can't reach Done until every sub-work order is Done or Skipped. |
| Skipped | Sub-work orders only — this asset's portion of the job was intentionally not done. |
Both Done and Skipped can be reopened back to Open with a single click if something was closed by mistake.
Maintenance Requests
There are two separate ways a request gets created — worth knowing both:
- In-app, for admins/managers/technicians: CMMS > Requests > + New Request — title, priority, optional asset/vehicle, description.
- A no-login submission path — the actual “anyone can flag a problem” story. A branded public form (linked by your org's own slug) and an internal field-repair-request page both feed the same submission handler, requiring no CMMS access at all. New submissions email your org's admins/managers automatically (if that notification preference is on).
| Status | Meaning |
|---|---|
| Open | Just submitted. |
| In Review | A manager/admin has picked it up to triage. |
| Approved | Confirmed as real, legitimate work. Only status the Convert button appears on. |
| Rejected | Not going to be actioned. Can be reopened back to Open. |
| Converted to WO | Turned into a Work Order. Terminal — read-only from here. |
Converting a Request to a Work Order
The Convert to Work Order button only appears once a request reaches Approved — that's the real triage gate. Converting creates a new Work Order (always typed Reactive) carrying over the title, description, priority, and asset link, and flips the request to Converted to WO, a terminal state with a link back to the resulting Work Order.
Where PM Schedules fit in
Recurring maintenance is driven by PM Schedules (CMMS > PM Schedules), not by Work Orders or Requests directly — see the Preventive Maintenance Schedules guide for the full mechanics. In short: generating work orders from a schedule is a manual button click by default, but an Automations rule can make it fire automatically ahead of the due date without anyone clicking anything.
Labor tracking
A Work Order's Costs tab has a Labor section: technician name (free text, not linked to a user account), a description, hours, and an hourly rate — each entry rolls up into a running labor total for the work order.
Parts, inventory, and the clamp-at-zero behavior
Adding a part to a Work Order's Costs tab decrements that part's quantity on hand immediately — this is the normal, expected way stock goes down, independent of (and usually before) any formal receiving. Removing a part restores the quantity; editing the quantity applies the difference. Using a part on a Work Order also auto-links it to that asset going forward, so it shows up as a “commonly used” part the next time.
Requesting parts via a Requisition
A Requisition can be linked back to the Work Order that needed it — but today that link only gets created through the public API or a Zapier automation, not from a button inside the Work Order screen itself. If you're creating requisitions by hand from inside a Work Order's detail panel, there's currently no field to set that connection; the underlying data model supports it, the in-app form just doesn't expose it yet.
Gotchas
- A parent Work Order can't be completed until every sub-work-order is Done or Skipped. If a multi-asset Work Order won't let you mark it done, check for an open sub-work-order first.
- Priority is Low / Medium / High / Critical — if you're looking for an “Urgent” option, it doesn't exist; Critical is the top tier.
- Work Order, Maintenance Request, and Requisition numbers all use different prefixes and digit counts (
WO-,MR-,REQ-) and none of them are strictly sequential — they're timestamp-derived, not gapless counters.