Job and scheduler fields
Every job field, every scheduler column, and every export column, in one place.
Production stores two objects with the same shape and different work to do. A job is the order: a part, a quantity, a due date. A task is one operation of that job on one machine.
The task is what the board schedules, what an operator runs, and what nearly every field below belongs to. See Job, task, or work order?.
Looking for maintenance work order fields?
Those are on Work order fields and statuses. The two objects share one API endpoint and the same five underlying 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.
Job fields
Title is the only required field. Everything else can stay empty, and the create forms fill several of them in for you once you pick a machine. See Create a production work order.
Editable inline says where you can change the field without opening the task, in the board's Table and Kanban views. Appears in CSV is the scheduler table export, listed in full under Scheduler CSV columns.
| Field | Type | Required | Editable inline | Appears in CSV |
|---|---|---|---|---|
| Title | Free text, overwritten by the operation name | Yes | Table, Kanban | Title |
| Description | Rich text | No | Table, Kanban | Description |
| Asset | One machine | No | Table, Kanban, by picker | Asset |
| Part of Job | One parent job | No | Table, Kanban, by picker | Job |
| Operation | One operation on one part | No | Table, Kanban, by picker | Operation, and Part |
| Quantity | Whole number of pieces | No | Table, Kanban | Quantity |
| Due Date | Date and time | No | Table, by date picker. Kanban, as a duration | Due Date |
| Time Estimate | 2h 30m, 90m, 1 day 3 hours, or a bare number of minutes | No | Table, Kanban | Time Estimate |
| Priority | One entry from your organization's priority list | No | Table, by picker | No |
| Assignees | People and teams, any number | No | Table, Kanban, by picker | Assignees |
| Budget | Number, no currency symbol | No | Table, Kanban | Budget($) |
| Notes | Free text | No | Table, Kanban | Notes |
| Dependency | One other production task | No | Table, Kanban, by picker | Dependent on |
| Required Parts | Lines of part, location and amount | No | No. The cell opens the task | Parts Required |
| Create/Release Parts | Lines of part, location and amount | No | No. The cell opens the task | Create/Release Parts |
| Images | JPEG, PNG, GIF, WebP, BMP, SVG | No | Table, from the cell. Kanban, under Details | Images, as file names |
| Files | Any file type | No | Table, from the cell. Kanban, under Details | Attached Files, as file names |
| Work Sessions | See Session fields | No | Through the clock icon in the Quantity Made cell | No. Sessions feed Quantity Made, Labor Hours and the columns computed from them |
| Status | One of the five in Job statuses | Created at Not Started | Table, Kanban, from the status chip | Status |
| Quantity Made | Number, summed from sessions or set as an override | Derived | No | Quantity Made |
| Labor Hours | Duration, from sessions or an override | Derived | Table, Kanban | Labor Hours, in hours |
| Machining Hours | Duration, machine time recorded against the task or an override | Derived | Table, Kanban | Machining Hours, in hours |
| Actual Cost | Currency, computed from the two hour figures | Computed | No | Actual Cost |
| Timeline | Percentage, computed | Computed | No | Timeline |
| Quantity Progress | made/ordered, computed | Computed | No | Quantity Progress |
| Comments | A thread on the task | Added by people | No. The cell opens the comments panel | No |
| Number | Whole number, assigned when the task is created | Automatic | No | No |
You do not need most of this. A task with a title, a machine, an operation, a quantity and a due date schedules and runs. Budget and the two hour overrides exist for plants costing their schedule in Insights, and a plant that is not doing that should leave all three empty rather than fill them with guesses.
The two create forms carry different subsets. The Work Queue form offers ten chips and no Priority, Due Date, Assignee, Budget or Notes; the board's Create dialog offers all fifteen, most of them with a keyboard shortcut. See Create a production work order.
The Kanban card's Due field takes a duration, not a date
Click the due date on a kanban card and the input reads e.g., 2h, 30m. What you type is a length of time from now: 2h sets the due date to two hours from this moment, and it writes the same figure into Time Estimate on the way past.
The field also only appears on a task that already has a due date. To set or change a date properly, use the Due Date column in Table view. See Edit in place.
The job itself
A parent job is created from Create new job in either create form, or from Jobs on the board. It holds four fields.
| Field | Type | Required | Notes |
|---|---|---|---|
| Job name | Free text | Yes | The title every task on the job shows in its Job chip |
| Part | One part, or a new one typed in | No | The part the job makes. Its operations are what the job can fan out into |
| Qty | Whole number | No | Copied onto every task the job creates |
| Due | Date, with a time defaulting to 17:00 in your organization's timezone | No | Copied onto every task, unless the job links its tasks in sequence and works their dates backward from it |
A job has no status of its own. Status lives on the tasks, so a job is finished when its tasks are, and a job bar on the Gantt is a rollup of the bars beneath it.
Turning on Create a workorder for each operation posts one task per operation on the part's routing, its ordered list of operations. That is the point at which the fields above start being copied, so a part with no operations creates a job and nothing else.
Job statuses
Five statuses, and the labels every production surface gives them.
| Status | Means | Set by | Next states |
|---|---|---|---|
| Not Started | Nobody has started it. Every task is created here | Creation, the status chip, an ERP import | In Progress from Start. Any status from the chip |
| In Progress | A work session is open on it | Start or Resume in the job runner, the status chip, an ERP import | On Hold from Pause, Completed from Complete Job. Any status from the chip |
| On Hold | Paused between sessions. No session is open | Pause in the job runner, the status chip, an ERP import | In Progress from Resume. Any status from the chip |
| Completed | The work is done and the last session is closed | Complete Job in the job runner, the status chip, an ERP import | In Progress from Reopen Job. Any status from the chip |
| Approved | Completed work that somebody has signed off | The status chip and an ERP import only. No button in the product sets it | In Progress from Reopen Job. Any status from the chip |
The status chip does not enforce an order. Both board menus will take any status from any other, including straight from Not Started to Approved, with one exception: the Table's menu grays Not Started out, so only a kanban card can send a task back to the beginning.
The job runner is the surface with rules. It will not complete a paused task, and it offers Reopen Job rather than a status list. See Job actions.
Choosing On Hold or Completed from the chip opens the same session capture the runner's Pause and Complete Job dialogs use, so the count and scrap are recorded before the status changes.
Where each status counts
| Surface | Treated as live work | Treated as finished |
|---|---|---|
| Scheduler Completion status filter | Active: Not Started, In Progress, On Hold | Completed: Completed and Approved, over a lookback period |
| Work Queue, and a machine's Jobs tab | Everything else | Completed and Approved leave the list |
| Gantt bars | Everything else | Completed and Approved draw at reduced opacity, never read as overdue, and drop out of the late-predecessor check |
| Insights Workorders KPI | Anything that is not Completed or Approved | Completed alone. An Approved task counts in neither chip |
The Insights row is the one that surprises people. See Completion and on-time KPIs before you read a completion percentage on a board that approves work after closing it.
Session fields
A session is one run of a task: a start, an end, the good parts made and the scrap logged against them. Sessions are what Quantity Made, Labor Hours and the shift and cost reports are built from.
| Field | Type | Required | Notes |
|---|---|---|---|
| Start | Date and time, to the minute | Yes | Cannot be in the future, and cannot overlap another session on the same machine |
| End | Date and time, to the minute | Yes, except on a running session | Must be after Start, and cannot equal it |
| Good Parts | Whole number, stepper or typed | No | Summed across sessions into the task's Quantity Made |
| Scrap | Rows of quantity, reason and note | No | A row with a quantity and no reason blocks the save |
| Session Notes | Free text | No | The only place a session records why something happened |
| Operation | One operation on the task's part | No | Shown where the host offers it. Changing it here changes the work order, and therefore every other session on it |
| Duration | Computed from Start and End | Computed | Shown beside the Session Time header |
A session records no operator name. The Job History card shows the times, the counts, the scrap breakdown and the note, and nothing that says who ran it, so put anything the next shift needs into the note itself. See Session history and Log scrap and manage scrap reasons.
Sessions staged inside a create form are held on the form and posted after the task exists. Everywhere else they save immediately.
Scheduler CSV columns
The CSV button in Table view writes the columns the table is showing, in the order you dragged them. Twenty-four columns are available. Six are always on, the Part column is added by the export alone, and the remaining seventeen are the ones you turn on in the column menu.
The numbering below is the default order. A default export is nine columns: the six always-on ones, the Part column, and the two that ship visible, Quantity Progress and Status.
| # | Column | Source field | Notes |
|---|---|---|---|
| 1 | Title | workorder_title | Always exported |
| 2 | Assignees | assigned_to_users, assigned_to_teams | Full names then team names, comma separated. A placeholder user named Unnamed is skipped |
| 3 | Operation | workorder_operation.operation_name | Always exported |
| 4 | Part | workorder_operation.part_name | The export's own column. The table draws the part and the operation in one cell, so the CSV splits them |
| 5 | Quantity | workorder_quantity | The quantity ordered, not the quantity made |
| 6 | Asset | workorder_asset | The machine's custom name, falling back to its catalog model name |
| 7 | Job | parent_workorder.workorder_title | Empty on a task with no parent job |
| 8 | Due Date | workorder_due_timestamptz | ISO 8601 in UTC, for example 2026-09-24T21:00:00.000Z. Empty on an unscheduled task |
| 9 | Time Estimate | workorder_duration_min | Minutes, as a plain number |
| 10 | Quantity Made | Override, else the auto-detected count | 0 when there is neither |
| 11 | Labor Hours | Override, else auto-detected | Minutes converted to hours, rounded to two decimals |
| 12 | Machining Hours | Override, else auto-detected | Minutes converted to hours, rounded to two decimals |
| 13 | Actual Cost | Computed | Labor hours at the assignees' average wage, plus machine hours at the machine's hourly rate. Falls back to $50 and $100 an hour when a rate is missing |
| 14 | Timeline | Computed | Labor plus machining hours against the estimate, as a percentage. Empty without an estimate or without logged time |
| 15 | Quantity Progress | Computed | made/ordered, for example 180/250. Empty when nothing was ordered |
| 16 | Status | workorder_status_uuid | One of the five labels above |
| 17 | Parts Required | workorder_requires_parts | Every line as Part xQty, semicolon separated. Not the chip's summary |
| 18 | Create/Release Parts | workorder_creates_parts | Same format |
| 19 | Dependent on | dependent_on_workorder | The predecessor's operation name, falling back to its title |
| 20 | Budget($) | workorder_budget | A number with no currency symbol |
| 21 | Notes | workorder_notes | The task's notes field |
| 22 | Description | workorder_description | Formatting is stripped |
| 23 | Images | workorder_files | Names of the image files, semicolon separated |
| 24 | Attached Files | workorder_files | Names of everything that is not an image |
Actual Cost and Insights price the same task differently. The column above uses the assignees' own wage and the machine's own rate, while Insights prices every task at two flat rates you type into the report.
Do not compare the two numbers. See Set hourly rates.
Comments is the one table column with no export column. It is available in the column menu, it is in the default column order, and the CSV writer skips it, so a table showing comments still exports 24 columns at most.
The file is named scheduler-tasks- and today's date, written UTF-8 with a byte order mark and CRLF line endings, with any value containing a comma, a quote or a line break wrapped in quotes. Grouping is ignored: the file is one flat list of every task the filters loaded. Every other export in the product is in Exports reference.
Kanban card fields
Card fields, the gear on the Kanban control bar, decides what each card carries. Thirteen fields are available, six are on out of the box, and the choice is stored in your browser rather than on the board.
| Field | Shows | On by default |
|---|---|---|
| Hero Image | The first image attached to the task, full width across the top of the card | Yes |
| Assignee | Avatars of the people and teams on the task | Yes |
| Qty Progress | Parts made against parts ordered, with a bar | Yes |
| Description | The task's description | No |
| Operation | The operation and its part | No |
| Asset | The machine's picture and name | Yes |
| Quantity | The quantity ordered | No |
| Job | The parent job's title | Yes |
| Due Date | The due date, in red once it has passed | No |
| Dependencies | The task this one waits on | No |
| Details | An expandable block holding Timeline, Labor Hours, Machining Hours, Actual Cost, Notes, Images and Files | Yes |
| Timeline | Logged time against the estimate | No |
| Budget | The budget figure | No |
The list follows the grouping. Under Group by operator the Assignee option is replaced by Machine, because a card sitting in a person's column does not need their name on it. Job is dropped from the cards under Group by job for the same reason, without leaving the menu.
A field that is switched on but empty shows nothing. A card with no attached image never renders a hero image, however the menu is set, which is why two cards in the same column can be different heights. See Compact mode and card fields.
See also
Scrap is recorded against the work session that made it, from the Scrap button in the job runner's action rail, and every entry needs a reason code drawn from one organization-wide list. The Pause Session dialog, the Complete Job dialog and the Job History session editor hold that session's scrap as editable rows and refuse to save a row that has a quantity and no reason. Reason codes are created, renamed and deleted inside the Log Scrap dialog itself, and deleting one makes every entry already logged against it print its raw identifier. Scrap never comes out of the good count.
Symptom, cause and fix for a part count that does not match the floor. Check QTY/OP in the Parts List first, because an exact 2x or 0.5x error is a multiplier rather than a detector: one cycle producing two parts, or two cycles producing one. A count that drifts over a shift is the ideal cycle time on Continuous Analysis, which divides running time by it. Also covers a count of zero, BeamTracker counting things that are not parts, counts that stop when the sensor goes offline, and why the platform's gross count and an ERP's good-parts figure are not the same number.

