WindoorERP Documentation 19.0

Drive work orders through the routing

10 min read Updated 2026-08-30 WindoorERP 19.0

What this does

Production › Shop Floor › Work Orders is the routing: one work order per item and work centre, carrying who is doing it, on which machine, how long it was planned to take, how long it actually took, what came out good and what was scrapped, and — when the operation goes outside — the whole subcontracting record. It is the screen the floor advances through the day and the screen a supervisor reads to see what is running, ready or stuck.

The whole routing layer is optional. Work orders exist only when the Work Orders & Routing feature is switched on in Settings; with it off, no routing is required and this menu is not there.

Nor are work orders typed in here. Generate Work Orders on the production order creates them, one per item and work centre, and re-generating deletes only the pending and ready ones — anything already started is preserved. It refuses with "Enable the Work Orders feature in Settings before generating routing." or "Configure a Production Line with work centers first (Configuration ▸ Production Lines)." The order's two Schedule buttons are what fill the planned dates afterwards.

Before you start

  • The Work Orders & Routing feature enabled. The menu is gated on it.
  • Work centres and machines configured, and a production order that generated work orders.
  • Write access to work orders. The state buttons carry no group restriction, so anyone who can edit a work order can move it.

Steps

The Work Orders list filtered to Open, with work centre, machine, state badges and OEE

A work order form: routing header, planned and actual minutes, OEE figures and the labour logs tab

  1. 01
    Open Production › Shop Floor › Work Orders. It opens filtered to Open — everything not done and not cancelled. The list colours done green, in progress blue, blocked and awaiting-subcontract amber and cancelled grey.
  2. 02
    Open an operation and check its header: production order, item, work centre, machine, operator, and the Blocked By tags that list the operations which must finish first.
  3. 03
    Press Mark Ready when the material is at the station. This is the step that checks the routing and quality gates.
  4. 04
    Press Start. The start time is stamped and the machine is flipped to running.
  5. 05
    Record the work in the Labour Logs tab: one line per spell of work, with operator, start and stop, good and scrap quantities, and a downtime reason where relevant. These lines are what produce actual minutes, costs and OEE.
  6. 06
    Press Done when the operation is finished. The end time is stamped, the machine goes back to idle if nothing else is running on it, and any pending successor whose predecessors are now all done is readied automatically.
  7. 07
    Use Block to park an operation that cannot proceed, and Cancel to drop it. A blocked operation restarts with Start, not with Mark Ready.

The states and the buttons

StateHow you leave it, and what happens
PendingMark Ready. Refuses while predecessors are open: "Cannot ready %s: predecessor operations are not done." Then the quality gate is checked.
ReadyStart. Same two guards again, then the state moves to In Progress, the start time is stamped and the machine is set running.
In ProgressDone, or Send to Subcontractor on a subcontracted operation. Done stamps the end time, releases the machine to idle unless another operation is still running on it, and auto-readies eligible successors.
Awaiting SubcontractMark Returned (or Done, which also accepts this state). Mark Returned puts the operation back to Ready, or to Pending if predecessors are no longer complete.
BlockedStart. Block itself is a plain write with no checks; it is available from every state except done, cancelled and blocked.
DoneTerminal. No button remains.
CancelledTerminal. Cancel is a plain write, available unless the operation is already done or cancelled.

Warning

Done has no guard of any kind. The predecessor check and the quality-hold check run on Mark Ready and Start only. An operation whose item is on quality hold can still be marked Done, and so can one whose predecessors were never finished. The routing protects the start of an operation, not its close — if a hold must stop work reaching the next station, someone has to enforce it.

The quality gate

When the Quality Control Gates feature is on, a failed blocking inspection puts the item on hold and the hold blocks Mark Ready and Start with "Cannot advance %(wo)s: item %(item)s is on quality hold (%(state)s). Resolve the NCR/inspection first." The gate fires for items in quality hold, awaiting parts, awaiting feedback and scrapped. With the quality feature off the check does nothing at all.

The Bound QC Point field on the work order is informational: it records which check belongs to this operation, but nothing reads it back and no inspection is triggered by finishing a work order.

Time, cost and OEE

FieldWhat it means
Planned (min), Setup (min)The estimate you plan against. Typed in, never computed.
Actual (min)Computed: the sum of the labour logs' minutes. Nothing you type on the work order affects it.
Good / scrap quantities, piece-rate and labour costAll summed from the labour logs as well.
Downtime (min)Its own help says it plainly: "Logged availability-loss minutes (machine down / equipment failure) that subtract from operating time when computing OEE availability." It comes from labour logs whose loss reason is an availability loss.
OEE (%)The classic three-bucket score, stored on the record and shown as an optional column in the list.
Availability / Performance / QualityThe three components behind it: operating time after downtime, actual against planned, and good against total output.
Energy costComputed from the machine's power draw, run hours and cost per kWh — but it appears in no view on this screen.

Note

Labour logs are also the payroll record. Each line carries a payroll export state and manager-only Prepare, Mark Exported and Export CSV buttons, enforced on the server with "Only a production manager can export payroll entries." Once a line is exported it refuses to be prepared again — "Labour log %s is already exported. Only reset it through a controlled payroll correction." — so correct a spell of work while it is still unexported, not afterwards.

Subcontracted operations

The Subcontracting group appears only when the work centre is flagged as subcontract. It carries the subcontractor, the purchase order, the sent, expected-return and returned dates, supplier and dispatch references, carrier, package count, quantities sent and returned, a resupply flag with its note, and a computed Subcontract Tracking badge reading Not Sent, Sent, Partial Return, Returned or Late.

ButtonWhat it does, and what stops it
Create Subcontract PORaises the purchase order. Guards: "Work order %s is not a subcontracted operation.", "Set a subcontractor before creating a purchase order.", "Subcontract service product is missing. Upgrade the module."
Send to SubcontractorOnly on an in-progress subcontracted operation. Guard: "Set a subcontractor before sending %s." Sets Awaiting Subcontract, stamps the sent date and defaults the quantity sent and the due date from the work centre's lead days.
Prepare DispatchFills what is still blank and touches nothing else: Dispatch Reference becomes SUB/<work order> if empty, Qty Sent defaults to the item quantity and Packages Sent to 1, and it posts "Subcontract dispatch prepared: %s". It is on the form only for a subcontracted operation that is In Progress or Awaiting Subcontract.
Flag Resupply / Clear ResupplyRaise or clear the resupply flag and its note.
Supplier PortalManager-only on the button. Generates a token and the portal link the supplier uses to report progress.
Mark Returned / Partial ReturnBoth silently skip any operation not in Awaiting Subcontract — no message, no change. If nothing happened, check the state first.
Open Subcontract POReturns nothing at all when no purchase order exists yet.

Troubleshooting

"Cannot ready %s: predecessor operations are not done."An operation in Blocked By is still open. Finish or cancel it, or correct the dependency.
"Cannot advance %(wo)s: item %(item)s is on quality hold (%(state)s). Resolve the NCR/inspection first."The item failed a blocking inspection. Close the non-conformance, then Mark Ready again.
"Set a subcontractor before sending %s." / "Set a subcontractor before creating a purchase order."Fill Subcontractor in the Subcontracting group first.
"Work order %s is not a subcontracted operation."The work centre is not flagged as subcontract; the whole group is inapplicable.
"Subcontract service product is missing. Upgrade the module."An installation problem, not a data one — have the module upgraded.
Mark Returned did nothingThe operation was not in Awaiting Subcontract. Both return buttons skip such records without any message.
The machine still shows running after the operation endedAnother operation is in progress on the same machine. Done only releases a machine when nothing else is running on it.
A successor went ready by itselfExpected: Done auto-readies pending successors once all their predecessors are done.
An operation is missing from the listThe default Open filter hides done and cancelled work. Clear it.
A finished operation shows 0 actual minutes and no quantitiesDone demands no output either: an operation can be closed with no labour logs at all, which leaves actual minutes, good and scrap at zero and its OEE meaningless. Only the shop-floor terminal's Finish Op back-fills the item quantity as good, and only when both quantity boxes were left blank.

Common mistakes

  • Treating Done as a controlled gate. It checks nothing — not predecessors, not quality holds.
  • Typing minutes on the work order and expecting Actual (min) to change. Only labour logs move it.
  • Pressing Mark Returned on an operation that was never sent, and taking the silence for success.
  • Reading OEE on an operation whose labour logs carry no scrap and no loss reason, then trusting the number.
  • Using Blocked By as a note rather than a dependency — it is the graph the Mark Ready guard and the auto-ready both read.
  • Assuming a machine flagged down cannot be worked: starting an operation on it simply flips it back to running.

Was this article helpful?

Running a window or door factory?

Ask for a demo