Short answer: they are not alternatives but three layers stacked on top of each other. MRP plans (what are we making, when, is the material there?), MES executes and records (what is happening on the shop floor right now?), and ERP processes the consequences into inventory, cost price and invoicing. The sharpest distinction is the clock: ERP thinks in days to months, MRP in weeks to days, an MES in minutes to seconds. So the real-world question is rarely “MES or MRP”, but: which layer is my bottleneck?
The three layers side by side
| ERP | MRP | MES | |
|---|---|---|---|
| Answers | How is the business doing? | What are we making, when, with which material? | What is happening on the shop floor right now? |
| Time horizon | Days to months | Weeks to days | Minutes to seconds |
| Core objects | Orders, invoices, inventory, general ledger | Bills of materials, manufacturing orders, material requirements | Work orders, operations, scrap, quality |
| Users | Management, administration, purchasing, sales | Planners, work preparation | Operators, production management |
| Typical question | Are we making money on this customer? | Will we hit the delivery date? | Why is line 2 down? |
| In Odoo | Sales, Purchase, Inventory, Accounting | Manufacturing (MRP) | Shop Floor |
Read the table from right to left and you see the chain: the MES delivers reality, MRP compares it with the plan, ERP translates it into money.
Where it goes wrong in practice
Three patterns we keep seeing at manufacturing companies.
1. Buying an MES while the foundation is missing. If sales, purchasing and inventory still sit in disconnected systems and spreadsheets, an MES mostly amplifies the chaos: you measure the shop floor very precisely, but the numbers do not tie back to anything. First a system, then measuring.
2. Thinking MRP will solve the shop floor problem. MRP produces a beautiful plan, but if nobody reports what actually happened, the plan stays fiction. Overruns, scrap and downtime only become visible once you record them.
3. Buying an MES for what is really a process problem. If operations are not defined or bills of materials are wrong, no system is going to repair that. Software makes a good process faster and a bad process visibly more expensive.
The order that works in practice: ERP foundation → MRP planning → MES execution. Every step makes the next one more valuable.
Which layer do you need?
Instead of a generic recommendation: five questions about your situation, with an honest verdict. Including the outcome “Odoo is not the right tool here”.
Five questions. No email required, the verdict appears instantly.
In Odoo:
Why one database makes the difference
Classically, ERP, MRP and MES are three packages from three vendors, with integrations between them. That works, but you pay for it with:
- Delay. Data travels via nightly or periodic synchronisation; the shop floor is real time, your numbers are not.
- Duplicate master data. Products, bills of materials and work centers exist in two systems and drift apart.
- Arguments about the truth. When planning and the shop floor show different numbers, the meeting is about which system is right instead of about the problem.
In Odoo they are layers on the same database: Manufacturing for the MRP role, Shop Floor for the MES role. An operator who reports an operation as done immediately reduces inventory, books hours, updates the planning and influences the cost price and the job costing. No integration, no waiting time, no second truth.
That is not “Odoo has the richest MES features”, because it does not. It is: the layer you are missing, you do not have to build alongside it.
Our opinion: almost everyone buys one layer too high
Our position, stated explicitly, because you are entitled to know where we stand.
When a manufacturing company comes to us with “we want an MES”, in the vast majority of conversations the pain turns out to sit one layer lower. Not because those people do not get it, but because MES is the word going around at conferences and in LinkedIn posts, and “our bills of materials are wrong” simply does not make for an inspiring project proposal.
So we will say it out loud: the most underrated layer is MRP, and the most overrated is MES. A correct bill of materials, a realistic operation time and a planning that holds up usually deliver more than real-time insight into a process you do not yet control. Seeing in real time that things are going wrong is not the same as preventing them from going wrong.
Two propositions that follow from this:
- Measuring only tells you something if there is something to know. An MES on top of shaky planning gives you a very precise measurement of chaos. Impressive, and rarely usable.
- The layer order is not dogma, but it is almost always true. ERP foundation, then MRP, then MES. We have helped companies that reversed this order. It was possible, but it cost more and it took longer.
Where we argue against ourselves: there is an exception, and it is real. If your pain demonstrably sits in downtime and scrap and you have planning that largely works, then the shop floor layer really is your first step. Then you are measuring something you can actually influence. That is exactly what the diagnostic above filters for.
And one more unpopular point: the vendor who immediately offers you an MES without asking about your planning is selling their product, not your solution. We sell Odoo, so read this page with that in mind; but that is precisely why the section below sets out when you should not come to us.
Honestly: when you do want a separate MES
There are situations where a specialised MES alongside Odoo is the wiser choice:
- You need to read out and control machines (PLC, process control) instead of having people report.
- You capture data at second-level resolution across many machines at once.
- You are in heavily regulated production where a validated MES with its own audit trails is required.
Then the clean architecture is: Odoo as the ERP and planning backbone, the MES as a specialised shop floor layer next to it, with a clear integration. That is more honest than forcing a platform into something it was not built for.
Frequently asked questions
What is the difference between MES and MRP? MRP plans (what are we making, when, which material), an MES executes and records in real time on the shop floor. MRP thinks in weeks and days, an MES in minutes and seconds.
What is the difference between MRP and ERP? ERP is the broad platform for the whole company; MRP is the production planning part within it. In modern packages MRP is a module of the ERP, not a separate system.
Do I need ERP, MRP or MES? That depends on your biggest pain: disconnected systems (ERP), material and planning (MRP), or no view of the shop floor (MES). The diagnostic above gives a concrete answer.
Can an ERP system replace an MES? For people-driven production, often yes, via a shop floor app. Not with deep machine integration, second-level data or validated production.
How do MES and MRP work together in Odoo? Odoo Manufacturing fills the MRP role, Odoo Shop Floor the MES role, on the same database. A reported operation flows straight through into planning, inventory and cost price.
Want to know which layer delivers the most for you? Book a free Odoo scan - we will walk through your planning, your shop floor and your recording, and tell you honestly which layer you need now and which one can wait.
Further reading: What is an MES? · Can Odoo run your production floor? · Odoo for manufacturing companies · Odoo as WMS · Manufacturing accounting in Odoo · The TARGET method