Rework orders and splitting a works order — ship the good ones, rework the rest
An inspection that rejects part of a batch reduces the order's coverage to the passed units; a Rework… action turns the rejects into a linked rework works order that is re-inspected on completion; Split remainder… hands the unfinished quantity to a new order so the made units can ship.
Section 01
A batch has three quantities, not one
1 minute
Twelve brackets come off the line. Final inspection passes nine and fails three for coating thickness. In a system that only knows “made 12”, the sales order looks fully covered, the three bad ones sit in quarantine with a label on them, and nobody is scheduled to fix them. Every serious production system separates the batch into yield (good, to stock), scrap (a loss) and rework (recoverable with more work) — SAP's confirmation screen has a field for each, Dynamics 365 reports an error quantity alongside the good one. Brytebuild does the same at the moment that decides it: the inspection.
The rule that follows is from ISO 9001 §8.7: when nonconforming output is corrected, its conformity must be verified again. So rework is not a note on the reject — it is a works order of its own, whose finished units go back through the same inspection before they are released.
Section 02
What the inspection does to the works order
1 minute
When a works-order-completion inspection records rejects, the order's coverage of its sales-order line is reduced to the units that passed. Made 12, rejected 3 → the line shows 9 covered. Three things follow without any further action:
| Where | What you see |
|---|---|
| Sales order | The passed units are released stock and cover the line; they pick and despatch as normal. The three do not count. |
| MRP | Nets demand from coverage, so it sees three still needed until a rework order (or a new order) completes and passes. |
| Quarantine | The rejected units hold in their own container, with a reject record and an NCR, until you decide: scrap, return, or rework. |
A reject recorded during the run (the QC tab in the reader) holds no stock — the batch is not made yet — so it changes nothing here. Coverage follows the final inspection of what was produced.
Section 03
Raising a rework order
2 minutes
On the inspection record (or the NCR's edit page) each rejected row that still holds stock has a Rework… button. The dialog lists the original order's operations with the last one ticked — most reworks redo the finishing or final step — and a notes box that defaults to the reject detail. Tick the steps to redo and press Raise rework order. What happens, in order:
| Step | Effect |
|---|---|
| New works order | Named Rework of WO-… — product, quantity = the rejected units, same sales order and warehouse, starts today, due when the original was due. It has its own WO number. |
| Input | The rejected units leave the quarantine container into the rework order (a stock movement you can see in the ledger, valued at what they cost to make). They are work-in-progress now, not stock. |
| Operations | The chosen steps are copied fresh — unstarted, on the same work centres, with their standard hours — so the rework books capacity like any job. |
| Output | One output line for the product, linked to the same sales-order line, covering the rework quantity. |
| Reject | Marked Rework and closed to further disposition; the row now links to the rework order. |
Then it is an ordinary works order: start it, clock the steps, complete it. Because the product has a works-order-completion inspection plan, completion puts the reworked units in quarantine and they are inspected again — the re-verification the standard asks for. Pass them and the sales-order line is whole; reject again and the loop repeats. Job costing counts the consumed units plus the rework labour, so a rework order shows what the defect actually cost.
A reject already dealt with (reworked, scrapped, returned), an in-process reject with no stock, or a reject whose container has been emptied cannot be reworked — the button is hidden and the request is refused. Raising a rework order needs the same right as changing a reject.
Section 04
Splitting the remainder of an order
1 minute
The other half of partial completion: an order for 20 will only finish 14 this week, and the customer wants the 14 now. A works order completes once, for what was made — so instead of holding it open, split the remainder. Enter the quantity that stays on this order; the rest moves to a new order named … (remainder) with the same due date and sales-order line — Odoo calls this a manufacturing backorder. The 14 can then be completed and shipped, and the 6 are still planned and visible to MRP and the scheduler.
| What splits | How |
|---|---|
| Output lines and coverage | Each output line's quantity and covered quantity are divided between the two orders in proportion; both stay linked to the same sales-order line. |
| Operations | Steps not yet started are copied to the new order with their hours scaled to the remainder; this order's copies are scaled to what it keeps. Started or finished steps stay where they are. |
| Dates | This order keeps its dates; the remainder starts today and inherits the due date. |
Once the picking for the order is collected (its components consumed), or the order is completed or cancelled, the button disappears and a split is refused — dividing already-issued components between two orders is not supported. A rework order cannot be split either: its input was consumed when it was raised. Splitting needs the works-order edit right.
Section 05
Linked orders
1 minute
The works-order page shows the family in a Linked orders strip: Rework of WO-… on a rework order, Split from WO-… on a remainder, and on the original, Rework WO-… and Remainder WO-… chips for each order raised from it, each with its status. Click a chip to open that order. The inspection record and the NCR carry the same link on the reject row.
Splitting an order whose components are already issued; rework bills of material that add new material to the rework; reworking units already delivered (that is the RMA path); per-operation rework quantities; spreading the cost of rejects across the good units (D365's option — here scrap is valued as scrap and rework carries its own cost).