Production Reference Public

Workflows & SOPs

Reference · Workflows Workflows & SOPs The whole module, wired together. This page walks you through six end-to-end Standard Operating Procedures — from a simple make-to-stock run…

Guide version: r1 Module version: 1.0.0 Updated: 2026-07-22 Estimated time: 20 min 1 views
Reference · Workflows

Workflows & SOPs

The whole module, wired together. This page walks you through six end-to-end Standard Operating Procedures — from a simple make-to-stock run that posts real stock, up to a quality-gated advanced work order with requisitions, non-conformance handling, engineering change, and cost-variance review. Each SOP names the exact screen and button for every step and links to the feature page behind it.

????
How to use this page. Every SOP opens with a purpose box (who does it, and what must be true before you start), a row of the roles involved, then a numbered click-path. Where a screen shows a confirmation dialog or blocks you with an error, that exact text is quoted in a callout so there are no surprises. Cross-links jump to the detailed feature page for the screen you are on.
⚠️
Two layers, two different order objects. ERPat ships two production layers. Manufacturing Orders (Base Production, module_production) post real stock to Inventory on completion. Work Orders (Advanced Manufacturing, module_manufacturing) track shop-floor operations, labor and QC but do not post stock. SOP 1 uses Manufacturing Orders; SOPs 2–6 use the Advanced Work-Order world. Know which one you are in.

The master production pipeline

Every SOP on this page is a slice of one big loop. Read left to right: you plan the run, set up the recipe and resources, produce, inspect, cost it, and close it out.

Plan
Raise the order
Setup
BOM · work centers · routing
Produce
Issue materials · run ops
Inspect
QC · NCR · CAPA
Cost
Standard vs actual
Close
Complete · post · review

Which SOP covers which stage

SOPLayerCoversFeature page
1 · Make-to-Stock Run Base Work Center → BOM → MO → Confirm → Start → Done (posts stock) Manufacturing Orders
2 · Advanced WO with QC gate Advanced WO → routing → requisition & issue → run ops → inspect → pass/fail Work Orders
3 · Material Requisition & Issue Advanced Requisition → approve → issue (consumption log) Material Requisitions
4 · Non-Conformance Handling Advanced Inspection fails → NCR → disposition → CAPA → close Quality Control
5 · Engineering Change Advanced Raise ECO → submit → approve → implement → new BOM version Engineering Changes
6 · Costing & Variance Advanced Standard cost → actuals → variance review Production Costing
????
New to the module? Do the four setup steps in Getting Started first (migrate, enable the module, grant permissions, verify routes), and skim Core Concepts so the Work Center → BOM → Order flow makes sense before you follow SOP 1.

SOP 1 — Make-to-Stock Production Run (Base)

????
Purpose. Produce a batch of a finished good and have ERPat automatically consume the raw materials and add the finished stock to Inventory. Who. A production planner sets it up; a supervisor/operator runs it. Preconditions: the finished good and every stocked component already exist as Inventory Items with a default variant (stock is tracked against items.default_variant_id); the units you need exist; and you have the production_create / production_update permissions. This is the only SOP that moves real stock.
Planner Supervisor Operator Warehouse

This run walks the Manufacturing Order lifecycle end to end:

Draft
editable, no stock
Confirmed
components snapshotted
In Progress
actual start stamped
Done
stock posted (+/−)
  1. Set up your Work Center(s)

    Once per resource. Go to Production → Work Centers and create a station/machine/line with its code, title, capacity per hour, cost per hour, and status. These feed the order's optional Work Center dropdown and each routing operation. Details on Work Centers.

  2. Build the BOM (recipe + routing)

    In Production → Bill of Materials create the BOM header for the finished good (output quantity + unit), then on its Components tab add each raw-material line (item, quantity, unit) and on its Operations tab add the routing steps (sequence, work center, duration). Make sure the BOM's output quantity is correct — it is the scaling basis at Confirm. Full detail on Bill of Materials.

  3. Create the Manufacturing Order (Draft)

    Go to Production → Manufacturing Orders and click Add Manufacturing Order. Pick the Bill of Materials — the Finished Good and Unit auto-fill from the BOM. Enter Quantity to Produce, and optionally set Work Center, Priority, Planned Start/End, and Notes. Click Save. The order appears as Draft with an auto reference like MO-00007.

    ????
    The BOM is optional at this point, but it is mandatory to Confirm — pick it now so components can be planned in the next step. Modal help text reminds you: “Components are copied from the bill of materials when the order is confirmed.”
  4. Confirm the order (snapshot the components)

    Open the Draft order (click its reference) and click Confirm Order. You will see:

    ⚠️
    “Confirm this order? Components will be planned from the bill of materials.” — accept it. ERPat copies each BOM component onto the order, scaled by Quantity to Produce ÷ BOM output quantity, with Consumed = 0. Status becomes Confirmed.

    If the order has no BOM you are stopped with “Select a bill of materials before confirming the order.” Review the planned lines on the Components tab; you can still add or edit lines while Draft/Confirmed/In Progress.

    The snapshot happens only if the order has zero component lines. If you manually added a line before confirming, the BOM will not be snapshotted at all — remove your manual lines first if you want the BOM to populate them.
  5. Start production (optional, records the actual start)

    When work physically begins, click Start Production on the Confirmed order. Status becomes In Progress and the Actual Start timestamp is stamped. There is no confirmation dialog and no stock moves yet. You can skip straight to completion — completion will backfill the start time if it was never set.

  6. Complete — Mark as Done (stock posts to Inventory)

    When output is finished, click Mark as Done on a Confirmed or In Progress order:

    ⚠️
    “Complete this order? Components will be consumed and the finished good produced in inventory. This cannot be undone.” — accept it. ERPat writes one stock movement flow '−' per stocked component (quantity = its Required Quantity, and sets Consumed = Required) and one flow '+' for the finished good. Status becomes Done; Quantity Produced, Actual End and stock_posted are recorded.
    Completion is blocked if the finished good has no default variant: “The finished good has no inventory variant, so stock cannot be posted.” It also refuses if there are no components (“Add at least one component before completing the order.”) or if it is already done (“This manufacturing order is already completed.”). Fix the item's variant in Inventory first. Note there is no negative-stock check — completing can drive on-hand negative if a component is short.
  7. Verify on-hand and reports

    Confirm the finished good's on-hand rose and each component's on-hand fell in Inventory. Then open Production Reports and the dashboard widgets to check the MO status summary, output-by-period, and component consumption.

ℹ️
Abandoning a run. Any order that is not yet Done can be cancelled: click Cancel Order and accept “Cancel this manufacturing order?”. Status becomes Cancelled (terminal). Cancellation never reverses stock — but a Done order was the only state that posted stock, and Done orders cannot be cancelled.

SOP 2 — Advanced Work-Order Run with a QC Gate

????
Purpose. Run a shop-floor job through the Advanced Manufacturing layer: schedule a Work Order, build its operation routing, requisition and issue the materials, execute and report each operation, then gate the result with a quality inspection — pass ⇒ complete, fail ⇒ raise an NCR (SOP 4). Who. Planner, supervisor, operator, storekeeper, and QC inspector. Preconditions: the manufacturing module is enabled; active UOMs and Work Centers exist; an approved BOM exists if you want to attach one (only approved BOMs are selectable); and you hold manufacturing_work_order, manufacturing_requisition, and manufacturing_quality.
Planner Supervisor Operator Storekeeper QC Inspector

The Work Order lifecycle you are driving:

Draft
planned
Released
out to floor
In Progress
ops running
Completed
finished
  1. Configure Manufacturing first (once)

    In Manufacturing → Mfg Settings, confirm the number prefixes (e.g. WO, MR, MI, QCP, INS, NCR, CAPA, ECO) and make sure your Units of Measure and Work Centers exist and are active. See Manufacturing Overview and Mfg Work Centers & BOM.

  2. Create the (multi-level) BOM and get it approved

    Build the manufacturing BOM — components and routing — and advance it to approved; a sub-assembly with its own BOM makes it multi-level. Only approved BOMs appear in the Work Order and standard-cost dropdowns. See Mfg Work Centers & BOM.

  3. Create the Work Order

    Go to Manufacturing → Work Orders and click New Work Order. The Order # pre-fills (e.g. WO-000002). Enter the Product name, optionally pick the approved BOM, enter Quantity and UOM (both required), optionally set Work Center, Priority (Low/Normal/High/Urgent), and Planned Start/End. Leave Status = Draft and Save. Detail on Work Orders.

  4. Build the operation routing

    From the order's gear menu choose Operations. In the inline add row set the operation number (default 10), type an Operation Name (e.g. “Cutting”), pick the Work Center, enter planned Setup and Runtime minutes, and click Add Operation. Repeat with 20, 30… — they sort ascending by number.

    ⚠️
    The operation number is not auto-incremented — it stays at 10 unless you change it, so several steps left at 10 will sort together. Bump it yourself for each step.
  5. Raise a Material Requisition and issue the materials

    Follow SOP 3: create a requisition against this Work Order, add its line items, Approve it, then record each Material Issue. Only in-progress work orders appear in the requisition/issue Work Order dropdowns, so you may need to Start the order (next step) before issuing.

    Issuing materials here is a consumption/costing log only — it does not deduct Inventory stock, does not update the requisition line's Qty Issued, and does not advance the requisition status. Deduct real stock separately in the Inventory module.
  6. Release and start the order

    Open the order (View). While Draft, click Release and accept “Confirm this order?” → status becomes Released. Click Start (no dialog) → status becomes In Progress and the actual start time is recorded.

  7. Run operations and log labor / downtime

    On the Operations page, for each step click Start (Pending → In Progress), do the work, then Complete, entering completed and scrap quantities. Actual runtime is auto-computed from the start time — so you must Start a step before you can Complete it. Labor booked against the order shows read-only on the order detail as Labor Records; capture direct/indirect/setup/rework hours (and downtime) via Labor Tracking.

    ℹ️
    The detail-page progress bar tracks completed operations ÷ total operations; the list-page bar tracks quantity produced ÷ ordered. Completing operations does not roll up to the order's produced quantity, so the list bar can stay at 0% even when all operations are done.
  8. QC inspection — the gate

    Run a quality inspection against this order following Quality Control: open Manufacturing → Quality Control → Inspections → New Inspection, select the active QC Plan and this Work Order, enter Quantities, then record a Measured Value for each parameter. Each measurement auto-computes PASS / FAIL against the parameter's Min/Max and toasts “Measurement recorded - PASS” or “- FAIL”. Set the inspection's final Status and Overall Result manually.

  9. Pass ⇒ Complete the order

    If the inspection passes, open the order detail and click Complete, accepting “Mark this order as completed?”. Status becomes Completed and the actual end time is stamped. Then capture costs in SOP 6.

  10. Fail ⇒ raise an NCR

    If the inspection fails, do not complete the order — branch to SOP 4 (Non-Conformance Handling) to raise an NCR, choose a disposition, and open a CAPA.


SOP 3 — Material Requisition & Issue

????
Purpose. Formally request the materials a Work Order needs, get them approved, and record each physical hand-out to the floor. Who. A supervisor raises and approves the requisition; a storekeeper issues. Preconditions: the target Work Order is in-progress (only in-progress orders appear in the dropdowns), active UOMs exist, and you hold manufacturing_requisition. See Material Requisitions.
Supervisor Approver Storekeeper

Only the Draft → Approved transition is automated. The other statuses are valid badges/filters but have no built-in trigger in this feature:

Draft
add line items
Approved
Issue Materials unlocked
Partial
manual only
Completed
manual only
  1. Create the requisition (Draft)

    Open Manufacturing → Material Requisitions and click New Requisition. The Requisition # pre-fills (e.g. MR-000002). Pick the Work Order (in-progress only), set the Required Date, add Notes, and Save. It opens as Draft.

  2. Add the material line items

    From the row gear menu choose View. While Draft, click Add Item and enter the Item Name (free text — not a catalog picker), Required Quantity, and Unit of Measure; Save. Repeat for each material.

    ℹ️
    The Add Item button on the detail page only shows while Draft, but the standalone Items page always shows it — so you can still add lines after approval from there.
  3. Approve the requisition

    Back on the detail page (while Draft), click Approve. Status becomes Approved and the Approval Info panel records your name and the timestamp; the Issue Materials button unlocks.

    ⚠️
    Approve is a plain link with no confirmation dialog — clicking it approves immediately, and there is no revert-to-draft action. Success message: “Requisition approved”.
  4. Issue materials against the requisition

    On the Approved (or Partial) requisition, click Issue Materials. The Issue # is auto-filled (read-only, e.g. MI-000001). Select the Work Order, type the Item Name, optional Lot Number, enter Quantity, choose Unit of Measure, and optional Unit Cost (Total Cost = Quantity × Unit Cost, computed server-side). Save — “Material issued successfully”.

    Saving an issue does not deduct Inventory stock, does not increment the requisition line's Qty Issued (Remaining will not change), and does not advance the requisition status. This screen is a consumption/costing log only. Deduct real stock in Inventory, and update fulfilment/status manually if your process needs it.
  5. (Alternative) Record ad-hoc consumption with no requisition

    To log consumption without a requisition, open Material Issues → New Issue, select the in-progress Work Order, and enter Item, Lot, Quantity, UOM, and Unit Cost. Use the Work Order filter on the Material Issues list to find everything issued to an order (the issue's total cost feeds the actual material cost in SOP 6).


SOP 4 — Non-Conformance Handling (NCR → Disposition → CAPA)

????
Purpose. When an inspection fails (or a defect is observed), raise a Non-Conformance Report, decide what happens to the affected material, and open a Corrective & Preventive Action to fix the root cause and prevent recurrence. Who. A QC supervisor raises the NCR; a quality manager owns the CAPA. Preconditions: a failing inspection or observed defect, and the manufacturing_quality permission. See Quality Control.
QC Inspector QC Supervisor Quality Manager Assignee

NCR lifecycle (statuses are free-set — there are no enforced transition guards):

Open
reported
Investigating
root cause
Action Taken
CAPA applied
Closed
resolved
Rejected
dismissed

CAPA lifecycle:

Open
logged
Assigned
owner set
In Progress
being worked
Verification
effectiveness
Completed
done
Cancelled
dropped
  1. Raise the NCR

    Go to Manufacturing → Quality Control → NCR and click New NCR. Accept the NCR # (e.g. NCR-000001). Link the failing Inspection and/or Work Order, then enter Defect Type, Severity (Critical / Major / Minor), and a Description. Optionally add Root Cause, Qty Affected, Disposition, and Estimated Cost. Leave Status = Open and Save.

  2. Investigate and record the root cause

    Edit the NCR, fill in Root Cause as you investigate, and move Status to Investigating, then Action Taken as work proceeds.

  3. Choose a disposition for the affected material

    Set Disposition to Use As Is, Rework, Scrap, or Return to Supplier. This records the decision on the NCR.

    Quality Control is record-keeping only — choosing Scrap / Rework / Return does not move or adjust any Inventory stock. Adjust real stock separately in the Inventory module.
  4. Open a CAPA against the NCR

    From the NCR row gear menu click CAPA to open the CAPA for NCR screen (it shows the NCR details plus its CAPAs). Click New CAPA, accept the CAPA # (e.g. CAPA-000001), choose Type (Corrective and/or a separate Preventive), set Priority, enter a Title and Description, and optionally Root Cause, Action Plan, and Verification Method. Assign it to a staff member, set a Due Date, and Save.

    ⚠️
    The New CAPA modal does not pre-fill the Related NCR — you must select the NCR from the dropdown yourself, or the CAPA won't be linked and won't appear in that NCR's list.
  5. Progress and verify the CAPA

    Advance the CAPA status through AssignedIn ProgressVerificationCompleted as the action is worked and its effectiveness verified.

  6. Close the NCR

    When the corrective actions are effective, edit the NCR and set Status to Closed. The NCR + CAPA together are your permanent quality record.

ℹ️
Pass/fail is spec-driven. A measurement is FAIL only when its value is below the parameter's Min or above its Max; a parameter with no Min/Max always records PASS. Recording measurements never rolls up to the inspection verdict — the inspection Status and Overall Result are set by hand, so an inspection can be marked Passed even if a measurement failed. Decide deliberately before raising an NCR.

SOP 5 — Engineering Change (ECO → new BOM version)

????
Purpose. Change a BOM in a controlled, auditable way — swap a component, adjust quantities, correct an error, or retire a BOM — with a review/approval trail. Who. An engineer raises and implements; an engineering manager approves. Preconditions: the target BOM already exists in the Manufacturing BOM module and you hold manufacturing_eco. See Engineering Changes.
Engineer Reviewer Approver

ECO lifecycle:

Draft
being prepared
Submitted
awaiting review
Under Review
evaluated
Approved
authorized
Implemented
change applied
Rejected
declined
  1. Raise the ECO (Draft)

    Go to Manufacturing → Engineering Change Orders and click New ECO. The ECO # pre-fills (e.g. ECO-000007). Select the affected BOM, set Change Type (New / Revision / Obsolete), choose a Priority, write the Description of what is changing, add a Reason for Change, and optionally an Effective Date. Save — the ECO is created as Draft.

    ⚠️
    Always pick a BOM. The BOM is required (and its DB column is NOT NULL with a foreign key); a blank BOM will fail to save. Description is required too.
  2. Submit for review

    Open the ECO (View) and, while Draft, click Submit for Review. Status becomes Submitted (message: “ECO submitted for review”).

  3. Move it into review, then approve or reject

    The Approve and Reject buttons only appear when status is Under Review. Approve records you as approver with a timestamp (“ECO approved”) and moves it to Approved; Reject records the reviewer and moves it to Rejected (“ECO rejected”).

    Known workflow gap: there is no button to move an ECO from Submitted to Under Review, so a Submitted ECO can get stuck — the status must be set to Under Review by other means before Approve/Reject appear. Also, the Reject button does not prompt for a reason, so Review Comments stay empty unless a reason is posted through the API.
  4. Implement the change in the BOM module

    After approval, perform the actual BOM edit in the BOM module — apply the component change and bump the BOM version. The ECO record itself does not modify the BOM; it authorizes and documents the change.

  5. Mark the ECO Implemented

    Return to the ECO detail and click Mark Implemented (only shown while Approved). Status becomes Implemented and your name + timestamp are recorded (“ECO implemented”). The ECO is now the permanent audit record for that BOM change.


SOP 6 — Costing & Variance Review

????
Purpose. Define what a product should cost (Standard Cost per approved BOM), capture what a finished job actually cost (Actual Cost per Work Order), then review the gap so managers can spot over-budget jobs. Who. A cost planner sets standards; an accountant records actuals; a manager reviews. Preconditions: the product has an approved BOM; the Work Order is completed to appear in the Variance dashboard; and you hold manufacturing_costing. See Production Costing.
Cost Planner Accountant Manager

Variance-status bands (by absolute variance %):

On Target
≤ 5%
Moderate
> 5% to 10%
High Variance
> 10%
  1. Set the standard cost

    Open Manufacturing → Production Costing (Standard Costs) and click New Standard Cost. Pick the approved BOM (only approved BOMs are listed), enter per-unit Material, Labor, Machine, and Overhead costs, set Effective From (and optionally Effective To / UOM / Notes), leave Set as Active = Yes, and Save. Total Cost is auto-summed.

    ⚠️
    Saving with Set as Active = Yes silently deactivates every other standard cost for the same BOM — there is only one active standard cost per BOM. Do not type Total Cost; it is computed.
  2. Capture the actual costs for a completed job

    Click Actual Costs → New Actual Cost. Select the Work Order, enter actual Material, Labor, Machine, Overhead, plus Scrap and Rework costs, and type the Standard Cost to benchmark against. Save — the system computes Total Actual, Variance (Total Actual − Standard), and Variance %. The Variance shows a red label when over standard and green when at/under.

    The Standard Cost on the Actual form is entered manually — it is NOT auto-pulled from the standard-cost record. Leave it at 0.00 and your Variance equals the whole Total Actual and Variance % shows 0. Positive variance = over budget (red); do not misread a red positive as savings.
  3. Review the Variance Analysis dashboard

    Click Variance Analysis. Read the four summary cards (Total Standard, Total Actual, Total Variance Over/Under/On Budget, Variance %), then scan the Variance by Work Order table for High Variance (>10%), Moderate (>5%), and On Target (≤5%) badges.

    ℹ️
    The dashboard only lists completed work orders, and it computes actual cost live from recorded Material Issues (material) and Labor Tracking (labor) — Machine and Overhead actuals show as 0 there. This is a separate data set from the manually-entered Actual Cost records, so the two can disagree.
  4. Drill into a work order

    Click a Work Order number in the table to open Order Cost Detail. Inspect the component-by-component Standard vs Actual breakdown (Material / Labor / Machine / Overhead) with per-line and total variance, read the headline Variance Status badge, and act — investigate material waste, labor overruns, or a stale standard. Click Back to return to the dashboard.


Status legend across all SOPs

The same colour language runs through every order, requisition, inspection, NCR, CAPA, ECO and cost record in the module. Use this as a quick decoder while you follow any SOP above.

Manufacturing Order (Base — SOP 1)

DraftNew, editable; no stock impact.
ConfirmedCommitted; BOM components snapshotted.
In ProgressProduction physically started.
DoneCompleted; stock posted (terminal).
CancelledAbandoned; no stock reversed (terminal).

Work Order & Operations (Advanced — SOP 2)

DraftPlanned, not released.
ReleasedConfirmed/released to the floor.
In ProgressProduction underway.
CompletedFinished (terminal).
CancelledAbandoned (terminal).
Op: PendingOperation step not started.
Op: In ProgressOperation being worked.
Op: CompletedOperation finished.

Material Requisition (SOP 3)

DraftItems editable; can be Approved.
SubmittedEnum value; no action sets it here.
ApprovedIssue Materials unlocked.
PartialPartly issued; issuing still allowed.
CompletedFully issued (manual only).
CancelledCancelled (no wired action).

Inspection · NCR · CAPA (SOP 4)

Measurement: PassWithin spec (Min/Max).
Measurement: FailBelow Min or above Max.
NCR: OpenDefect reported.
NCR: InvestigatingRoot-cause work.
NCR: Action TakenCorrective action applied.
NCR: ClosedResolved.
NCR: RejectedDismissed.
CAPA: OpenLogged.
CAPA: In ProgressBeing worked.
CAPA: VerificationEffectiveness check.
CAPA: CompletedDone and verified.
CAPA: CancelledCancelled.

Engineering Change Order (SOP 5)

DraftBeing prepared.
SubmittedAwaiting review.
Under ReviewExposes Approve/Reject.
ApprovedAuthorized; ready to implement.
ImplementedChange applied (terminal).
RejectedDeclined (terminal).

Costing (SOP 6)

ActiveLive standard cost for its BOM.
InactiveSuperseded; ignored by variance.
On TargetAbsolute variance ≤ 5%.
ModerateVariance > 5% to 10%.
High VarianceVariance > 10% — investigate.

Permissions you need per SOP

Each SOP is gated by the module toggle plus one or more permission keys. Grant these to the roles that run each procedure; see Permissions & Roles for the full matrix.

SOPModule togglePermission key(s)Notes
1 · Make-to-Stock Run module_production production, production_create, production_update, production_delete production_update runs every lifecycle action (confirm/start/complete/cancel).
2 · Advanced WO + QC module_manufacturing manufacturing_work_order, manufacturing_requisition, manufacturing_quality One key gates the whole of each controller (no per-action enforcement in code).
3 · Requisition & Issue module_manufacturing manufacturing_requisition Single key controls create/edit/approve/issue/delete.
4 · NCR & CAPA module_manufacturing manufacturing_quality Covers plans, inspections, measurements, NCR, and CAPA.
5 · Engineering Change module_manufacturing manufacturing_eco Gates the whole ECO area including all workflow actions.
6 · Costing & Variance module_manufacturing manufacturing_costing Gates Standard Costs, Actual Costs, Variance Analysis and drill-down.
????
module_manufacturing only takes effect while module_production is on — the Advanced sub-area sits beneath the master switch. If a whole SOP is inaccessible, check the module toggle before the permission key.

Where to go next

Was this guide helpful?

Report a content problem