What Is MRP and CRP?

The Working Definitions

Material Requirements Planning (MRP) computes what raw materials and components need to be purchased or produced to support the master production schedule. It traverses bills of materials (BOMs), applies lead times, and produces purchase orders and production work orders timed to meet the production plan.

Capacity Requirements Planning (CRP) validates whether the production plan is feasible against the available capacity of machines, labor, and other constrained resources. It identifies periods where the plan exceeds available capacity and flags them for resolution.

MRP and CRP work as a pair. MRP assumes capacity exists and computes material need; CRP checks whether that capacity actually exists. If CRP shows the plan is infeasible, the MPS must be adjusted and MRP re-run. This is the classic ERP planning cycle that most manufacturers have run for decades.

This page covers how each function works, where they're still useful, and the limitations that drove the development of more advanced planning methods (finite capacity scheduling, multi-echelon optimization, advanced planning systems).

Key Takeaways

How Horizon Builds on MRP and CRP

Horizon doesn't discard MRP the BOM explosion, lead time logic, and material netting are foundational and remain in the underlying math. What Horizon adds is the layers MRP and CRP don't provide: multi-echelon inventory optimization that handles uncertainty, finite capacity scheduling that integrates capacity into the planning math, and detailed scheduling that handles sequence-dependent setups.

The practical result is that what used to be a multi-step process MPS → MRP → CRP → manual iteration runs as an integrated calculation. The plan that emerges is both materially complete and capacity-feasible by construction, rather than requiring manual iteration to reach feasibility.

Integration with ERP is bidirectional. Horizon reads BOMs, routings, lead times, inventory, and open orders from ERP. Horizon writes back planned orders, schedule updates, and demand forecasts. The ERP remains the system of record for transactions; Horizon is the planning engine that decides what should happen next.

The honest scope: for very simple operations (single plant, small SKU count, stable demand, significant excess capacity), the ERP's built-in MRP/CRP is often sufficient. Horizon adds the most value where the operations are complex enough that MRP/CRP alone produces plans that don't survive execution.

Why MRP and CRP Still Matter Despite Their Age

MRP was developed in the 1960s; CRP a decade later. Both predate the computing power and mathematical methods that enable modern planning. So why are they still central to nearly every ERP and still the dominant planning approach in most manufacturers?

Three reasons. First, MRP's core logic exploding BOMs and applying lead times is correct and necessary. Whatever planning approach a company uses, the math of "to make 100 of A I need 200 of B and 50 of C, ordered to arrive before A is needed" is foundational. Modern planning systems still run MRP-style explosions; they layer additional capability on top.

Second, MRP is computationally tractable on huge problems. A manufacturer with 50,000 SKUs and complex BOMs can run MRP in minutes. Multi-echelon optimization or finite capacity scheduling on the same problem might take hours and require specialized infrastructure.

Third, MRP is well-understood by planners. The output is auditable: if a purchase order recommendation looks wrong, a planner can trace it back through the BOM, lead times, and demand to find the source. Black-box optimization that produces "better" answers but can't explain them often gets distrusted and bypassed.

What's changed is that MRP and CRP alone aren't sufficient for capacity-constrained, complex operations. The mathematical limits particularly the infinite-capacity assumption built into MRP produce plans that look correct on paper but don't survive execution. Modern systems wrap MRP with additional layers (finite capacity scheduling, multi-echelon inventory, ML-based forecasting) without discarding the underlying MRP math.

How MRP Works

The mechanics

  1. Start with the master production schedule (MPS): What finished products to make in what periods.
  2. Explode the BOM: For each finished product, look up the components required. For each component, look up its components, recursively, until you reach raw materials.
  3. Apply lead times: Each component has a lead time (manufacturing or purchasing). Offset the requirement date backward by the lead time to determine when the order needs to be placed.
  4. Net against inventory: Subtract current inventory and open purchase orders from gross requirements. The result is net requirements.
  5. Apply lot sizing: Group requirements into batches based on lot-sizing rules (economic order quantity, fixed batch, period of supply).
  6. Generate planned orders: Output purchase orders for raw materials and production work orders for sub-assemblies.

Worked example

Suppose Product A has BOM: 2x Component B + 1x Component C. Lead time for A is 1 week. Lead time for B is 3 weeks. Lead time for C is 2 weeks.

MPS requires 100 units of A in week 10.

MRP computes:

If inventory of B is 50 units, net requirement is 150 B, so place PO for 150 (or apply lot sizing if minimum order is 200, place PO for 200).

What MRP doesn't do

How CRP Works

The mechanics

  1. Take the production plan from MRP: The set of planned work orders with their start and end dates.
  2. Compute capacity required: For each work order, look up the routing which resources it uses and for how long. Sum the resource hours required by period.
  3. Compare to available capacity: Each resource has an available-hours-per-period (based on shift patterns, calendars, planned downtime).
  4. Identify overloads: Periods and resources where required capacity exceeds available capacity.
  5. Generate exceptions: Report the overloads to the planner for resolution.

What CRP doesn't do

The Classic MRP/CRP Cycle

  1. Generate MPS based on demand and inventory.
  2. Run MRP to produce material requirements and planned production orders.
  3. Run CRP to validate capacity feasibility.
  4. If CRP shows infeasibility, adjust the MPS (typically by deferring or splitting orders) and re-run MRP.
  5. Iterate until the plan is both materially complete (MRP) and capacity-feasible (CRP).
  6. Release the plan to execution.

In practice, the iteration is often manual and incomplete. Planners adjust the MPS based on judgment rather than systematic re-running, and capacity issues often surface during execution rather than during planning.

Where MRP and CRP Fall Short Today