Integrations
About Us
Request Demo
The math behind “what do we order”

What Is MRP? A Complete Guide to Material Requirements Planning

Material Requirements Planning is the calculation that converts a master production schedule and a bill of materials into a time-phased plan of what to buy and what to build, netted against on-hand inventory and worked backward through lead times. This is a full reference walkthrough of how that calculation actually runs: gross and net requirements, BOM explosion, lead-time offsetting, safety stock, lot sizing, a complete time-phased worked example, and where the method's real limits are.

By Andy Caccavaro·Published August 11, 2026

The short version

MRP (Material Requirements Planning) is a calculation, not a piece of software. It takes a master production schedule, explodes it into every component required using the bill of materials, nets that against on-hand inventory and scheduled receipts, and works backward from each item's lead time to say when an order actually has to be released. The output is a time-phased plan: order or build this quantity of this item by this date. It runs on three inputs, a master production schedule, a bill of materials, and item records, and it can be calculated by hand at a small enough scale. What changes with scale isn't whether the math works, it's how hard the math is to keep correct and current.

What MRP actually is, in one sentence

In one sentence

MRP is the calculation that takes a master production schedule and a bill of materials, nets them against on-hand inventory and scheduled receipts, and works backward through lead times to produce a time-phased plan of what to buy and what to build.

MRP isn't a piece of software, and it isn't a system in itself. It's a repeatable calculation: for every component of every item a business plans to produce, work out how much is needed in each period, subtract what's already available or already coming, and check whether there's enough lead time left to get more before it's needed. A planner has always been able to do this on paper or in a spreadsheet, one item and one period at a time. What changed over the decades is how many items, levels, and periods that calculation had to run across before software became the only practical way to do it fast enough.

That distinction matters for the rest of this guide, because the underlying logic doesn't change based on what's running it. A notebook, a spreadsheet, and a production ERP module are all doing the same arithmetic. What differs is how many components each can net correctly, how quickly each can redo the math when something changes, and how reliably each keeps every level of a multi-level bill of materials in sync.

The three inputs: MPS, BOM, and item records

MRP can't produce anything without all three of these. Missing or wrong data in any one of them doesn't make the calculation fail outright, it makes it confidently wrong, which in practice is worse than no plan at all.

  1. The Master Production Schedule (MPS)

    The MPS states what end items need to be completed, in what quantity, and in which time period, over the planning horizon. It's built from confirmed sales orders, a demand forecast, or a blend of both, and it's the starting point the entire calculation works backward from. Everything MRP calculates for components and raw materials is ultimately derived from the MPS.

  2. The Bill of Materials (BOM)

    The BOM defines the product structure: for one unit of a given item, which components are required and in what quantity. MRP uses that structure to calculate dependent material demand, translating a schedule for finished goods into a schedule for everything that goes into them. A BOM can be single-level, raw materials straight into a finished good, or multi-level, where a component is itself an assembled sub-item with its own BOM underneath it. The complete guide to BOMs covers this structure, BOM explosion, and BOM roll-up in full depth.

  3. Item and inventory records

    Every item carries its own planning data, and MRP needs all of it, not just a quantity on hand:

    • On-hand inventory: what's physically available right now.
    • Scheduled receipts: purchase or production orders already placed, with their expected arrival dates.
    • Lead time: how long a new order takes to arrive once it's released, whether purchased or manufactured.
    • Safety stock: the buffer quantity the plan is not allowed to fall below.
    • Lot-sizing rule: how a net requirement gets converted into an actual order quantity, exact match, a fixed batch size, or something else.

The same three inputs exist in a process environment, generally represented as a formula rather than a BOM, with constraints layered on top: batch size, yield, potency, shelf life, lot availability, and minimum production quantities all affect what counts as a feasible plan. The process manufacturing guide covers that environment in full; where the underlying structure should be called a BOM, a formula, or a recipe is covered in BOM vs. formula vs. recipe.

Independent vs. dependent demand

This distinction is the reason MRP exists as a separate discipline from ordinary inventory replenishment, so it's worth being precise about it before working through the calculation itself.

In one sentence

Independent demand comes from outside the production process and has to be forecasted or booked as an order. Dependent demand is derived mathematically from a parent item's plan through the bill of materials, and never needs to be forecasted on its own.

A finished good sold to a customer is independent demand: nothing inside the business dictates how many units will sell next month, so that number has to come from a forecast, a sales order, or both. Once the master production schedule says how many of that finished good will be built, though, the components required to build it are no longer uncertain. If one unit requires two of a given bracket, and the schedule calls for 150 units, the bracket's requirement is exactly 300, not an estimate. That's dependent demand, and it's calculated, not guessed.

This is also why applying an independent-demand forecasting method to a dependent-demand item, treating a component's historical consumption as if it were its own smooth, ongoing demand pattern, tends to produce a badly distorted picture. Component demand isn't smooth. It arrives in the lumps and batches dictated by the parent item's production schedule, and MRP is built specifically to calculate those lumps correctly instead of averaging them away.

How the calculation works, with a full worked example

The MRP calculation runs the same six-line logic for every item, in every period, working from the top of the bill of materials down. Each line depends on the ones above it in the same period, and on the running balance carried from the period before.

  1. Gross requirement

    The total quantity of the item needed in this period, from the MPS for a top-level item, or from a parent item's planned order release for a dependent-demand component.

  2. Scheduled receipts

    Orders already placed against this item that are due to arrive in this period. These are commitments already made, not proposals the calculation is generating.

  3. Projected available balance

    The running inventory position: the balance carried from the prior period, plus this period's scheduled and planned receipts, minus this period's gross requirement.

  4. Net requirement

    If the projected available balance would fall below safety stock, the net requirement is the amount needed to bring it back up to that floor. Otherwise, the net requirement is zero, meaning existing supply already covers the need.

  5. Planned order receipt

    The net requirement, adjusted for whatever lot-sizing rule applies to this item, rounded up to a batch size, for instance, rather than ordered in the exact net amount.

  6. Planned order release

    The planned order receipt, shifted earlier by the item's lead time. This is the date an order actually has to go out, purchased or put into production, for its receipt to land on schedule. This step is what's meant by lead-time offsetting, or time-phasing. Where that lead-time figure itself comes from, a static guess versus a number measured from real purchase and receipt history, is its own question, covered in vendor lead time and reorder points.

Level 0: the finished item, from the MPS

Take a finished item with these planning parameters: 60 units on hand, a safety-stock floor of 20 units, a 2-week lead time, and a lot-for-lot ordering rule (order exactly the net requirement, no batching). The master production schedule calls for 100 units complete in week 4 and 150 units complete in week 6. A scheduled receipt of 50 units, from an order already placed, is due in week 2.

Week12345678
Gross requirement000100015000
Scheduled receipts050000000
Projected available balance601101102020202020
Net requirement00010015000
Planned order receipt00010015000
Planned order release01001500000

Beginning on-hand: 60. Safety stock: 20. Lead time: 2 weeks. Lot-sizing: lot-for-lot. Every number in this grid follows directly from the six-line logic above, period by period.

Walk it period by period and the logic holds together cleanly. Through week 3, the balance stays comfortably above the 20-unit floor, so nothing nets. In week 4, the 100-unit requirement would draw the balance down to 10, which is below safety stock, so a net requirement of 10 appears, exactly enough to bring the balance back to 20. Offset two weeks for lead time, and that order has to release in week 2. In week 6, the 150-unit requirement would drive the balance to -130 without intervention, so the net requirement is 150, the full gap back up to the safety-stock floor. Offset again by the 2-week lead time, and that release lands in week 4.

Level 1: BOM explosion into a dependent-demand component

Say this finished item's bill of materials calls for two units of a particular bracket. BOM explosion means the bracket's gross requirement in any period is exactly the finished item's planned order release in that same period, multiplied by the quantity per BOM, not a separate forecast. The finished item released 10 units in week 2 and 150 units in week 4 above, so the bracket's gross requirements are 20 in week 2 and 300 in week 4, and nowhere else. That's dependent demand: derived, not estimated.

Give the bracket its own planning parameters: 25 units on hand, a safety-stock floor of 10, a 1-week lead time, lot-for-lot, and a scheduled receipt of 15 units due in week 1.

Week12345678
Gross requirement02003000000
Scheduled receipts150000000
Projected available balance4020201010101010
Net requirement0002900000
Planned order receipt0002900000
Planned order release0029000000

Beginning on-hand: 25. Safety stock: 10. Lead time: 1 week. The gross requirements in weeks 2 and 4 come directly from the finished item's planned order releases above, not from a separate forecast.

Week 4's 300-unit requirement is the one that matters: it would take the balance to -280, so the net requirement is 290, enough to close that gap and restore the 10-unit floor. Offset by the bracket's 1-week lead time, and its planned order release lands in week 3, one week ahead of when the finished item's own production actually consumes it. This is BOM explosion and lead-time offsetting working together across two levels: a single top-level schedule, processed correctly, produces a fully time-phased plan for everything underneath it. A real bill of materials with more levels and more components repeats this same logic further down, level by level, top to bottom.

The part that's easy to miss

The finished item's week-6 planned order release of zero shows up as an implicit non-event in the bracket's numbers too: nothing exploded down because nothing released. A large share of what MRP does across a full bill of materials is confirm that nothing needs to happen yet in a given period, which is exactly the kind of check that's easy to skip when it's being tracked by hand under time pressure.

Safety stock and lot-sizing rules

Two planning parameters shape how a net requirement turns into an actual order, and the worked example above used the simplest version of each. Real planning almost always involves a deliberate choice on both.

Safety stock

Safety stock is a floor, not a target. It exists to absorb the ordinary variability that a fixed lead time and a fixed BOM quantity don't capture: a supplier that ships a few days late, a production run that consumes slightly more than planned, a small forecast error on an independent-demand item. MRP nets to keep the projected available balance at or above that floor, not at or above zero, which is the detail that made the worked example net a requirement in week 4 instead of waiting until the balance actually went negative.

Lot-sizing rules

Lot-for-lot, used throughout the worked example, orders exactly the net requirement and nothing more. It minimizes carried inventory but can generate a lot of small, frequent orders. Other rules trade that off differently:

RuleHow the order quantity is set
Lot-for-lotExactly the net requirement, order by order
Fixed order quantityA predetermined batch size; if the net requirement exceeds it, multiple batches are ordered
Period order quantityOne order sized to cover a fixed number of future periods' net requirements at once
Economic order quantity (EOQ)A batch size calculated to balance ordering cost against carrying cost
Min/maxAn order large enough to bring the balance up to a set maximum whenever it falls to a set minimum

The lot-sizing rule doesn't change whether a net requirement exists, only how large the resulting order is and how many periods of future demand it covers in one pass. Choosing the wrong rule for a given item, ordering in large batches for something with erratic, low-volume demand, is a common source of excess inventory that has nothing to do with whether the underlying MRP math is correct.

MRP vs. reorder-point planning

In one sentence

Reorder-point planning reacts to inventory levels. MRP derives future requirements directly from what the business plans to produce.

A reorder point (ROP) system watches on-hand inventory and triggers a purchase the moment it crosses a threshold, typically set from average usage rate multiplied by lead time, plus a safety margin. It doesn't ask why inventory is being consumed or what's coming next; it responds to the level itself, which makes it simple to run and reasonably effective for items with steady, continuous, independent demand.

MRP doesn't wait for a threshold to be crossed. It calculates ahead, from a known production plan, exactly when and how much a dependent-demand item will be needed, before consumption starts. For a component whose demand is lumpy, arriving in large batches tied to specific production runs rather than a steady trickle, an ROP threshold is a poor fit: it can trigger too early against a quiet period or fail to trigger early enough ahead of a large batch, since it has no visibility into the schedule driving that batch in the first place.

Reorder-point planningMRP
TriggerInventory level crosses a thresholdA production plan creates a future requirement
Best suited toIndependent demand, steady consumptionDependent demand, lumpy or batch-driven consumption
Looks atThe past: historical or average usageThe future: the master production schedule
TimingReactive, after the level dropsProactive, calculated ahead of need

In practice, most manufacturers run both at once, ROP for low-value, steadily consumed items like fasteners or shop supplies where the simplicity is worth more than the precision, and MRP for the components and sub-assemblies whose demand is directly tied to a production schedule. Neither approach is universally correct; each fits a different demand pattern.

What MRP doesn't solve

Classic MRP calculates material requirements correctly and says nothing about whether those requirements are actually achievable. That gap is worth stating plainly, since it's the most common source of an MRP plan that looks right on paper and falls apart on the shop floor.

  • Production capacity. MRP assumes unlimited capacity by default. It will plan a production order with no awareness of whether any work center has open hours to run it in the required window. Capacity Requirements Planning (CRP) and MRP II exist specifically to check a plan against actual capacity after MRP generates it.
  • Labor availability. The same blind spot applies to crew and skilled-labor availability. A materially feasible plan can still be a staffing impossibility.
  • Machine availability. Scheduled maintenance, unplanned downtime, and changeover time aren't part of the calculation unless they're fed in through a separate scheduling layer.
  • Supplier uncertainty. Lead time is a fixed input, not a probability. MRP doesn't model the odds that a given vendor ships late; it plans as if every lead time will be met exactly as entered.
  • Data accuracy. The entire calculation is only as trustworthy as the bill of materials, on-hand counts, and lead times feeding it. Wrong inputs don't cause MRP to fail visibly; they cause it to produce a confidently wrong plan that looks identical to a correct one until something doesn't show up.

How MRP evolved into MRP II and ERP

MRP's capacity blind spot is precisely what the next generation of planning methodology was built to address, which is worth understanding in outline, even though the details matter less than the core calculation covered above.

TermWhat it actually is
MRPThe material-planning calculation: a production schedule and a bill of materials in, a time-phased purchasing and production plan out, under an assumption of unlimited capacity
MRP IIA broader manufacturing-planning methodology, not simply MRP with extra inputs, that integrates capacity planning, scheduling, and other production resources alongside material requirements into one coordinated planning process
ERPA company-wide system spanning accounting, sales, and procurement in addition to manufacturing, within which an MRP or MRP II calculation typically runs against live, shared data instead of a periodically updated snapshot

Each step widened the scope of what got planned together rather than replacing the math underneath it. MRP II didn't discard MRP's gross-to-net logic, it wrapped capacity and resource constraints around it. ERP didn't discard MRP II's manufacturing logic, it connected it to the rest of the business's data. The calculation described in this guide is still, in some form, what's running underneath all three.

Running MRP in a spreadsheet

It's worth being precise here rather than absolute. A sufficiently well-built spreadsheet can implement time-phased netting, multi-level BOM explosion, safety stock logic, and lot-sizing rules correctly; none of that math requires dedicated software to execute. The real argument against spreadsheet-based MRP isn't that it can't do the calculation. It's that maintaining it correctly gets disproportionately harder as several dimensions grow at once, and none of them grow in isolation.

  • SKU count. Every additional item is another set of rows, another set of planning parameters, and another set of formulas that have to reference the right cells correctly.
  • BOM depth. Every additional level means the explosion logic linking a parent's planned order release to a child's gross requirement has to be built, and rebuilt, one level deeper, and a structural change anywhere in that chain risks breaking every formula downstream of it.
  • Number of locations. Each location typically needs its own on-hand, scheduled-receipt, and sometimes lead-time data, multiplying the surface area for a stale or mistyped figure.
  • Number of people editing it. The more people who touch the inputs, the more ways a formula gets overwritten, a row gets inserted in the wrong place, or a reference silently stops pointing where it should.
  • Planning frequency. Rerunning the calculation daily rather than monthly means far less time to catch an error before it feeds into a purchasing or production decision.

None of these problems is fatal on its own, and a disciplined, well-documented spreadsheet can hold up for a surprisingly long time. What tends to happen in practice is that the maintenance burden becomes one person's specialized knowledge, and correctness quietly depends on that person's availability and attention, in a way that's easy to underestimate until the day it's tested.

MRP terminology glossary

A quick reference for the terms used throughout this guide, and a few adjacent ones that come up in the same conversations.

TermDefinition
Master Production Schedule (MPS)The statement of what end items will be built, in what quantity, and in which period
Bill of Materials (BOM)The list of components and quantities required to build one unit of a parent item
Independent demandDemand that originates outside production and must be forecasted or booked as an order
Dependent demandDemand for a component derived mathematically from a parent item's plan via the BOM
Gross requirementThe total quantity of an item needed in a period, before netting against supply
Net requirementWhat's left to order or build after subtracting on-hand and scheduled receipts from the gross requirement
Scheduled receiptAn order already placed against an item, with a known expected arrival period
Planned orderAn order the MRP calculation proposes, as opposed to one already committed
Planned order receiptThe period a planned order is expected to arrive or complete
Planned order releaseThe period a planned order has to be placed or started, equal to the receipt period minus lead time
Projected available balanceThe running, period-by-period inventory position used to determine when netting is triggered
Lead timeThe time between releasing an order and receiving it, whether purchased or produced
Time-phasing / lead-time offsettingCalculating a planned order release date by working backward from a need date through lead time
Safety stockA buffer quantity the projected available balance is not allowed to fall below
Lot sizingThe rule used to convert a net requirement into an actual order quantity
BOM explosionBreaking a parent item's requirement down into requirements for its components, level by level
Low-level codeThe lowest level at which a given item appears anywhere in the product structure, used to ensure each item is netted only once, after all its parents have been processed
Regenerative MRPRecalculating the entire plan from scratch on a fixed schedule, such as nightly or weekly
Net-change MRPRecalculating only the parts of the plan affected by a specific transaction, as it happens
Reorder point (ROP)An inventory threshold that triggers a replenishment order when crossed, independent of any production schedule
MRP IIA manufacturing-planning methodology extending material planning to capacity, labor, and other production resources
Capacity Requirements Planning (CRP)The process of checking a material plan against actual work-center capacity

Frequently asked questions

MRP stands for Material Requirements Planning. It's the calculation that determines what materials or components need to be purchased or produced, in what quantity, and by what date, based on a master production schedule, a bill of materials, and current inventory records.

MRP takes what a business plans to produce, breaks it down into every component required using the bill of materials, subtracts what's already on hand or already on order, and works backward from lead times to say what to order or build and by when. It's a calculation, not a piece of software, and it can be done by hand at a small enough scale.

Gross requirement is the total quantity of an item needed in a given period, before accounting for anything already available. Net requirement is what's left to order or build after subtracting on-hand inventory and scheduled receipts from the gross requirement. A net requirement of zero means existing supply already covers the need.

BOM explosion is the process of breaking a parent item's requirement down into the requirements for each of its components, using the bill of materials, and repeating that process down through every level of a multi-level product structure. A planned order release for a parent item becomes the gross requirement for its components at that same point in time.

Independent demand comes from outside the production process, a customer order or a forecast, and has to be estimated. Dependent demand is derived mathematically from the demand for a parent item through the bill of materials, and doesn't need to be forecasted separately once the parent's plan is known.

Time-phasing, also called lead-time offsetting, is working backward from the date an item is needed, using its lead time, to calculate the date an order actually has to be released. A planned order receipt needed in week six with a two-week lead time results in a planned order release in week four.

Reorder point planning is reactive: it triggers a purchase when on-hand inventory crosses a set threshold, based on historical or average usage. MRP is derived: it calculates future component demand directly from what the business actually plans to produce, using the master production schedule and bill of materials, rather than inferring it from past consumption.

Safety stock is a buffer quantity that the projected available balance isn't allowed to fall below. When a gross requirement would push projected inventory beneath that threshold, MRP nets enough of a planned order to bring the balance back up to the safety stock level, not just to zero.

MRP calculates material and component requirements only, under an assumption of unlimited capacity. MRP II is a broader manufacturing planning methodology that extends material planning to also account for capacity, labor, and other production resources, closer to a full production planning framework than a simple extension of MRP.

MRP is a calculation: a production plan and a bill of materials in, a dated purchasing and production plan out. ERP is a much broader system spanning accounting, sales, and procurement across an entire business, within which an MRP or MRP II calculation typically runs on live, shared data.

Yes, and a sufficiently well-built spreadsheet can implement time-phased netting, multi-level explosion, and safety stock logic correctly. What degrades is maintainability: as SKU count, BOM depth, number of locations, number of people editing it, and how often it needs to be rerun all increase, keeping the logic correct and synchronized becomes disproportionately harder.

Classic MRP assumes unlimited production capacity, labor, and machine availability, so it can generate a plan that no shop floor could actually execute. It also takes lead times as fixed inputs rather than modeling supplier risk, and its output is only as reliable as the accuracy of the bill of materials, inventory counts, and lead-time data feeding it.

Sources and further reading

Continue exploring Illumify's manufacturing knowledge hub with Complete BOM guide and Process manufacturing guide.