Skip to main content
IoTFlows - Return to homepage

Command Palette

Search for a command to run...

View as Markdown

Work order fields and statuses

Every field, status, priority, and export column on a maintenance work order.

A maintenance work order is one record. A request from the floor, a planned job, and a recurring preventive maintenance schedule are all the same object with different fields filled in, which is why one field list covers all three. See Overview: maintenance management.

Only two fields are required: Title and Group. Everything else can stay empty, and nearly everything else can be changed later from the work-order drawer.

Looking for production job fields?

Those are on Job and scheduler fields. Production tasks and maintenance work orders share one API and the same five statuses, and little else: a maintenance work order carries a group, a checklist, and a recurrence, while a production task carries an operation, a part, a quantity, and work sessions.

Fields

Required means the Create button stays disabled until the field has a value. Inline editable means you can change the value in place in the work-order drawer, with no Save step. In CSV is the maintenance table export, listed column by column under CSV export columns.

FieldTypeRequiredInline editableIn CSV
WO #Number, assigned by IoTFlowsAutomaticNoYes, as WO #
TitleOne line of textYesYes, the large text at the top of the drawerYes
DescriptionRich text, with its own file attachmentsNoYesYes, with formatting stripped
GroupOne maintenance group, created inline if none fitsYesYesYes
StatusOne of fiveStarts at OpenYes, from the status rowYes
PriorityOne entry from the platform's priority listNoYes, from the chip above the titleYes
AssetOne machineNoYesYes
AssigneesPeople and teamsNoYes, as many as you needYes, as Assigned To
Due dateDate, time, and the timezone it is read inNoYesYes, as Due Date
RecurrenceA repeat rule anchored to the due dateNoYesYes, as Recurrence
Time estimateMinutes, typed as 2h, 30m, or 1.5dNoNo, set at create onlyYes, as Estimated Time (min)
NotesPlain textNoYesYes
Parts RequiredInventory lines, each a part and a quantityNoYesNo
Create/Release PartsInventory linesNoYesNo
ChecklistTickable steps, independent of the statusNoYesNo
ImagesPictures, converted to WebP on uploadNoYesNo
Attached FilesAnything that is not an imageNoYesNo
CommentsA chat room attached to the work orderNoYesNo
Requested ByThe person who created itAutomaticNoYes
Created AtTimestampAutomaticNoYes
Last UpdatedTimestamp, moved by any editAutomaticNoYes

Three things about that table are worth saying in sentences.

The time estimate is a create-time field. The create modal asks for it, and the maintenance drawer shows it as plain text with no way in, so a work order created with the wrong estimate keeps it. The same field is editable on a production task, in the scheduler's drawer.

A group is required, and a fresh organization has none. The first work order you create forces you to name a group before anything else. See Group.

Recurrence is a rule, not an object. There is no separate preventive maintenance record: the rule lives on the work order and fires from its due date. See Schedule preventive maintenance.

Statuses

Five statuses, in the order the work is meant to move through them. Nothing enforces that order: any status can go to any other, including reopening a closed work order. The flow, and what each transition does, is in The status flow.

StatusMeansDrawer buttonIn CSVNext states
OpenCreated, not started. Every work order lands here, whichever origin created itNot StartedNot StartedAny
In ProgressSomebody is working on it nowIn ProgressIn ProgressAny
On HoldStarted and blocked. It keeps its assignee and stays on the boardOn HoldOn HoldAny
DoneThe work is finished. Moves stock if the work order lists partsCompletedCompletedAny, including back to In Progress
ApprovedSigned off, after the work was doneApprovedApprovedAny

Why does the CSV say Not Started when the board says Open?

The export renames two statuses on the way out. Open is written Not Started and Done is written Completed, which matches the drawer's buttons rather than the board card, the status filter, or a report. If you pivot an export by status, filter on the CSV spellings in the table above, not the ones on screen.

Priorities

Priority is a colored label. It does not sort the board, does not change what the completion dialog moves, and triggers nothing automatically.

The list is the platform's, not your organization's. It arrives from IoTFlows with a name and two colors, one for light mode and one for dark, and Maintain has no editor for it, so you cannot add a priority or rename one.

Two behaviors surprise people:

  • The create modal preselects the first priority in the list and hides its label while it is selected. A work order where nobody touched the priority chip carries that first priority, not an empty one.
  • The drawer's chip only appears when the work order has a priority. A work order created by an automatic origin, from a classified downtime or a meter reaching its trigger point, can arrive with none, and then there is no chip above the title until you set one.

You do not need a priority on every work order. Set one when the board is long enough that a technician has to choose what to pick up next, and leave it alone on a board where the due dates already say that.

CSV export columns

The CSV button in Table view writes maintenance-tasks- and today's date. Fifteen columns are available. Four are always exported, six more ship visible, and the other five are ones you turn on in the column picker.

The export follows the table, not this list. It writes the columns the table is showing, in the order you dragged them, so a default download is 10 of the 15. The numbering below is the default order.

No.Column headerSource fieldAlways exported
1WO #workorder_numberYes
2Titleworkorder_titleYes
3Assigned Toassigned_to_users, assigned_to_teamsYes
4Assetworkorder_assetYes
5Groupworkorder_group.group_nameNo, visible by default
6Statusworkorder_status_uuidNo, visible by default
7Priorityworkorder_priority.workorder_priority_nameNo, visible by default
8Due Dateworkorder_due_timestamptzNo, visible by default
9Recurrenceworkorder_recurrence_descriptionNo, visible by default
10Descriptionworkorder_descriptionNo
11Estimated Time (min)workorder_duration_minNo
12Requested Bycreated_by_userNo
13Notesworkorder_notesNo
14Last Updatedworkorder_updated_atNo, visible by default
15Created Atworkorder_created_atNo

How the values are written:

  • WO # carries the hash, for example #148, so a spreadsheet reads it as text rather than a number.
  • Assigned To lists people's full names first, then team names, comma separated. A placeholder account named Unnamed is skipped.
  • Asset is the machine's custom name, falling back to its catalog model name when it has none.
  • Due Date, Last Updated, and Created At are full UTC timestamps, for example 2026-09-18T14:00:00.000Z, not the local time the card shows.
  • Description and Notes have their formatting stripped to plain text.
  • Recurrence is the sentence the server writes for the rule, for example Every 2 weeks on Mon, Thu, not the individual rule fields.
  • Estimated Time (min) is a plain number of minutes. An empty cell means no estimate was set, or that an unparseable one was discarded at create time.

Parts, checklist items, attachments, and comments have no column. Nothing in the maintenance export carries them, so a checklist is readable only in the drawer. For every other export in the product, see Exports reference.

What is stored per device

Maintain keeps your view preferences in this browser, on this device. None of them are sent to IoTFlows, so they do not follow you to a second computer or to the phone, and they change nothing for anybody else looking at the same board.

PreferenceWhere you set itDefault
Table columns and their orderThe column picker in Table viewThe four always-on columns plus Group, Status, Priority, Due Date, Recurrence, Last Updated
Kanban card fieldsCard fields in KanbanEverything except Description and Due Date
Drawer Properties fieldsThe gear beside PropertiesAll ten except Last Updated
DensityThe Compact view / Large view toggle, per viewList and Table compact, Kanban large
Last view and last groupingSelecting a view or a groupingTo do, grouped by asset

Two consequences follow. Two people export different files from the same board, because the export reads the table columns and each person's are their own, so agree the columns before comparing files. And clearing your browser data resets all five, which is the fastest way back to the defaults above if a board has drifted.

Hiding a field hides the row, never the value. A hidden Notes row still holds its text, and a column turned off in the table is still on the work order.

See also