Subcontracting MRP - Introduction & Executive Overview
Strategic architectural overview of the Subcontracting & External Processing domain, exploring vendor job-work orders, consignment stock tracking, scrap reconciliation, and service valuation.
Subcontracting & External Processing Domain Design
Modern manufacturing models frequently rely on specialized external partners for specialized production phases: heat treatment of forged alloys, multi-layer anodizing, precision galvanization, embroidery on apparel panels, or high-density surface mount assembly. In these workflows, raw materials or semi-finished sub-assemblies leave enterprise premises to be processed by third-party contractors before returning as finished goods or advanced WIP.
The Subcontracting & External Processing domain acts as the sovereign authority governing outside manufacturing operations. It oversees Subcontracting Job Orders, raw material consignment dispatch tracking (Delivery Challans), contractor yield/loss ratios, outside processing service charge valuation, and physical scrap reconciliation.
By establishing an isolated Bounded Context, external vendor processing and consigned stock lifecycles remain cleanly segregated from internal machine routing, general warehouse inventory balances, standard supplier procurement, and double-entry accounting ledgers.
1. Business Drivers & The Outside Processing Blindspot
When enterprises manage subcontracting through ad-hoc purchasing or informal warehouse shipments, material tracking descends into a severe operational blindspot:
flowchart TD
subgraph Antipattern["Without Subcontracting Domain: Consignment Blindspots"]
LostStock["Ghost Consignment Stock<br/>Raw materials written off as consumed the moment they leave the dock, hiding assets"]
YieldTheft["Uncontrolled Contractor Yield<br/>Third-party vendors reporting high scrap rates without accountability or contractual gates"]
BillingChaos["Double-Billed Assemblies<br/>Paying for both vendor processing services and replacement materials after excessive scrap"]
ComplianceRisk["Statutory Tax Vulnerability<br/>Dispatching goods to external premises without legally compliant delivery challans"]
end
subgraph Solution["With Subcontracting Domain: Strict Domain-Driven Architecture"]
CustodialTracking["Custodial Consignment Location<br/>Stock remains on the enterprise balance sheet under external vendor custody"]
ContractualYieldLocks["The Expected Yield Invariant<br/>Output quantities programmatically validated against engineering BOM consumption ratios"]
CleanServiceBilling["Decoupled Service Valuation<br/>Vendor bills charged purely for processing service fees, distinct from material costs"]
FormalChallanRegisters["Delivery Challan State Machines<br/>Every physical transit governed by statutory transit documents and return windows"]
end
Antipattern -.->|Solved By Domain-Driven Design| Solution
The Cost of Subcontracting Blindspots
- Ghost Consignment Inventory: When raw materials sent to an external plater or dyer are immediately expensed or removed from the balance sheet upon dispatch, millions of dollars in valuable company assets vanish from accounting records.
- Contractor Shrinkage & Yield Losses: In the absence of strict engineering consumption formulas, contractors can report excessive scrap (e.g., claiming a $15%$ loss when the standard is $3%$), siphoning surplus raw materials without detection.
- Conflated Material & Service Billing: Attempting to model subcontracting as a standard purchase order conflates the cost of the raw components with the service fee for processing, distorting production cost accounting.
- Statutory Non-Compliance: Many tax jurisdictions mandate formal, serialized Delivery Challans with strict statutory return windows (e.g., materials must return within 180 days) to prevent unauthorized commercial diversion.
Domain-Driven Design resolves these challenges through custodial consignment tracking, non-negotiable yield invariants, and immutable challan registries.
2. Core Strategic Pillars of the Subcontracting Domain
The Subcontracting bounded context is anchored by seven foundational architectural pillars:
flowchart TD
MRP_Sub["Subcontracting Domain Core"]
P1["1. Custodial Stock Invariant<br/>Dispatched components remain enterprise property under vendor custody"]
P2["2. Job-Work Order Aggregate<br/>Explicit contractual scope for outside processing operations"]
P3["3. The Expected Yield Invariant<br/>Return quantities verified against BOM conversion ratios"]
P4["4. Statutory Delivery Challans<br/>State-governed transit documents with return deadlines"]
P5["5. Two-Tier Material Consumption<br/>Consigned dispatch separated from vendor production report"]
P6["6. Asynchronous Goods Return Intake<br/>Warehouse dock receipts matched against active job orders"]
P7["7. Scrap & Tolerance Reconciliation<br/>Contractor variance recovery and debit note compensation"]
MRP_Sub --> P1
MRP_Sub --> P2
MRP_Sub --> P3
MRP_Sub --> P4
MRP_Sub --> P5
MRP_Sub --> P6
MRP_Sub --> P7
1. Custodial Consignment Invariant
Raw materials dispatched to a subcontracting vendor are relocated to a specialized Vendor Custodial Location. They remain enterprise balance-sheet assets until the finished processed goods are received and material consumption is formally confirmed.
2. Job-Work Order Aggregate
External processing is governed by an explicit Subcontracting Order (SCO). The SCO defines the target parent item, ordered quantity, contracted processing service fee per unit, agreed scrap tolerances, and associated engineering BOM revision.
3. The Expected Yield Invariant
The domain enforces the mathematical relationship: $\text{Raw Materials Dispatched} \times \text{BOM Yield Factor} = \text{Finished Goods Returnable} + \text{Allowable Scrap}$. Receipts departing from this equation trigger mandatory variance holds.
4. Statutory Delivery Challan Registration
Movement of goods from the enterprise warehouse to the vendor facility requires a formal Delivery Challan. Challans track dispatched batch numbers, customs valuations, transit carriers, and legally mandated return deadlines.
5. Two-Tier Material Accounting
Material tracking is separated into two tactical events: Consignment Dispatch (transferring stock from warehouse to vendor custody) and Processing Backflush (relocating stock from vendor custody to work-in-progress absorption upon receipt of finished assemblies).
6. Asynchronous Receipt Choreography
When processed goods arrive at the receiving dock, the warehouse emits a SubcontractGoodsReceived event. Subcontracting consumes this event to evaluate yield, update job order fulfillment, and authorize service invoicing.
7. Scrap & Variance Reconciliation
Unprocessed raw materials must be returned or accounted for. If a contractor reports scrap exceeding the contracted scrap allowance, the domain generates a Consignment Variance Claim, authorizing accounts payable to debit the excess loss from the vendor’s service invoice.
3. High-Level Inter-Domain Choreography
Subcontracting orchestrates external factory operations and integrates with Purchasing, Inventory, Accounting, and In-House MRP:
flowchart TD
Sub["Subcontracting MRP Domain<br/>Job-Work Orders & Consignment"]
MRP["In-House MRP<br/>Multi-Stage Production"]
Inventory["Inventory / WMS<br/>Consignment Dispatch & Receiving"]
Purchase["Purchasing<br/>Service Contracts & POs"]
FMS["Accounting / FMS<br/>Service Expense & WIP Absorption"]
MRP -->|"OutsideOperationRequired"| Sub
Sub -->|"ConsignmentPickRequested"| Inventory
Inventory -->|"ConsignmentDispatched"| Sub
Inventory -->|"SubcontractGoodsReceived"| Sub
Sub -->|"ServiceFeeApproved, ScrapVarianceLogged"| FMS
Sub -->|"ServicePurchaseOrderNeeded"| Purchase
| Integrating Context | Handled Interaction | Downstream Operational Materialization |
|---|---|---|
| In-House MRP | Consumes OutsideOperationRequired | Instantiates a Subcontracting Order to handle an intermediate routing step (e.g., powder coating). |
| Inventory / WMS | Emits ConsignmentPickRequested | Directs warehouse pickers to assemble components into a staging bay for vendor dispatch. |
| Inventory / WMS | Consumes SubcontractGoodsReceived | Validates return quantities against active job orders and triggers quality assurance inspection. |
| Purchasing | Emits ServicePurchaseOrderNeeded | Establishes a service contract purchase order to remunerate the vendor for processing labor. |
| Accounting (FMS) | Emits ServiceFeeApproved | Debits production WIP and credits Accounts Payable (AP) for outside processing service fees. |
4. Architectural Domain Blueprint Directory
Explore the tactical models, invariants, and workflows across the Subcontracting domain chapters:
- Bounded Context & System Boundaries: Operational scope, outside processing boundaries, out-of-scope concerns, and Anti-Corruption Layer (ACL) translation interfaces.
- Ubiquitous Language & Domain Glossary: Canonical subcontracting terminology, job-work documents, consignment states, and challan terms.
- Structural Topology & Domain Model: Subcontracting aggregate roots, vendor location hierarchies, delivery challan models, and component allocation entities.
- Domain Invariants & Business Rules (“The Law”): The Expected Yield Invariant, custodial asset locks, challan return expiration limits, and scrap tolerance caps.
- Operational Workflows & State Machines: Job order lifecycles, consignment dispatch, receipt inspection, and material consumption workflows.
- Domain Events & Integration Contracts: Authoritative catalog of emitted subcontracting domain events, payload schemas, and downstream integrations.
- Audit Trail, Governance & Compensation: Consignment audits, contractor scrap claim reconciliation, return-to-vendor (RTV) workflows, and debit note recoveries.