MRP for a small shop: from demand to purchase orders, without an ERP
Material requirements planning has a reputation as the thing that comes with a six-figure ERP and a consultant. The calculation itself is arithmetic a five-person shop does in its head every Monday — what do we need, what do we have, what is coming — and gets wrong on the one component nobody thought about. This page shows the arithmetic, works a month of it, and says what has to be true in your data before it can be trusted.
Reading this for your own shop? Start a free 14-day trial — no credit card, and your data is yours to export at any time.
1.The short answer
For each item, in each week: demand (forecast, open sales orders, and what parent products need of it) minus supply (on hand, open purchase orders, open work orders), carried forward as a running projected on hand. Where that number falls below zero — or below the safety stock you have set — MRP suggests an order: a purchase order if you buy the item, a work order if you make it, sized to your lot rules, and started early enough, by the item's lead time, to arrive in time. A make-item's suggested order then becomes demand on its components, one level down, and the same walk runs again.
There are two versions of this, and a small shop usually wants both:
- The nightly sweep. No calendar. For each item, want is the larger of its reorder point and what is already allocated to orders; have is on hand plus on order. A shortfall becomes a suggested buy or make. It catches the thing that quietly ran low.
- The time-phased plan. Weekly columns over a horizon. This is the one that knows the big order is due in week three and the steel takes two weeks to arrive, so the purchase order has to go out in week one.
2.A worked example, four weeks
The same shop as the cost rollup guide makes a steel shelf unit. Each unit uses four bracket sets, which the shop also makes, and 2.174 sheets of steel once scrap is allowed for. The brackets use a different stock item, left out here to keep the example short.
- Shelf unit: forecast 30 a week; one sales order for 50, promised in week 3; 20 on hand; built in lots of 10.
- Bracket set: 100 on hand; made, one week lead time.
- Sheet steel: 80 on hand; a purchase order for 100 already due in week 2; two weeks' lead time; the supplier sells in multiples of 50, minimum 50.
Level 0: the shelf unit
| Week 1 | Week 2 | Week 3 | Week 4 | |
|---|---|---|---|---|
| Demand (forecast + orders) | 30 | 30 | 30 + 50 = 80 | 30 |
| Projected on hand before action | 20 − 30 = −10 | −30 | −80 | −30 |
| Planned work order | make 10 | make 30 | make 80 | make 30 |
The 20 on hand cover most of week 1; a work order for 10 tops it up. From week 2 on, each week's build equals its demand, and week 3's is 80 because the sales order lands on top of the forecast.
Level 1: the bracket set (4 per shelf unit, made, one-week lead)
| Week 1 | Week 2 | Week 3 | Week 4 | |
|---|---|---|---|---|
| Demand (from the shelf-unit work orders × 4) | 40 | 120 | 320 | 120 |
| Projected on hand | 100 − 40 = 60 | 60 − 120 = −60 | −320 | −120 |
| Planned work order (due) | — | make 60 | make 320 | make 120 |
| …which must start in | week 1 | week 2 | week 3 |
Nobody entered demand for bracket sets. It came from the shelf-unit work orders, exploded through the bill of materials. And because brackets take a week to make, the order due in week 2 has to start in week 1 — this week.
Level 1: sheet steel (2.174 per shelf unit, bought, two-week lead, lots of 50)
| Week 1 | Week 2 | Week 3 | Week 4 | |
|---|---|---|---|---|
| Demand (shelf-unit work orders × 2.174) | 21.74 | 65.22 | 173.91 | 65.22 |
| Supply already scheduled | — | PO 100 | — | — |
| Projected on hand | 80 − 21.74 = 58.26 | 58.26 + 100 − 65.22 = 93.04 | 93.04 − 173.91 = −80.87 | 19.13 − 65.22 = −46.09 |
| Planned purchase order (due) | — | — | buy 100 (81 rounded up to lots of 50) | buy 50 |
| …which must be ordered in | week 1 | week 2 | ||
| Projected on hand after action | 58.26 | 93.04 | 19.13 | 3.91 |
This is the row that pays for the exercise. In week 1 the shop has 80 sheets and 100 more arriving next week, and it looks fine. It is not: the week-3 order needs 174 sheets, the supplier takes two weeks and sells in fifties, so the 100-sheet order has to be placed this week — and without the walk, it gets placed in week 3 when the cutter runs out, and the customer's 50 shelf units ship late.
3.What the planner does with it
The output is a grid: items down the side, weeks across, and a tile in each cell where an order is suggested — buy or make, quantity, due week. The planner's loop is short.
- Read the reason. Every tile opens to its demand breakdown: how much of the quantity is forecast, how much is a named sales order, how much is a parent product's work order, how much is safety-stock top-up, alongside the on-hand, allocated and on-order figures the calculation used. A suggestion you cannot explain is one you should not approve.
- Lock what you have decided. A tile you have agreed with is locked, so the next run does not move it; one you disagree with is dismissed. Everything else is replaced by the next run, so stale suggestions do not pile up.
- Firm in batches. Select a vendor's column, or a week, and convert the lot: one draft purchase order per vendor with all its lines, one draft work order per product. Items with no preferred vendor are listed and skipped, so you assign one and firm again rather than getting a purchase order addressed to nobody.
- Approve and send as usual. The drafts go through the same approval and sending as any other order. MRP suggests; people order.
Two shortcuts sit outside the weekly loop. When a sales order is being entered, a feasibility check answers the question the customer is asking on the phone — can this ship from stock now, can it be built from the components on hand, and if not, what has to be bought — and can raise the draft purchase orders for the shortfall from that screen. And a released work order that cannot be finished because a component is short shows up as a task, "needs purchase orders for components", rather than as a surprise when the picker gets to the rack.
4.What has to be right first
MRP is only as good as six fields. A shop that keeps these current gets suggestions it can act on; one that does not gets a grid of noise and stops looking at it.
- Active bills of materials with real quantities and scrap rates. The explosion uses them; a BOM that says 2 sheets when the truth is 2.174 under-orders steel on every product, every week. (The BOM guide covers what a real one holds.)
- Lead times per bought item and per made item. This is the offset that turns "due week 3" into "order this week". A missing lead time reads as zero, which means every suggestion arrives the week it is needed and none of them can.
- A preferred vendor on every bought item, so a suggestion can become a purchase order without someone looking it up.
- Lot size and minimum order quantity where the supplier or the process imposes one. Without them the plan suggests 81 sheets from a supplier who sells 50s.
- Promised dates on sales orders, because an open order with no date is demand in no week and is either ignored or dumped into the first column.
- Reorder points or safety stock on the items where running out is worse than holding a little extra — fasteners, finish, the cheap thing that stops the line.
5.Where the forecast comes from
A make-to-order shop can run everything above from open sales orders and reorder points and never enter a forecast. The forecast earns its place when a supplier's lead time is longer than the notice customers give you: then the steel for October's orders has to be bought in August, on the strength of what October usually looks like. The cheapest honest forecast is last year's shipped quantities by week, rolled forward, with the weeks you know will differ edited by hand — and it should live in the same grid as the orders, so the planner can see forecast and firm demand side by side rather than in two spreadsheets.
6.Questions people ask
How often should MRP run?
The sweep nightly, so nothing goes quietly below its reorder point; the time-phased plan whenever the planner sits down to it — weekly in most small shops — and again after a big order lands. Because unlocked suggestions are replaced on every run, running it often costs nothing but a minute of reading.
What about safety stock versus a reorder point?
A reorder point is a level: when projected on hand drops below it, order. Safety stock is the amount of that level you intend to keep as a buffer against a late delivery or a surprise order. In a time-phased plan they do the same job — they are the floor projected on hand is not allowed to breach — and the breakdown labels the top-up as such so you can see how much of a suggested order is real demand and how much is buffer.
The plan suggests a work order for something we have plenty of. Why?
Open the tile. Usually the on-hand stock is already allocated to sales orders the plan can see and you had forgotten, or a parent product's work order is about to consume it. If the breakdown does not justify it, the data behind it is wrong — an allocated order that has in fact shipped, a BOM quantity out by a factor — and fixing that is worth more than dismissing the tile.
Can I run this without a manufacturing module at all?
The nightly reorder-point sweep, yes: it is a want-versus-have check per item and needs no bill of materials. The moment products are built from components, the explosion is what finds the shortage you did not know about, and that needs the BOM.
The Monday-morning arithmetic, done for every item
Nightly reorder-point sweep, time-phased planning grid with the reasoning behind every tile, and one-click firming into draft purchase orders by vendor and work orders by product. Pro plan from $349/month. 14-day free trial, no credit card.
Start a free trial