MRP / In-House MRP

In-House MRP - Introduction & Executive Overview

Strategic architectural overview of the In-House Manufacturing & MRP domain, exploring shop floor execution, capacity routing, work order lifecycles, and WIP valuation.

In-House Manufacturing & MRP Domain Design

Transforming raw commodities and fabricated sub-assemblies into high-value finished products is the core operational capability of industrial manufacturing enterprises. On the factory shop floor, complex operations proceed in precise mechanical sequences: CNC machine centers cut stamped sheets, automated surface-mount lines populate circuit boards, manual assembly technicians install wire harnesses, and quality inspectors perform rigorous tolerance testing.

The In-House Manufacturing & Material Requirements Planning (MRP) domain operates as the authoritative sovereign home for all internal manufacturing operations. It governs factory shop floor routing topologies, machine work center capacity planning, production work order lifecycles, raw material backflushing, standard scrap allowances, and Work-In-Progress (WIP) asset valuation.

By establishing a dedicated Bounded Context, factory floor execution and engineering recipes remain cleanly decoupled from warehouse storage bin allocations, commercial customer quotes, supplier purchasing terms, and statutory accounting ledgers.


1. Business Drivers & The Shop Floor Black Box Problem

When industrial enterprises operate without an isolated manufacturing domain, shop floor operations degrade into an unmeasured “black box”:

flowchart TD
    subgraph Antipattern["Without In-House MRP Domain: Black Box Factory Floor"]
        UntrackedWIP["Invisible Work-In-Progress<br/>Thousands of uncompleted assemblies lingering on factory floors without tracking"]
        MachineBottlenecks["Unplanned Machine Overloads<br/>Critical work centers overloaded while secondary machines remain idle"]
        ScrapBlindness["Unmeasured Scrap Losses<br/>Excessive raw material wastage hidden within broad bulk inventory write-offs"]
        RecipeDrift["Uncontrolled Recipe Mutations<br/>Operators modifying assembly steps ad-hoc without formal engineering revisions"]
    end

    subgraph Solution["With In-House MRP Domain: Strict Domain-Driven Architecture"]
        TransparentWIP["Discrete Work Order Tracking<br/>Real-time visibility into every work order station and operation sequence"]
        FiniteCapacityEngine["Work Center Capacity Routing<br/>Operations scheduled against finite machine hours and setup times"]
        ScrapToleranceLaw["Standard vs Actual Scrap Gates<br/>Automatic variance detection comparing actual material burn against standard scrap"]
        LockedEngineeringBOM["Immutable Approved Recipes<br/>Work orders execute against formally approved, frozen BOM revisions"]
    end

    Antipattern -.->|Solved By Domain-Driven Design| Solution

The Cost of Manufacturing Opacity

  • Invisible Work-In-Progress (WIP): Without discrete work order tracking, millions of dollars in component inventory sit half-finished on the factory floor without clear completion dates or cost attribution.
  • Machine Center Bottlenecks: Scheduling production without factoring in machine setup times, changeovers, and finite work center hours leads to bottleneck queues, missed delivery deadlines, and idle operator labor.
  • Uncontrolled Material Scrap: When material wastage is simply absorbed into generic inventory adjustments, production managers cannot identify defective tooling, low-grade raw materials, or operator training deficiencies.
  • Engineering Recipe Drift: Allowing shop floor workers to assemble products based on tribal knowledge or outdated paper prints causes quality variance and customer product failures.

Domain-Driven Design restores manufacturing control through frozen engineering BOM recipes, deterministic work order state machines, and finite work center routing.


2. Core Strategic Pillars of the In-House MRP Domain

The In-House MRP bounded context is anchored by seven foundational architectural pillars:

flowchart TD
    MRP["In-House MRP Domain Core"]

    P1["1. Frozen Recipe Invariant<br/>Work orders bind permanently to approved BOM revisions"]
    P2["2. Discrete Work Center Routing<br/>Sequential operations with setup and run-time parameters"]
    P3["3. Deterministic Work Order States<br/>Draft -> Planned -> Released -> In-Progress -> Completed"]
    P4["4. The Scrap Tolerance Law<br/>Standard scrap allowances with strict variance tracking"]
    P5["5. Two-Stage Material Issuance<br/>Staging bin transfers separated from final backflush consumption"]
    P6["6. Asynchronous Inventory Materialization<br/>Raw material consumption and finished goods intake via events"]
    P7["7. Transparent WIP Accounting<br/>Real-time labor, overhead, and component cost absorption"]

    MRP --> P1
    MRP --> P2
    MRP --> P3
    MRP --> P4
    MRP --> P5
    MRP --> P6
    MRP --> P7

1. The Frozen Recipe Invariant

When a Work Order transitions to Released, it takes an immutable snapshot of the engineering Bill of Materials (BOM) and Routing sequence. Subsequent changes in the engineering catalog do not alter active shop floor work orders.

2. Work Center Capacity & Routing

Production processes are structured as sequential Routing Operations. Each operation is assigned to a specific Work Center and parameterized with setup duration, run-time per unit, labor requirements, and tooling dependencies.

3. Deterministic Work Order Lifecycle

Work orders move through rigid state machines: Draft, Planned (material requirements computed), Released (floor capacity locked), In-Progress (operations active), Completed (finished goods received), and Closed (financial costs settled).

4. The Scrap Tolerance Law

Every production recipe defines an allowable standard scrap rate (e.g., $2.5%$). If actual component consumption exceeds the allowable threshold, the work order halts or requires supervisor override, logging an explicit material variance.

5. Staging vs. Backflushed Consumption

Material issuance operates in two distinct tactical steps: Material Staging (physically transferring components from general warehouse bins to the factory floor station) and Production Consumption (backflushing or logging actual component burn upon operation completion).

6. Asynchronous Inventory & Stock Integration

The manufacturing domain does not mutate central warehouse bin balances directly. When components are consumed or finished assemblies are produced, MRP publishes domain events (ProductionMaterialConsumed, FinishedGoodsProduced) that Inventory consumes through an Anti-Corruption Layer.

7. Real-Time Work-In-Progress (WIP) Valuation

Every work order continuously accumulates production costs: raw material component costs, direct labor hours, and machine overhead absorption rates. Upon work order completion, accumulated WIP seamlessly rolls into finished goods inventory assets.


3. High-Level Inter-Domain Choreography

In-House MRP orchestrates factory floor execution and integrates with PIM, Inventory, Purchasing, and Accounting:

flowchart TD
    MRP["In-House Manufacturing (MRP)<br/>Work Orders & Routing Execution"]

    PIM["PIM / Engineering<br/>Canonical BOM Recipes"]
    Inventory["Inventory / WMS<br/>Component Staging & Finished Goods"]
    Purchase["Purchasing<br/>Raw Material Replenishment"]
    FMS["Accounting / FMS<br/>WIP & Production Variances"]

    PIM -->|"BOMRevisionApproved"| MRP
    MRP -->|"MaterialShortageIdentified"| Purchase
    MRP -->|"MaterialPickRequested"| Inventory
    Inventory -->|"MaterialStagedAtWorkCenter"| MRP
    MRP -->|"FinishedGoodsProduced, ProductionVarianceLogged"| FMS
Integrating ContextHandled InteractionDownstream Operational Materialization
PIM / EngineeringConsumes BOMRevisionApprovedIngests new component formulations and assembly trees into the factory production registry.
Inventory / WMSEmits MaterialPickRequestedGenerates warehouse picking waves to transport raw materials to shop floor staging bins.
Inventory / WMSEmits FinishedGoodsProducedCreates an inbound warehouse putaway task to move completed items into sellable storage bins.
PurchasingEmits MaterialShortageIdentifiedTriggers automated purchase requisitions for components whose stock is insufficient for scheduled work orders.
Accounting (FMS)Emits FinishedGoodsProducedCredits Work-In-Progress (WIP) and debits Finished Goods Inventory; records labor/overhead absorption.

4. Architectural Domain Blueprint Directory

Explore the tactical models, invariants, and workflows across the In-House Manufacturing domain chapters:

  1. Bounded Context & System Boundaries: Manufacturing scope, work center boundaries, out-of-scope concerns, and Anti-Corruption Layer (ACL) interfaces.
  2. Ubiquitous Language & Domain Glossary: Canonical manufacturing terminology, routing concepts, work order states, and scrap classifications.
  3. Structural Topology & Domain Model: Work center topologies, machine capability matrices, work order aggregate roots, and routing operation entities.
  4. Domain Invariants & Business Rules (“The Law”): The Frozen Recipe Invariant, scrap tolerance gates, machine capacity limits, and operation sequence dependencies.
  5. Operational Workflows & State Machines: Work order scheduling, material staging, operation progress reporting, quality inspection, and closing lifecycles.
  6. Domain Events & Integration Contracts: Authoritative catalog of emitted manufacturing domain events, integration payload schemas, and downstream triggers.
  7. Audit Trail, Governance & Compensation: Machine maintenance change logs, scrap reconciliation, work order teardown, and production variance adjustments.

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