MRP / Subcontracting MRP

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 ContextHandled InteractionDownstream Operational Materialization
In-House MRPConsumes OutsideOperationRequiredInstantiates a Subcontracting Order to handle an intermediate routing step (e.g., powder coating).
Inventory / WMSEmits ConsignmentPickRequestedDirects warehouse pickers to assemble components into a staging bay for vendor dispatch.
Inventory / WMSConsumes SubcontractGoodsReceivedValidates return quantities against active job orders and triggers quality assurance inspection.
PurchasingEmits ServicePurchaseOrderNeededEstablishes a service contract purchase order to remunerate the vendor for processing labor.
Accounting (FMS)Emits ServiceFeeApprovedDebits 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:

  1. Bounded Context & System Boundaries: Operational scope, outside processing boundaries, out-of-scope concerns, and Anti-Corruption Layer (ACL) translation interfaces.
  2. Ubiquitous Language & Domain Glossary: Canonical subcontracting terminology, job-work documents, consignment states, and challan terms.
  3. Structural Topology & Domain Model: Subcontracting aggregate roots, vendor location hierarchies, delivery challan models, and component allocation entities.
  4. Domain Invariants & Business Rules (“The Law”): The Expected Yield Invariant, custodial asset locks, challan return expiration limits, and scrap tolerance caps.
  5. Operational Workflows & State Machines: Job order lifecycles, consignment dispatch, receipt inspection, and material consumption workflows.
  6. Domain Events & Integration Contracts: Authoritative catalog of emitted subcontracting domain events, payload schemas, and downstream integrations.
  7. Audit Trail, Governance & Compensation: Consignment audits, contractor scrap claim reconciliation, return-to-vendor (RTV) workflows, and debit note recoveries.

Our Premium Sponsors

Obelaw is proudly open-source. Continued development, bug fixes, and community support are made possible by the generosity of our sponsors.

Sponsor Obelaw