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.
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.
Which SOP covers which stage
| SOP | Layer | Covers | Feature 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 |
SOP 1 — Make-to-Stock Production Run (Base)
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.
This run walks the Manufacturing Order lifecycle end to end:
-
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.
-
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.
-
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.” -
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 byQuantity 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. -
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.
-
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 movementflow '−'per stocked component (quantity = its Required Quantity, and sets Consumed = Required) and oneflow '+'for the finished good. Status becomes Done; Quantity Produced, Actual End andstock_postedare 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. -
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.
SOP 2 — Advanced Work-Order Run with a QC Gate
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.
The Work Order lifecycle you are driving:
-
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. -
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.
-
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. -
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 with20,30… — they sort ascending by number.⚠️The operation number is not auto-incremented — it stays at10unless you change it, so several steps left at 10 will sort together. Bump it yourself for each step. -
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. -
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.
-
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. -
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.
-
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.
-
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
manufacturing_requisition. See Material Requisitions.
Only the Draft → Approved transition is automated. The other statuses are valid badges/filters but have no built-in trigger in this feature:
-
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. -
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. -
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”. -
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. -
(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)
manufacturing_quality permission. See Quality Control.
NCR lifecycle (statuses are free-set — there are no enforced transition guards):
CAPA lifecycle:
-
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. -
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.
-
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. -
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. -
Progress and verify the CAPA
Advance the CAPA status through Assigned → In Progress → Verification → Completed as the action is worked and its effectiveness verified.
-
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.
SOP 5 — Engineering Change (ECO → new BOM version)
manufacturing_eco. See
Engineering Changes.
ECO lifecycle:
-
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. -
Submit for review
Open the ECO (View) and, while Draft, click Submit for Review. Status becomes Submitted (message: “ECO submitted for review”).
-
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. -
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.
-
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
manufacturing_costing. See Production Costing.
Variance-status bands (by absolute variance %):
-
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. -
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. -
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. -
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)
Work Order & Operations (Advanced — SOP 2)
Material Requisition (SOP 3)
Inspection · NCR · CAPA (SOP 4)
Engineering Change Order (SOP 5)
Costing (SOP 6)
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.
| SOP | Module toggle | Permission 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.