How to Run MRP (the Scheduler) in Odoo

MRP is the calculation that turns demand into a plan of what to make and buy. How it runs in Odoo.

MRP, material requirements planning, is the calculation that works out what a manufacturer should make and buy to meet demand. In Odoo, this runs through the scheduler. This piece explains how to run MRP in Odoo and use it well.

What the MRP run does

The MRP run is the calculation that looks at demand, at what stock exists and what supply is already incoming, and at the bills of materials, and works out what needs to happen: which manufacturing orders should be created, which purchases should be raised, and when. It is the engine that turns the question "what do we need to make and buy" into concrete proposed actions. In Odoo, this calculation is run by the scheduler.

How the scheduler runs

The Odoo scheduler can run automatically, on a regular basis, so that planning is kept current without anyone having to trigger it, and it can also be run on demand when a manufacturer wants to recalculate the plan immediately. For most manufacturers, the scheduler running regularly in the background is the normal mode: the plan is refreshed steadily as demand and stock change. The on-demand run is useful when something significant has changed and the manufacturer wants the plan updated now rather than waiting for the next regular run.

What the run produces

When the scheduler runs, it produces the planning outcome: proposed manufacturing orders for things to be made, proposed purchasing for things to be bought, with timing based on lead times. For a multi-level product, the calculation propagates through the BOM, so a need for a finished product becomes needs for its sub-assemblies and components. The output is, in effect, the plan: the set of actions that, if carried out, would meet the demand.

The inputs decide the output

The most important thing to understand about running MRP is that the run is only a calculation, and a calculation is only as good as its inputs. The MRP run uses demand, current stock and incoming supply, the bills of materials, and lead times. If those inputs are accurate, the plan the run produces is sound. If the BOMs are wrong, the stock figures do not match reality, or the lead times are guesses, the run will produce a confident plan that is wrong. The MRP run does not detect bad inputs; it calculates faithfully from whatever it is given. So using MRP well is, more than anything, about keeping its inputs accurate.

Review the output, do not just accept it

Running MRP produces proposed actions, and a manufacturer should review them rather than accepting them blindly. The run also surfaces planning exceptions, situations where the plan cannot be satisfied as things stand, for example where a requirement cannot be met in time. These exceptions are valuable: they are the run telling the manufacturer where there is a problem to resolve. Reviewing the output, acting on the proposed orders, and resolving the exceptions is how the MRP run becomes an actual managed plan rather than just a calculation that ran.

Run it regularly, keep the data clean

Using MRP well comes down to two habits. Let the scheduler run regularly, so the plan stays current with changing demand and stock, and run it on demand when something significant changes. And keep the data it depends on, the BOMs, the stock, the lead times, accurate, because that data is what determines whether the plan is sound. A manufacturer that does both has a planning function it can trust.

The takeaway

Running MRP in Odoo means the scheduler performing the calculation that turns demand, stock, BOMs, and lead times into proposed manufacturing and purchasing actions. The scheduler runs regularly and can be run on demand. The output is only as good as the inputs, so accurate data is essential, and the manufacturer should review the proposed actions and resolve the planning exceptions the run surfaces rather than accepting the output blindly. For how we approach Odoo for manufacturers, see our manufacturing work.

All posts

Got a Topic Worth Posting?

Suggest a Topic

If a question keeps coming up in your operations, it might be worth its own post.