DDeetzo Academy ◀ All module guides
Deetzo ERP · Manufacturing Module · Training Guide

Production Control, end‑to‑end

How a job travels from an approved recipe to inspected, costed finished goods — every screen, every state, every quality gate. Built for operators, planners, and QA leads getting started on Deetzo.

Version 1.3 Reviewed against production code Verified live on erp.deetzo.com Audience Owner · Admin · Manager · Staff
01BOM
→
02Work Order
→
03Stages
→
04Material issue
↘
05Quality gates
→
07FG + GL
↘
06NCR / rework
00

The big picture

One loop, three pillars, and where each screen lives.

Production Control turns a demand (a sales order or a low-stock trigger) into finished goods you can sell, and records the money and the quality evidence along the way. It rests on three pillars: engineering (the Bill of Materials), execution (Work Orders and their stages), and quality (control points, inspections, and non-conformance). Everything is multi-tenant — all of it lives under your own company's data.

Approved BOM parts + routing Demand SO · Replenish Work order Release: reserve Issue materials or backflush Stages run operations recipe Create WO Release consume QC gate Block / Warn FG receipt Complete Cost to books WIP → inventory NCR fail / reject stage · final pass posts fail or rejected qty → see §06
FlowAn approved BOM plus a demand becomes a work order; releasing it reserves stock, and completing it puts costed finished goods on the shelf. Demand comes from a sales order (Create work order or Plan production), from Planning · Replenish (Create draft WOs for min-stock top-ups), or straight from a BOM. Issued material and finished stages build up work-in-progress cost; Complete receives the good units and moves that cost into inventory. A failed gate or any rejected quantity raises an NCR (§06).

Where the screens live

Production Control occupies two sections of the left sidebar: Bill of Materials (recipes and work centres) and everything under Work Orders / Quality. Below is the full map — the route is what you'd type after /# in the address bar.

BOM

Bill of Materials

Recipes: components, wastage, routing, revisions, approval, rolled cost.

/bom
WC

Work Centres

Where operations run — rate/hr and daily capacity that drive cost and load.

/bom/work-centres
WO

Work Orders

The jobs. Lifecycle, materials, stages, sub-assemblies, completion.

/production
CP

Control Points

The five quality gates — what is checked, how often, and what a fail does.

/production/control-points
QT

Quality Templates

Reusable inspection specs with a sampling plan and parameter classes.

/production/quality-templates
INS

Inspection Worklist

The numbered inspection register — assign, execute, pass/fail.

/production/inspections
NCR

Quality (NCR)

Non-conformance reports, dispositions, CAPA and rework.

/production/ncr
QO

Quality Overview

KPIs: first-pass yield, QC-HOLD, pass-by-gate, supplier scorecard.

/production/quality
LOT

Lot Traceability

Trace a lot / batch / serial — where it was received, inspected, used.

/production/lot-trace
Who can see this

Two permission flags gate the whole module: canManageBom opens the BOM screens, and canManageWorkOrders opens Work Orders and every quality screen (control points, templates, inspections, NCR, lot trace). There is no separate "quality" permission — quality rides on Work Orders. Owners have both by default.

01

Bill of Materials — the recipe

Nothing enters production without an approved BOM.

A BOM (Bill of Materials) is the recipe for one product: the components it consumes, the operations (routing) that transform them, and the work centres those operations run on. A product can have many BOM revisions, but only an approved one is buildable.

erp.deetzo.com/#/bom
Bill of Materials list showing 39 BOMs with revision, item count, material cost, total cost, stock status and approval state
ScreenBill of Materials. KPIs across the top (total, awaiting review, approved & live, with shortage) and a table of every recipe — revision, item count, rolled material and total cost, live stock coverage, and status.

Four kinds of BOM

TypeWhat it meansBehaviour
manufactureMade in-house (default)Its own work order, stages, and stock line.
phantomA sub-assembly that is never stocked on its ownExplodes straight into the parent WO's material list — no phantom stock line.
kitA bundle shipped togetherGrouped for sale; components stay individually tracked.
subcontractMade by an outside vendorDrives job-work: you send components out and receive the made item back (ITC-04).

Revision & approval lifecycle

A BOM moves through states, and only an approved BOM can be revised or built:

draft→ under_review→ approved · rejected · obsolete

Revise writes the next revision as a draft and leaves the current one approved. Approving the new revision obsoletes the old one in the same step. Letters run A → B → … → Z → AA. There is one pending revision at a time. Effectivity dates and substitute parts are not part of this.

Rev A approved what jobs use today Rev B draft shows the diff Approve Rev B Rev A obsolete Revise Approve Draft, nothing issued Move to Rev B Already on the floor Built to Rev A
DecisionRev A keeps building until Rev B is approved. The new page lists what changed and every open work order still on an earlier revision. A draft can move. An order that has started is marked built to the old revision, and its materials are not rewritten.

Cost, wastage & where-used

  • Wastage % — each component can carry a scrap allowance; the effective quantity consumed is qty × (1 + wastage%).
  • Rolled make cost — the total is built bottom-up: sub-assemblies are costed by their own make cost, guarded against cycles (A↔B can't loop). Cost = rolled material + operation (labour) cost.
  • Operation-level consumption — a component can be tied to a specific routing step, so it is issued (backflushed) exactly when that stage completes.
  • Where-used — open any component to see every parent BOM that consumes it, with quantity and revision.

Work centres

Operations run on work centres. Each carries a rate per hour (which flows into routing labour cost) and a daily capacity in hours (which drives the weekly load view). A paused centre is skipped by the scheduler.

erp.deetzo.com/#/bom/work-centres
Work Centres screen listing CNC-Bay and Shop Floor with department, rate per hour, daily capacity, weekly load percentage and status
ScreenWork Centres. Rate/hr and capacity per centre, with this week's booked-hours load. "Load this week" is scheduled hours against capacity — it's a load view, not a finite schedule (promising still assumes infinite capacity).
02

Work Orders — the job

A work order is one build of one product, with its own lifecycle, materials, and stages.

Create a work order from a sales-order line, from a BOM ("Create work order"), or as a stock-intent job. The order then walks a strict lifecycle — you can't skip states, and each transition has consequences for reservations, stock, and the ledger.

A short part with its own approved manufacture BOM is a Child WO, not a purchase. A raw material is Request or Raise PO. Replenish uses the same split: Make becomes a draft work order, Buy becomes a purchase.

TWO ORDERS, ONE PURCHASE Order A needs 10 on day 20 PO-1 · 10 · approved arrives day 18 · raised for A A keeps PO-1 10 arrives in time Order B needs 6 on day 10 PO-1 does not cover B day 18 is after day 10 B buys its own 6 a 14-day lead is late
DecisionAn approved purchase covers the order it was raised for, and only if it arrives in time. Quantity left after that order — a minimum order rounded up, or a second line — is shared with a later order whose date the delivery still meets. A requisition, or a draft or submitted purchase order, is not supply. While that document is still open, add the second order's quantity to it.
What changedWhat the planner does
Sales quantity or date moved, nothing issued yetUpdate plan on the work order, or leave it. Issued material is not rewritten.
The saved plan finishes after the promised dateThe sales order and the work order name the machine, the centre, and the day it runs past its shift.
Two jobs want the same machineProduction plan → Board: one row per machine. A sub-assembly that ends after its parent starts is marked.
Good quantity plus scrap is more than what is left to receiveReceive is refused. There is no Receive anyway.
Cancel with material still issuedThat quantity goes back to stores in the same step. Issue and Report output disappear.

Planning review lists the four things that have moved since the plan was made: a sales line that no longer matches its work order, an open order still on an old BOM, a placement that will miss its date, and an approved purchase that arrives too late for the order it was raised for.

Draft no reservation Released stock reserved In Progress stages running Complete guards check Completed FG received Release Start stage Complete all clear On Hold issue still ok Put on Hold Resume Cancel work order Cancelled reservations freed CHECKED WHEN YOU PRESS COMPLETE • Stages still open → stages can be waived • Quality hold — blocking QC open or failed → "Review inspection" / override + reason • Material out at job-work vendor → refused until received back
LifecycleDraft → Released → In Progress → Completed, with On Hold as a pause and Cancelled as the only other exit. Release reserves stock; starting the first stage moves the order to In Progress. The Complete button appears once every stage is done or skipped (an order with no stages can be completed straight from Released). Before closing, Deetzo checks three things: open stages and an open or failed blocking inspection each ask you to confirm; material still at a job-work vendor is refused outright. Separately, an inspection someone put On hold refuses Receive output until it is released. Cancelling frees reservations and puts issued catalog material back in stores.
StateMeaningWhat it does
draftPlanned, not committedReserves no stock. Cannot issue material or run stages.
releasedCommitted to the floorReserves each component's remaining qty atomically. Spawns the first-article inspection.
in_progressWork has startedEntered automatically when the first stage starts.
on_holdPausedDeliberately still allows material moves; resume returns it to in_progress.
completedFinished & receivedFinished goods received; residual reservations released; ledger cleared. Terminal.
cancelledAbandonedReleases all reservations. Issued material and completed stages are not reversed. Terminal.

Anatomy of the work-order screen

The detail screen is the operator's cockpit. The header shows live counters — good output, scrap, WIP, material value, due date. Tabs break the job into Production (stages), Materials, Quality Inspection, Costing, Timeline, and Discussion. A "What's holding this up" panel surfaces shortages and stalled stages with one-click fixes.

erp.deetzo.com/#/wo/<id>
Work order detail for SS Tank, released, showing progress, planned qty, output counters, five sub-assembly work orders, a what's-holding-this-up panel and production stages
ScreenWork Order — SS Tank. A multi-level job: the header counters, five nested sub-assembly work orders, the "What's holding this up" panel (here: 6 materials short), recent activity, and the production-stage list. Tabs carry Materials, Quality, Costing, Timeline and Discussion.
Release does two things at once

Pressing Release flips the status and reserves stock in the same transaction — for every component it adds the remaining quantity to that product's reservedQty. That reservation is what protects one job's materials from another (see §04). It also auto-spawns the first-article quality inspection.

03

Running the floor — stages & operations

Routing steps executed in sequence, each with a clock, a work centre, and an optional QC gate.

A work order's routing becomes an ordered list of stages. Each stage runs on a work centre, tracks planned vs actual minutes, and can require a quality check before the next stage may start. Stages are executed one screen at a time.

erp.deetzo.com/#/wo/<id>/stage/0
Stage Execution screen for Material Cutting, stage 1 of 5, showing routing list with later stages blocked, an elapsed-time clock, assignment to CNC-Bay work centre, and a Start Stage button
ScreenStage Execution. The routing rail (later stages Blocked until this one finishes), a live elapsed-time clock against the planned 30 min, the assignment (operator, work centre, planned time), and the Start Stage action.

The stage lifecycle

pending→ in_progress→ awaiting_inspection→ completed · skipped

awaiting_inspection is deliberately not "finished": the sequencing guard treats anything not completed-or-skipped as a blocker, so a stage waiting on QC holds the next stage. When you report output you enter good and scrap quantities; a qcRequired stage additionally forces a Pass / Fail verdict before it can be marked complete.

Time, downtime & backflush

  • Run segments — the clock is made of start/pause spans; each pause records a downtime reason, which is the raw material for OEE later.
  • Backflush — components tied to a stage are automatically consumed (issued) when the stage completes; the ledger records them as wo_issue.
  • Scrap → NCR — reporting scrap on a stage raises a non-conformance so the defect is dispositioned, not silently absorbed into yield.
  • Manual vs Auto — the Production tab lets you run stages one-by-one or auto-run the remaining stages.
04

Material & stock control

Reservation-aware issue, and a stock ledger that names every movement.

Material can be issued to a work order manually, backflushed at a stage, or backflushed at completion. The important safeguard is the reservation-aware issue check: a released work order reserves its components, and another order can't quietly issue the units your job is holding. Asking again for a shortage that is already on a requisition or purchase order for this job does not raise a second full quantity. The purchase stays linked to the work order, so the Materials section can show it.

The stock ledger

Every quantity change writes one row to the product's stock history with a signed change and a reason code. Those codes are the audit trail for the whole system — learn to read them:

ReasonWhen it's writtenΔ
grnGoods received against a PO, no incoming QC hold+
grn_qc_holdReceipt held by a blocking incoming gate (→ QC-HOLD)+*
grn_qc_releaseIncoming inspection submitted — the accepted qty released from hold to good stock+
qc_quarantineUnits rejected at inspection (out of QC-HOLD, or out of good stock on a non-blocking gate) / NCR quarantine−
ncr_use_as_is"Use-as-is" disposition returns units to good stock+
wo_issueMaterial consumed into a WO (manual, stage & completion backflush)−
wo_returnUnused issued material returned+
wo_receiptFinished goods received from a WO+
job_work_outMaterial sent out to a subcontract vendor−
job_work_received / job_work_producedSubcontract inward — same item back, or a made item+
invoice / invoice_cancelSale ships goods / cancellation restocks− / +
credit_noteSale-return credit note restocks+
purchase · damage · correction · openingStock · saleReturn · otherManual stock adjustment (reason chosen by the user)±

* grn_qc_hold adds to the countable qcHoldQty balance, not to sellable on-hand stock. Location moves — store_transfer, job_work_move, job_work_loss — write a zero-quantity ledger row on purpose.

05

Quality gates

Five gates, reusable templates, a numbered inspection register — and a real block that holds the line.

Quality in Deetzo is driven, not documentary. You define control points (the gates), bind reusable templates (the checklist + sampling rule), and the system spawns numbered inspections at the right moment. A gate set to Block genuinely holds the next step until the inspection passes. While that hold is open, completing the work order is refused. Someone who can approve quality can override it, and must write the reason. That reason stays on the order.

Gate event GRN·WO·dispatch Control point Block / Warn Inspection on the Worklist Submit result accept / reject Good stock accepted qty matches auto-spawn inspect accepted QC-HOLD incoming · Block receipt held accepted qty released rejected qty > 0 NCR quantity held Disposition rework·scrap·RTV·as-is CAPA + close approver signs off decide rework WO → re-inspection
FlowA gate event fires a control point, which spawns an inspection; submitting it sends accepted units to stock and rejected units to an NCR. For incoming goods under a Block receipt gate, the receipt waits in QC-HOLD; submitting the inspection releases the accepted qty to stock and sends the rejected qty to an NCR — on a pass or a fail. On a Warn gate goods enter stock at once and rejects are quarantined out of it; first-article and in-process rejects never reached stock, so the NCR is the whole record. The NCR is then dispositioned (rework, scrap, return to vendor, use as is — use-as-is puts units back in good stock), and an approver verifies the CAPA and closes it.

The five gates

Control points are organised across five stages of the flow. Each binds a template, a frequency, and a fail behaviour (Block holds the next step; Warn logs and lets it proceed).

erp.deetzo.com/#/production/control-points
Control Points board with five columns — Receipt, First article, In-process, Final, Pre-dispatch — each holding control point cards showing template, frequency and Warn or Block behaviour
ScreenControl Points. The five gates as columns — Receipt, First article, In-process, Final, Pre-dispatch. Top KPIs count total points, how many Block, how many stages have no gate, and skip-lot. Each card shows its template, frequency, and Warn/Block + Active/Proposed state.

Templates & sampling

A quality template is a reusable spec — the checklist and its acceptance rule — bound to products, categories, or control points. It carries a sampling plan (sample size + allowable failures, each as a percentage or an absolute count) and parameter classes (Critical / Major / Minor). Templates are versioned: once active, a version is immutable.

erp.deetzo.com/#/production/quality-templates
Quality Templates list showing Raw Material, Manhole Inspection and QC Ghee templates with type, parameter count, sample and allowable percentages, bound-to status and version
ScreenQuality Templates. Each is Quantitative (measured params) or Qualitative (pass/fail), with its sample/allow rule (e.g. 100% · 10%) and version. "Not bound" means it will never trigger until you attach it to a control point.

The inspection register

Spawned inspections land on the Worklist — a numbered register (QINS/FY/NNN) with a status lifecycle, an assignable inspector, a due date, and overdue ageing.

draft→ pending→ in_progress→ passed / failed · on_hold

A record is "closed" once it is passed or failed.

erp.deetzo.com/#/production/inspections
Inspection Worklist with KPIs for pending, in-progress, pass rate, average turnaround and open NCRs, and a table of inspections with type, item, source, lot, sample plan, inspector and result
ScreenInspection Worklist. Incoming and in-process inspections with their source document, resolved sample plan (1 → 1 pcs), inspector, and result. Filter by Pending / In progress / Passed / Failed / On hold.

Opening an inspection gives the inspector everything on one screen: the source, the sample plan resolved from the template, the parameters to measure or pass/fail, an accepted / rejected split, evidence (photo + gauge), a required lot number, and the submit action. Any rejected quantity raises a linked NCR — whether the verdict is a pass or a fail.

erp.deetzo.com/#/production/inspections · QINS/26-27/032
Inspection detail showing source, sample plan from Manhole Cover QC template, a pass-fail parameter, lot decision with accepted and rejected quantities, an evidence photo slot and Submit action
ScreenInspection detail. Source + sample plan (left/centre), the parameter checklist (here a pass/fail "Final inspection"), the accepted/rejected lot decision, evidence, and the Submit — accept / Hold lot / Save draft actions. A lot number is required to submit; it feeds traceability.
Block actually blocks

A control point set to Block is enforced, not advisory. Completing a work order with an open blocking inspection opens Quality hold. Someone who cannot approve quality sees Review inspection only. An owner, an admin, a manager, or someone who can approve quality can Override and complete only after writing a reason. There is no Complete anyway. A blocking receipt gate holds incoming goods in QC-HOLD. Report output stays available while an inspection is only pending; it is refused when that inspection is On hold.

QC-HOLD — the two-phase incoming receive

When a blocking receipt gate is active, incoming goods do not go straight into sellable stock. They land in a countable QC-HOLD balance (qcHoldQty) and stay there until the incoming inspection is submitted. This is how you stop unverified material from being consumed or sold.

PHASE 1

Receive → hold

  • GRN accepts the quantity, but a blocking receipt gate diverts it to qcHoldQty.
  • On-hand sellable stock does not move.
  • Ledger row: grn_qc_hold (+).
  • The In QC-HOLD KPI on Quality Overview goes up; an incoming inspection is spawned.
PHASE 2

Inspect → release or reject

  • Submitting the inspection releases the accepted qty: hold → good stock — on a pass or a fail.
  • Ledger row: grn_qc_release (+); on-hand rises.
  • The rejected qty leaves the hold and an NCR is raised for it (ledger qc_quarantine −). It never entered good stock, so on-hand is not deducted twice.
  • Release is clamped to what's on hold, so it can never over-release.
Non-blocking is different

A gate set to Warn is advisory: incoming goods enter stock immediately and the inspection is just logged. QC-HOLD only applies to blocking receipt gates.

06

Non-conformance & CAPA

When something fails, it becomes a tracked report with a disposition and a corrective-action trail.

A rejected inspection, a scrapped stage, a bad GRN line, or a job-work reject all raise a Non-Conformance Report (NCR). The report quarantines the affected quantity out of good stock and drives it to a decision.

erp.deetzo.com/#/production/ncr
Non-conformance list with KPIs for open, awaiting disposition, critical and quantity held, and a table of NCRs with item, source, quantity, severity and disposition
ScreenQuality (NCR). Each report shows the defect, source (GRN, work order, or job-work), quantity, severity (Minor / Major / Critical), and current disposition — here two Awaiting disposition and one Rework.

Disposition — the five decisions

DispositionWhat happens
reworkSpins up a linked rework WO; the NCR stays open at Re-inspection. When the rework WO completes, a re-inspection is spawned; its result is recorded on the NCR, and an approver verifies and closes it.
use_as_isAccept with concession — the quantity returns to good stock (ncr_use_as_is).
scrapWrite off — the units are already out of good stock, so this is a record of the decision.
returnToVendorReturn to supplier (documentary today).
openNot yet decided.

Dispositions can be split — e.g. rework 8, scrap 2 on a 10-unit report.

The CAPA pipeline

Beyond the immediate disposition, an NCR carries a corrective/preventive-action workflow — root cause, corrective and preventive actions with owners and due dates, and verification — driven by a five-step stepper:

Raised→ Investigated→ Disposition→ Re-inspection→ Closed
07

Completion & cost

Finished goods received, WIP relieved, and the ledger posted automatically.

Once all stages are done, the completion screen runs a readiness check (stages complete? materials issued?), captures the final inspection (accepted vs rejected), and — on confirm — receives good units into finished-goods stock (wo_receipt) and optionally backflushes any remaining materials. If any blocking inspection on the job is still open, completion stops. Only someone who can approve quality can override that, and they record a reason. Unfinished stages raise a "Stages still open" confirmation. Replenish shows a planning-readiness note when a manufacture BOM on an open order is not approved, a buy has no lead time, or an open work order has no due date, and links to the buy-side reorder list.

What the ledger posts

A Cloud Function posts the WIP → COGM journals automatically as the job moves (it activates once a WIP account is configured in the chart of accounts):

EventJournal
Material issued to WODr WIP inventory · Cr Inventory asset
Stage completed (labour / subcontract)Dr WIP inventory · Cr Labour absorbed
WO completedDr Inventory asset (good) + Production scrap (scrap) · Cr WIP inventory
WO cancelledDr Production scrap · Cr WIP inventory (whole balance)

Good-unit cost is capitalised to inventory (perpetual — relieved as COGS on later sale) and the finished good's moving-average cost is updated at completion. The Costing tab on the WO shows standard vs actual material and labour live.

08

Traceability & metrics

Follow a lot both ways, and read quality at a glance.

Lot traceability

Enter any lot / batch / serial and trace it Where used (forward — where it went) or Where from (backward — where it came from). The timeline stitches together receipts, inspections, production consume/produce, and usage.

erp.deetzo.com/#/production/lot-trace
Lot Traceability showing lot UAT-LOT-1 with a timeline of two inspection events, each passed with one accepted unit of Sell for SS Tank
ScreenLot Traceability. Tracing UAT-LOT-1 — the timeline shows both inspection events that touched the lot, each passed with 1 accepted. Toggle Where used / Where from to walk the genealogy either direction.

Quality Overview

The dashboard rolls up the last 30 days: first-pass yield, inspections done, rejected qty, quarantined (open NCRs), In QC-HOLD, pass-rate by inspection type and by QC gate, top defect codes, and a supplier scorecard.

erp.deetzo.com/#/production/quality
Quality Overview dashboard with KPIs for first-pass yield, inspections done, rejected qty, quarantined, in QC-HOLD and open NCRs, plus pass-rate by inspection type and by QC gate, top defect codes and a supplier scorecard
ScreenQuality Overview. The KPI strip, "Pass rate by inspection type" (by transaction) and "Pass rate by QC gate" (Receipt / In-process / Final), top defect codes, and the incoming supplier scorecard.
  • First-pass yield is true first-pass: inspections are grouped by lot (then source + product), and only the earliest attempt per group counts — a lot that failed, was reworked, then passed scores as its first (fail) attempt. Rework can't inflate FPY.
  • Pass rate by QC gate groups by the stage the inspection stored (first-article / in-process / final), so you can see where quality slips, not just the overall number.
  • Supplier scorecard scores incoming quality per supplier — pass rate, open NCRs, and top defect — and sorts worst-first. It also surfaces on the supplier profile, RFQ comparison, and the PO picker.
09

Scenarios — end-to-end playbooks

The common routes through the module, start to finish.

Sales order through shipment replenish

Confirm the sales order for a finished good. Its approved manufacture BOM uses two of a raw material and one sub-assembly. The sub-assembly has its own approved manufacture BOM and one raw material of its own. Neither raw material has a BOM. Stock of all four starts at zero.
Replenish. Make the finished good and the sub-assembly. Buy both raw materials. Create draft WO on a Make pegged to the sales order keeps that link. A Make pegged only to the parent work order is saved as its child.
Child WO on the finished-good order raises a draft for the short sub-assembly. The raw material stays on Request or Raise PO. Asking again for the same shortage creates nothing. A draft or submitted purchase order is not supply until it is approved, and an approved requisition still leaves the Buy row until it becomes that purchase order.
Issue, receive, ship, invoice. Issue material on the released order. The finished-goods receipt raises the sales-order produced quantity. The delivery note does not move stock. Stock and cost of goods leave when the tax invoice is finalised.
Two stops along the way. Cancelling an order that still has material issued puts that material back in stores. A blocking inspection shows Quality hold and refuses completion until it passes, or until someone who can approve quality records a reason.

Make-to-stock, clean run happy path

Approve the BOM. Draft → submit → approve. Only an approved recipe is buildable.
Create & release the work order. Release reserves every component and spawns the first-article inspection.status: draft → released
Run the stages. Start each stage, report good output, pass any in-process QC gate, mark complete.stage: pending → in_progress → completed
Complete the WO. Readiness check passes, final inspection accepted, good units received to FG.ledger: wo_receipt (+) · WIP → Inventory

Incoming reject supplier issue

Receive the PO (GRN) and split accepted vs rejected on the receipt.
Rejected units raise an NCR (source: GRN) and never enter good stock.ledger: no stock added for rejects
Disposition the NCR — return to vendor, scrap, or use-as-is. The supplier scorecard reflects the miss.

Blocking incoming gate QC-HOLD

Set a Receipt control point to Block. Bind a template, apply to the product(s).
Receive the goods. Accepted qty goes to QC-HOLD, not on-hand.ledger: grn_qc_hold (+) · In QC-HOLD KPI ↑
Inspect. Accepted qty releases to good stock; rejected qty leaves the hold into an NCR for disposition.ledger: grn_qc_release (+) · qc_quarantine (−) · In QC-HOLD KPI ↓

In-process fail → rework defect recovery

A stage fails its QC gate (or reports scrap). An NCR is raised for the bad units.
Disposition as rework. A linked rework work order is created; the NCR sits at Re-inspection.
Rework WO completes, fixed units return to finished goods and are re-inspected; an approver then verifies and closes the NCR.

Subcontract / job-work outside vendor

Send material out on a job-work challan (ITC-04).ledger: job_work_out (−)
Receive the made item back from the vendor.ledger: job_work_produced / job_work_received (+)
Any reject at inward raises an NCR against the job-work source.
10

Quick reference

The tables to keep open while you learn.

Routes

ScreenRouteNeeds
Work Orders/productioncanManageWorkOrders
Bill of Materials/bomcanManageBom
Work Centres/bom/work-centrescanManageBom
Control Points/production/control-pointscanManageWorkOrders
Quality Templates/production/quality-templatescanManageWorkOrders
Inspection Worklist/production/inspectionscanManageWorkOrders
Quality (NCR)/production/ncrcanManageWorkOrders
Quality Overview/production/qualitycanManageWorkOrders
Lot Traceability/production/lot-tracecanManageWorkOrders

Key states, at a glance

ConceptValues
Work-order statusdraft · released · in_progress · on_hold · completed · cancelled
Stage statuspending · in_progress · awaiting_inspection · completed · skipped
BOM statusdraft · under_review · approved · rejected · obsolete
BOM typemanufacture · phantom · kit · subcontract
Inspection statusdraft · pending · in_progress · passed · failed · on_hold
QC gate (stage)receipt · firstArticle · inProcess · final · preDispatch
QC operationreceipt · manufacturing · delivery
Fail behaviourblock · warn (there is no "none")
NCR dispositionopen · rework · scrap · useAsIs · returnToVendor
NCR severityminor · major · critical
The one mental model to keep

Reserve → consume → inspect → receive. Releasing reserves; issuing consumes; every gate inspects; completion receives. The stock ledger names each step, and quality can hold any of them. Master those four verbs and the rest is detail.