Update, discuss, and close a work order
The work-order drawer: status, fields, checklists, attachments, comments, and history.
Everything after a work order is created happens in one panel. A technician moves the status, ticks off steps, adds a photo, and asks a question in the comments without leaving it, and the board behind it updates as they go.
This page assumes a work order exists. To make one, see Create a maintenance work order. For what each field means and where else it shows up, see Work order fields.
1. Open the drawer
The drawer is the 640 px panel that slides in from the right of the maintenance board and holds one work order.
- Select Maintain in the top navigation. The board opens at
/<organization>/maintenance. - Select any card or row, in any of the four views.
The address bar gains ?selected_wo=<uuid>. That URL is the work order's permanent link: paste it into a comment or an email and whoever opens it lands on the same work order, with the same view behind it. The Calendar, Kanban, List, and Table views all use the same parameter.
The work-order drawer, open beside the board. The left column holds the work, the right column holds its properties and comments.
The left column carries the priority chip, the title, the status row, the description, and then collapsible sections for Images, Attached Files, Checklist, Parts Required, Create/Release Parts, and Activity Logs. The right column carries Properties and Comments.
Below about 800 px of panel width, the two columns stack: Properties moves under the description and Comments drops to the bottom. Nothing is removed.
Close the drawer with the X at the top right, or with the Work Orders breadcrumb beside it. Either one removes selected_wo from the URL and leaves the board where it was. The trash icon next to the X deletes the work order, behind a confirmation.
2. The status flow
A status says where a work order is in its life. The status row is five buttons, one per status. Each shows an icon only until it is the live status, then it widens to show its label and stops being clickable.
Two of the labels are not the status name. The first button reads Not Started when it is active and the fourth reads Completed. The statuses are Open and Done, which is what the board card, the status filter, and reports call them.
The status row: five buttons for Open, In Progress, On Hold, Done, and Approved. The active button widens and reads Not Started for Open and Completed for Done.
Nothing enforces an order. Every button except the live one is selectable, so a work order can go from Open straight to Done, or back from Approved to In Progress. The sequence below is the intended path, not a gate.
Statuses
| Status | Means | Who sets it | Next states | Side effects |
|---|---|---|---|---|
| Open | Created, not started. Every work order lands here, whichever of the five origins created it. | Whoever creates it | Any | None |
| In Progress | Somebody is working on it now. The button pulses while it is live. | The technician | Any | None |
| On Hold | Started and blocked. It stays on the board and keeps its assignee. | Anyone | Any | None |
| Done | The work is finished. | The technician | Any, including reopening | Opens the completion dialog if the work order lists parts, shows a Task completed! toast, and moves stock |
| Approved | Signed off by somebody other than the person who did the work. | Anyone | Any | None. Stock moved at Done |
Use On Hold when the work is blocked by something outside the technician's control, a part on order or a machine still in production. Reassigning the work order instead hides the fact that nothing is happening, and the board stops predicting anything.
If a status change fails, the button snaps back to the previous status and a toast carries the server's reason. The change was not saved.
3. Edit any field inline
Nothing in the drawer has a Save button. Every editable value writes as soon as you leave it, and the board card behind the drawer updates at the same moment.
The title is the large text at the top. Select it, type, and press Enter or click away to save. A spinner sits beside it while the save is in flight.
Properties holds the rest, in this order: Due Date, Duration, Recurrence, Assignees, Group, Notes, Requested, Created On, and Asset.
Editing a field without leaving the drawer.
Rows behave in one of three ways:
- Text rows, which is Notes. Select the value, type, and press Enter to save or Escape to discard. Clicking away also saves.
- Picker rows: Due Date, Recurrence, Assignees, Group, and Asset, plus the priority chip above the title. Each opens a dropdown and writes on selection.
- Read-only rows: Duration, Requested, and Created On. They display what the work order already holds. The time estimate is set in the create modal and cannot be changed from the maintenance drawer.
Assignees takes as many people as you need, added and removed one at a time. Each one confirms with a toast naming the handle, for example sam.reyes added.
Every inline edit is optimistic: the new value appears immediately and is reverted if the request fails. A failed priority change reads Issues updating priority and a failed date change reads Issues updating due date. Other failures carry the message the server returned.
4. Checklists
A checklist is a list of steps on the work order, each one tickable, independent of the work order's own status.
- Expand Checklist in the left column.
- Type a step into the input and press Enter. A Task added toast confirms it.
- Tick a step to complete it. Select its text to rename it, or the trash icon to delete it.
The section header carries the item count, so a collapsed checklist still shows how much work the job was broken into. Ticking every item changes nothing about the status: closing the work order is still a separate action in the status row.
Any failure in this section reads Issues updating tasks, and the list reloads from the server.
A checklist on the work order.
Use a checklist when the job has steps that somebody could get wrong or skip, for example lock out, drain, replace seal, refill, run for 10 minutes. You do not need one when the description already says it in a sentence.
5. Attachments
The drawer keeps pictures and documents apart, in two collapsible sections that both show their count in the header.
Images takes pictures only. Each one is converted to WebP in the browser before it uploads, so a phone photo does not arrive at full size. On a phone the section offers the camera directly.
Attached Files takes anything else: a PDF manual, a spreadsheet, a vendor quote. Each row shows the file name and its size, and files can be dropped onto the section as well as picked.
Select a row to download it, or its delete control to remove it. Deletes confirm with File deleted or Image deleted.
An upload that fails reads Failed to upload file. or Error uploading file., and a delete that fails reads Failed to delete file or Failed to delete image. Dropping a mixed selection onto Images skips the non-images and names them in the toast.
6. Comments
Comments is a chat room attached to the work order, not a list of notes. Messages travel over MQTT, so one posted in this drawer appears in everybody else's drawer without a refresh.
Comments are a chat thread attached to the work order. Scrolling back puts a jump-to-latest button in the corner, which carries the unread count when there is one.
A message can be replied to, reacted to with an emoji, or pinned. Scrolling back through the thread loads older messages as you go.
Unread comments show as a blue count on the jump-to-latest button in the bottom right of the panel. Your read position advances on its own as you scroll to the newest message, and there is no way to mark a thread unread again.
The panel appears only on work orders that have a chat room. The full messaging surface, including direct messages and organization channels, is Messaging.
7. The activity log
The activity log is the organization's audit trail filtered to this one work order. Expand Activity Logs at the bottom of the left column.
The activity log for this work order.
It is a three-column table, Log, Event, and Date, ten rows per page. It answers who changed the status, when the assignee changed, and when the due date moved, which is the argument a disputed work order usually turns on.
The same entries appear in the organization-wide Audit log, mixed in with every other event. Use this section when you care about one work order, and the audit log when you care about a person or a day.
8. Complete and confirm materials
Selecting the fourth button, Completed, sets the status to Done and ends the job.
If the work order lists nothing in Parts Required or Create/Release Parts, it closes immediately with a Task completed! toast. If it lists parts on either side, a Complete work order dialog opens first.
The completion dialog lists what closing the work order takes out of stock and what it adds back. It is read-only: the backend moves the stock when the status flips to Done.
The dialog states the consequence of closing, in both directions: Parts Consumed is what will come out of stock, and Added to Inventory is what will go back in, each with its quantity and its stock location. A reusable tool appears in the second list because closing the job hands it back rather than manufacturing it.
The dialog is read-only, and it writes nothing itself. If a quantity is wrong, select Cancel, fix the line in Parts Required or Create/Release Parts on the work order, and select Completed again.
Selecting Complete flips the status, and the movement is performed on the backend at that moment. The full accounting is in How work orders move stock.
9. Approve
An approval is a sign-off recorded as the fifth status: the work is done and somebody has checked it.
Select Approved. Nothing else happens: stock moved at Done, and no report or schedule keys off Approved today. It is a record that a second person looked.
You do not need this status if your team has no review step. Treat Done as the end of the line and leave the fifth button alone, rather than half your board sitting in a state nobody applies consistently.
10. Field visibility
The Properties list is configurable. Select the gear icon beside the Properties heading to open Show/Hide Fields, a grid of ten checkboxes: Due Date, Duration, Recurrence, Assignees, Group, Notes, Asset, Requested, Created On, and Last Updated.
Field visibility is stored on this device and does not sync.
All ten are on by default except Last Updated. Reset returns the list to those defaults, and Done closes the menu.
Why does a colleague see a field I hid? The setting is stored in this browser on this device and is never sent to IoTFlows, so it does not follow you to a second computer or to the phone, and it changes nothing for anyone else. Hiding a field also hides only the row: the value stays on the work order and still appears in exports and on the board.
11. On mobile
Tapping a card on the maintenance screen opens the same drawer full screen, with the same selected_wo parameter behind it. The back arrow at the top left returns to the board.
The layout is the stacked one: the title, the status row, the description, then Properties, then the collapsible sections, with Comments inline underneath. Everything on this page works there, including the completion dialog. The camera is offered directly in the Images section.
See also
- Work order fields, every field in the drawer and what it feeds
- How work orders move stock, what Done does in Inventory
- Organize work on the maintenance board, the four views the drawer opens over
- Messaging, the chat surface behind Comments
The New Maintenance Workorder modal carries every field a work order can hold: title, description, group, priority, asset, one assignee, due date, recurrence, time estimate, notes, required and created parts, images and files. Only a title and a group are required, and Create stays disabled until both exist. Everything else is optional at create time and editable afterwards from the work-order drawer.
The maintenance board at /<organization>/maintenance shows one organization's whole maintenance backlog in four views: List, Table, Kanban, and Calendar. Every view reads the same work orders and can be grouped by asset, by group, or by the person assigned. A scope toggle, a status filter with its own time window, a machine filter, a group filter, and a search box narrow what all four show, and the Table view exports the result as a 15-column CSV.









