myWork has two words for two different things, and almost every misunderstanding about work orders comes from mixing them up.
| WorkFlow | WorkOrder | |
|---|---|---|
| what it is | the definition of how a kind of job runs | one run of that job |
| it holds | the steps, their order, and what each one asks for | a customer, a date, real stock, real progress |
| where it comes from | somebody authors it, once | copied from a WorkFlow, every time a job comes in |
| it answers | how do we do this kind of work? | how far along is this job? |
The one-line test: if it has a customer, a date, or stock, it is a WorkOrder. If it only says how the work is shaped, it is a WorkFlow.
So a WorkOrder is never "an instance of a template" - it is a run of a WorkFlow. You will still see the older word template in a few corners of the system; it means WorkFlow.
The engine knows almost nothing
This is the part worth internalising, because it changes what you ask for.
The work order engine knows only four things: which steps exist, what order they go in, who owns each one, and whether it is done. It has no abilities of its own. Everything a work order can actually do - receive goods, move stock, book a courier, ask somebody to approve something - lives in the steps.
That is why the right way to ask for new capability is almost always "a step that does X", not "a screen for X". A new screen is a big piece of work; a WorkFlow made of steps that already exist is usually an afternoon, and often it is something you can author yourself.
Before asking for anything new, check the step catalogue - the job you want may already be three existing steps in a row.
How a run advances
Steps sit in numbered slots. The engine looks for the lowest slot that is not finished and makes every step in it active at once. When they are all done, the next slot opens.
Two consequences that surprise people:
- Two steps with the same slot number run at the same time. That is how you express "these can happen in parallel". Give them different numbers if one must genuinely wait for the other.
- A paused or retrying step still holds its slot. Nothing after it can start. A work order that looks stuck is nearly always one held step - open it and see what it is waiting for.
There is no branching. A work order is a straight sequence, and a rejected approval stops it rather than sending it down another path. Two possible outcomes means two WorkFlows.
How a step gets what it needs
Steps do not read each other's private notes. They pass values to one another through named fields on the WorkFlow, which is why you can see the connections on a work order's Fields tab instead of having to guess them.
A value a step needs can arrive in four ways:
| when to use it | |
|---|---|
| Pinned on the WorkFlow | the value is the same on every run - always this category, always this area |
| Pinned on the step | the value is fixed, but only for that one step |
| Asked when the work order is released | it changes per job, and is known up front - the customer, what came in |
| Asked when the step starts | it is not known until the moment arrives |
| Published by an earlier step | the step before it produced the value - the units a receipt actually booked in, the shipment a sale raised |
That last one is the interesting one. It is why a Repair Router knows what to route without anybody typing it twice, and why the units a repair finished with are the units the shipment sends.
If the customer is not in the list, the release screen can create one — and what it creates is a real customer in Unleashed, the same record Sales raises invoices against. It is not a note for this job. So search properly before you add one: Customers covers what to check first, and what a duplicate costs.
The life of a work order
Draft while it is being put together, Released once it is handed to the floor, In progress while people work it, then Completed and Closed. It can be Cancelled at any point - and note that rejecting a standalone Approval step cancels the whole thing.
Related
- Work Order step catalogue - every step you can add
- Work order types: adding one and deciding who may use it
- Instruction step - the simplest step there is, and a good first one to try