Work Orders
A work order (WO) is the document that authorizes a specific quantity of a product to be manufactured by a specific date, against a specific bill of materials and routing, at a specific warehouse. Every component issue, every operation report, every scrap event, and every finished-good receipt is recorded as a child of a work order — so closing a WO produces a complete cost-and-quantity picture of one production run.
Creating a Work Order
To create a manual WO:
- Navigate to Manufacturing > Work Orders in the sidebar.
- Click Create Work Order.
- Fill in the header:
- WO # — Unique identifier (e.g.,
WO-2026-0500). - Product — The parent product being manufactured.
- Target Quantity — How many units to produce.
- BOM — The bill of materials to consume from. The default ACTIVE BOM is suggested.
- Routing — The routing to schedule against. The default ACTIVE routing for the product is suggested.
- Source Warehouse — Where component issues default to.
- Destination Warehouse — Where the finished goods will be received. Often the same as source.
- Destination Location (optional) — Specific bin / aisle inside the destination warehouse where the finished good lands at completion. Leave blank to let put-away use the warehouse default; pick a location when QC, segregation, or lot-tracked finished goods need to land somewhere precise. The dropdown is filtered to locations inside the chosen destination warehouse and clears automatically when you change the warehouse.
- Due Date — When the parent must be available to satisfy demand.
- Priority — Lower number = more urgent. Used by the scheduler to break capacity ties.
- Source —
Manualfor direct entry. Other sources (MRP, Sales Order, Rework) are populated automatically when the WO comes from those flows.
- WO # — Unique identifier (e.g.,
- Click Save. The WO is created in
Draftstatus.
Lifecycle
Work orders progress through nine statuses:
| Status | Meaning | What you can do |
|---|---|---|
| Draft | Header being filled out | Edit any field; submit for approval, approve directly, or cancel |
| Pending Approval | Submitted to the workflow engine | Approvers review; can return to Draft on rejection |
| Approved | Authorized but not yet released | Release to the floor or cancel |
| Released | BOM exploded onto material lines, routing copied onto operations, reservations placed against stock, standard cost at release frozen on the header | Issue components, report operations, place on hold, cancel |
| In Progress | At least one operation has reported activity | Continue issuing/reporting; place on hold; cancel |
| On Hold | Production paused. Reservations remain; operations cannot start; no new issues or receipts | Resume back to Released, or cancel |
| Completed | All required output received and all expected operations have reported their final completion. Variances computed | Close the WO |
| Closed | Variance computed and recorded on the WO, work-in-progress (WIP) figures finalized, the WO is sealed and read-only | Normal end state. Reopen is available as a corrective action when post-close data needs to be fixed (see “Reopening a closed work order” below) |
| Cancelled | Voided before completion. Reservations and issues reversed; WIP cleared | Terminal — no further changes |
Changing status
The current status appears as a pill in the centre of the WO detail header. Click it to open the lifecycle graph:
- The current status is highlighted and marked with a check.
- Statuses you can move to right now are clickable — selecting one opens a confirmation dialog and applies the change.
- Statuses you can’t reach from the current one are dimmed and unclickable.
- Statuses that Beelocity sets automatically (for example, a status flipped by a workflow rule) are locked with a small padlock — you can’t move there manually.
Transitions that need extra information (Hold, Cancel, and Reopen from Closed) ask for a reason in a follow-up dialog instead of the default confirmation. Secondary actions — Schedule, Subcontract, Activate / Deactivate, Delete — moved into the three-dots menu on the right-hand side of the header so the status pill stays the main affordance.
Releasing a Work Order
Release is the heavy step. When you click Release on an Approved WO, Beelocity, in one atomic transaction:
- Explodes the BOM onto material lines (one per active component, plus any by-product lines).
- Copies the routing onto operation lines.
- Places reservations against
stock_quantitiesfor components that aren’t backflushed or pre-issued. Best-effort — partial reservations are allowed when there’s not enough free stock; the affected lines are marked accordingly. - Freezes the standard cost at release on the WO header (BOM-rolled component cost + routing-rolled labor + overhead + subcontract fees). This frozen figure is what actual costs are compared to at Complete to compute variance.
After release, the WO is on the floor. Components can be issued, operations can be reported.
Issuing Components
Two paths consume components:
- Manual issue — From the Material Lines tab on the WO detail page, pick a line and click Post Issue. Enter the quantity, source warehouse, and unit cost. The system inserts a
WORK_ORDER_ISSUEmovement, decrements stock, and bumps the WO’s running material cost. - Backflush — Components on lines with Issue Method =
Backflushare auto-issued when their consuming operation reports completion. The system pro-rates the line’srequired quantityby the operation’scompleted quantity / target quantity, then posts the issue automatically.
The first issue against a Released WO transitions it to In Progress and stamps actual_start_date.
Reporting Operations
From the Operations tab, click Report on the operation that just ran. Enter:
- Completed quantity — Units that passed this step.
- Scrapped quantity — Units lost at this step (non-recoverable).
- Labor hours — Operator hours spent.
- Mark operation finished — Toggle on when the op is done. Triggers backflush of components on this op and, if this is the final operation, emits a
WORK_ORDER_RECEIPTmovement to the destination warehouse for the parent at the completed quantity.
Operation reports accumulate, so you can post partial reports as a long run progresses (e.g., 10 units at 11:00, another 15 at 14:00, mark finished at 17:00).
Scrap
Scrap is reported per-operation, not on the WO header. Two paths:
- Operation scrap (a part is scrapped at a step) — Report it via the Scrapped quantity on the Report Operation form. The completed quantity flowing to the next operation is reduced accordingly.
- Component scrap (a raw material is damaged before it is consumed) — Report it as an inventory adjustment on the component, not as a WO scrap. This keeps the WO’s variance attribution honest.
When scrap is recoverable (e.g., aluminum offcuts that go back to scrap stock for resale), model the recovered material as a by-product line on the BOM. The recovered weight then auto-receipts to a “Scrap stock” warehouse on completion.
Holding and Resuming
If production must pause — quality issue, missing component, equipment down — click Hold and enter a reason. The WO transitions to On Hold. Reservations stay in place; operations cannot start; no new issues or receipts. When you’re ready, click Resume; the WO returns to Released. If operations were already running, the WO will flip back to In Progress the next time an operation reports activity.
Completing and Closing
When all required output has been received and all expected operations have reported their final completion, click Complete. Beelocity computes the three variance figures by comparing actuals against the standard cost frozen at release:
- Material variance —
actual material cost − snapshot material cost(positive = unfavourable, more raw material than planned). - Labor variance —
actual labor cost − snapshot labor cost. - Overhead variance —
actual overhead cost − snapshot overhead cost.
These are stamped on the header. Click Close when ready; closing finalizes the variance figures and work-in-progress (WIP) totals on the work order and seals it read-only.
Reopening a closed work order
Occasionally, data discovered after close needs to land on the original WO — a missed labor entry on an operation, an under-counted final receipt, a scrap event that landed on the wrong step. Reopen is the corrective action for exactly this case; it returns a closed WO to In Progress so the fix can be posted, and then the WO is completed and closed again as normal.
To reopen:
- Open the closed WO’s detail page.
- Click Reopen at the top.
- Enter a reason — required, and surfaced in the audit log so the corrective action stays attributable (e.g. “Missed labor hours on op 30 from 2026-05-09 shift”).
- Confirm.
What Beelocity does on reopen:
- Status returns to
In Progressso issues, operation reports, and final receipts can be posted again. - Variance figures on the header are cleared (material, labor, overhead). They’ll be recomputed from the corrected figures when the WO is completed and closed again.
actual end dateis cleared because the WO is no longer finished.- Reservations are not auto-restored. Most reopens don’t need new issues; if yours does, post the issue manually — the usual free-stock checks apply.
When to reopen vs. when to start a new WO:
- ✅ Fixing a missed report, restating a scrap event, correcting a labor entry — use Reopen.
- ❌ Adding production that was never started inside the WO’s run window — create a new WO. Reopening to artificially inflate a finished run distorts throughput and yield analysis.
- ❌ Mass adjustments across many WOs — if the same error affects dozens of work orders, correct the underlying cost data (BOM costs, labor rates, overhead rates) so future runs are right, rather than reopening each one.
When you re-close a reopened WO, the variance is recomputed from scratch against the standard frozen at release, so the corrected figures replace the originals on the work order.
Cancelling
Cancel a non-terminal WO when the demand evaporates or the run cannot proceed. Click Cancel WO and enter a reason. Beelocity:
- Reverses all outstanding issues with
Cancellation Reversalrows (negative quantity, automatically posted). - Releases reservations on unconsumed BOM lines back to free stock.
- Stamps the cancellation reason on the header.
The cancelled WO is sealed and read-only once these reversals complete.
Cost Card
The Cost section on the Overview tab shows three views side-by-side:
- Snapshot — What we expected (frozen at release).
- Actual — What it actually cost (running totals updated on every issue / op-report).
- Variance — The difference, broken out by material / labor / overhead.
Use this card to spot abnormal runs quickly and investigate before close.
Scheduling
Released work orders are slotted onto work centers by the finite-load scheduler. The per-WO entry point lives on the Operations tab:
- Scheduled Start / Scheduled End — one pair per operation, populated when the scheduler runs.
- Schedule toolbar action — opens the dialog (forward/backward + anchor date) and runs the scheduler on this WO only.
- Clear schedule toolbar action — wipes every segment; in-progress operations keep their actual dates.
The Gantt view that used to live in a per-WO tab now lives on the cross-WO Scheduler page (Manufacturing → Scheduler in the sidebar). Click any segment there to jump back to the originating WO. Operations that are already in progress are preserved across runs. See the Scheduler page for the full picture, including the per-work-center Load chart.
Common Pitfalls
- Trying to release without an approved BOM and routing. Both must be
Activefor the release to succeed. If either isDraft, activate it first. - Editing the snapshot. The snapshot is frozen at release for a reason — variances must compare against a stable baseline. Don’t edit it; if the standard cost was wrong, correct the underlying cost master data so future runs are accurate instead.
- Reporting more output than target. Operations cannot complete more than their target quantity. If a run produces excess, create a separate WO for the overflow.
- Forgetting to close completed work orders. A completed-but-not-closed WO leaves its variance unfinalized and WIP figures open. Close work orders promptly so each run’s production figures are complete.
- Cancelling instead of placing on hold. Cancellation reverses everything. If you just need a temporary pause, use Hold; reservations stay in place and you can resume cleanly.