The idea behind MRP, without the maths
MRP starts from two inputs: a Bill of Materials (BOM) — the recipe listing every component or ingredient that goes into a finished item, and in what quantity — and a production or master schedule saying how many of that finished item are needed, and by when. From there, MRP does three things in sequence for every level of the BOM, working from the finished item down through its components: it explodes the finished-item schedule into the components required to build it (if one finished unit needs three of a given part, and 100 finished units are scheduled, that's 300 units of that part required); it nets that gross requirement against stock already on hand and orders already in the pipeline, so it only asks for what is genuinely still short; and it offsets the resulting net requirement by that component's lead time, working backwards from when it's needed to when the order for it must actually be placed.
Put simply: gross requirement minus on-hand stock minus what's already on order equals net requirement, and net requirement pushed back by lead time tells you the release date for the purchase or production order. Do this level by level down through the BOM — a finished item is made of sub-assemblies, sub-assemblies are made of components, components might themselves need raw material — and MRP produces a complete, time-phased schedule of exactly what to order or produce, and exactly when, so that everything arrives just in time to support the plan above it.
This distinction between what MRP calls independent and dependent demand is central to why the logic exists at all. Demand for a finished item is independent — it comes directly from the market and has to be forecast, because nothing in the company's own plans determines it. Demand for the components that go into that finished item is dependent — it is entirely determined by how many finished items are planned, and therefore does not need to be separately forecast at all, only correctly calculated from the plan above it. Treating dependent-demand components as if they needed their own independent forecast (as reorder-point logic implicitly does) throws away perfectly good information the business already has, and typically leads to holding more safety stock on those components than is actually necessary.
A worked example: a repack kit from three imported components
Imagine a distributor that locally assembles a "starter kit" SKU — say, a power tool bundled with a charger and a carry case, each imported separately — often sourced from China for small electronics and accessories like these — and packed together locally into one retail-ready unit. The master schedule says 500 starter kits need to be ready in six weeks. The BOM says one kit needs one tool, one charger and one case.
MRP explodes that requirement: 500 kits needs 500 tools, 500 chargers and 500 cases. It then checks what's already available: say 150 tools are already in the local warehouse and another 100 are on an already-placed order arriving in three weeks — netting the tool requirement down to 250 still to be ordered. Chargers, say, have zero stock and nothing on order — the full 500 are a net requirement. Cases might already have 400 in stock, netting down to only 100 still needed. Each of those three net requirements is then offset by its own import lead time — tools might have an 8-week lead time from order to arrival, chargers 6 weeks, cases only 3 weeks because they're sourced locally. Working backwards from the six-week deadline, MRP flags that the tool order should already have been placed (it's late — 8 weeks needed but only 6 remain), the charger order needs to go out essentially immediately, and the case order still has a few weeks of comfortable buffer before it needs to be placed.
This is the value MRP adds over simply "watching stock levels": it tells the planner, component by component, not just how much to order but the precise date each order needs to go out to avoid holding up the finished kit — and it does that months before any of those components would otherwise look short on a simple stock report.
Notice also what the example reveals about risk: the component with the longest lead time (the tool, at 8 weeks) is the one that determines whether the whole kit can be finished on time, regardless of how comfortable the position looks on the other two components. This is a general pattern in any assembly or kitting operation — the single slowest-moving, longest-lead-time input sets the pace for the entire finished item, and a planner watching only average stock levels across all three components could easily miss that one specific component is already the binding constraint on the promised date.
Order timing, recalculation, and "nervousness"
Because MRP is driven by a schedule rather than by current stock alone, it is only as good as the schedule feeding it — and that schedule changes constantly as real demand, sales and forecasts update. Every time the plan is recalculated, MRP re-runs the explosion, netting and offsetting logic against the new numbers, which can mean order quantities and dates shift, sometimes for components several levels down the BOM that had nothing directly to do with the change that triggered it. A small tweak to the finished-item schedule — 500 kits becomes 480 — can ripple down and re-time dozens of component orders across every level of the structure.
When this rippling happens too readily, it creates what is often called MRP "nervousness" — orders that were confirmed and communicated to suppliers get quietly re-timed or re-sized every time the system recalculates, which is disruptive and erodes trust with both internal operations and external suppliers who were told to expect one thing and are now being told something else. The standard fix mirrors the frozen-zone discipline used in master planning: firm up, or "freeze," orders that fall within the near-term horizon so they are protected from being automatically rewritten by every recalculation, while orders further out remain open to revision as the plan legitimately changes. This keeps the system responsive to real change without constantly whipsawing suppliers and production over noise.
Quantity discounts versus carrying cost — a classic tension
MRP tells a planner what quantity is genuinely needed and by when — but it doesn't automatically mean ordering exactly that quantity is the cheapest choice. Suppliers frequently offer a lower unit price for larger order quantities, so there is a real, recurring tension between ordering strictly to the calculated net requirement (minimising stock held) and ordering a larger batch to capture a price break (accepting extra stock, and the cost of holding it, in exchange for a lower unit cost).
Resolving that tension properly means looking past the unit price alone to the full landed and carrying cost of each option — exactly the discipline covered in total cost of ownership. A cheaper unit price on a much larger order can easily be outweighed by the warehousing space, capital tied up, and obsolescence or damage risk of holding the extra stock for months before it's needed — particularly for components with a long import lead time, where a "great deal" on volume can turn into slow-moving inventory sitting in a warehouse for a season or more.
MRP logic versus simple reorder-point replenishment
Not every business needs MRP, and it is worth being clear-eyed about when it actually adds value over a much simpler approach.
- Reorder-point / reorder-quantity replenishment reacts to falling stock: when the quantity on hand drops to a predefined trigger level (the reorder point, sized to cover expected demand during the replenishment lead time, with a safety stock buffer for uncertainty), a fixed or calculated quantity is reordered. It doesn't need a BOM or a forward schedule — it simply watches the shelf and reacts.
- True MRP logic reacts to a known future demand schedule rather than to current stock levels alone, and is essential wherever demand for a component is dependent — driven by the production or assembly plan for something else, rather than being independently forecastable in its own right.
Most pure importers and distributors — businesses reselling finished units exactly as they arrive, with no local assembly step — genuinely don't need full MRP logic. Their demand for each SKU is independent (driven directly by end customers, not by an internal production plan), and reorder-point logic, sized correctly against lead time and demand variability, does the job well. But the moment a business does any local kitting, bundling or light assembly — even something as simple as the starter-kit example above, or repacking bulk stock into smaller retail units — some of its components become dependent demand, driven by an internal schedule rather than directly by the market, and MRP-style thinking becomes genuinely useful even if the business never buys a full MRP software module: the same explode-net-offset logic, done conceptually on a spreadsheet, still beats managing those components purely by watching their stock levels fall.
Free TradeCaravan Tool
Cost each imported component before you commit
A kit or bundle is only as profitable as its most expensive component. Calculate landed cost — duty, VAT and clearing fees — for each part before you finalise a BOM.
Try the Duty & VAT Calculator →Frequently asked questions
What is a Bill of Materials (BOM)?
A Bill of Materials is the structured list of every component, sub-assembly or ingredient that goes into one unit of a finished item, along with the quantity of each required. It is the essential input MRP uses to translate a finished-item schedule into component-level requirements.
What does it mean for MRP to "net" a requirement?
Netting means subtracting what is already available — stock currently on hand plus quantities already on order — from the total gross requirement calculated by exploding the schedule through the BOM. Only the remaining shortfall becomes a new order.
Why does MRP cause order "nervousness"?
Because MRP recalculates the full explosion, netting and offsetting logic every time the underlying schedule changes, even a small change to the finished-item plan can ripple down and re-time or re-size dozens of component orders across the BOM. Freezing near-term orders protects them from being disrupted by every recalculation.
Does a company that just imports and resells finished products need MRP?
Usually not in the full sense. If demand for each SKU is independent, driven directly by customers rather than by an internal production plan, simple reorder-point replenishment sized against lead time and demand variability is normally sufficient. MRP-style thinking becomes useful once a business does any local kitting, bundling or assembly.
Why isn't ordering the cheapest quantity per unit always the right call?
A lower unit price on a larger order can be outweighed by the cost of holding the extra stock — warehousing space, tied-up capital, and the risk of obsolescence or damage — particularly for components with a long import lead time. The decision needs to weigh full carrying cost, not just the quoted unit price.