The MES vs ERP vs SCADA question comes up in every digitalization project, usually when two vendors claim the same feature. This article explains what each system is responsible for, where they sit on the ISA-95 levels, where their boundaries blur, and how an event-driven MQTT layer lets them share data without fragile custom links.
The Short Answer
- ERP (Enterprise Resource Planning) decides what the business should make, buy and ship, and accounts for it. It thinks in days, weeks and money.
- MES (Manufacturing Execution System) decides how a released order is executed on the shop floor and records what actually happened. It thinks in shifts, hours and minutes.
- SCADA (Supervisory Control and Data Acquisition) watches and supervises the process in real time, shows operators what machines are doing and lets them intervene. It thinks in seconds and milliseconds.
A simple test: if a question is about orders, inventory value or customers, it is ERP. If it is about which operator built which unit with which material on which machine, it is MES. If it is about whether pump 3 is running and what the tank level is right now, it is SCADA.
MES vs ERP vs SCADA on the ISA-95 Levels
The ISA-95 standard organizes manufacturing functions into levels. It is the most useful map for this comparison because each system has a natural home.
| ISA-95 level | Function | Time horizon | Typical system |
|---|---|---|---|
| Level 4 | Business planning and logistics | Days to months | ERP |
| Level 3 | Manufacturing operations management | Shifts to minutes | MES, LIMS, CMMS, historian |
| Level 2 | Supervisory control and monitoring | Seconds | SCADA, HMI |
| Level 1 | Sensing and manipulation | Milliseconds | PLC, DCS controllers |
| Level 0 | The physical process | Continuous | Sensors, actuators, machines |
The ISA-95 model is related to, but not the same as, the Purdue model used in network security. The difference is explained in Purdue model vs ISA-95, and the physical side of the hierarchy (enterprise, site, area, line, cell) is covered in ISA-95 equipment hierarchy.
Detailed Comparison
| Aspect | ERP | MES | SCADA |
|---|---|---|---|
| Main question | What and how much? | How, by whom, with what result? | What is happening now? |
| Typical users | Finance, planning, purchasing, sales | Production, quality, supervisors | Operators, control engineers |
| Core data | Orders, BOMs, inventory, costs | Work orders, genealogy, counts, downtime, quality results | Tags, alarms, trends, setpoints |
| Data granularity | Order and lot level | Unit, batch and operation level | Signal level |
| Update rate | Batch or near real time | Seconds to minutes | Sub-second to seconds |
| Writes to machines? | No | Recipes, parameters, order instructions | Setpoints and commands |
| Failure impact | Planning and invoicing delayed | Tracking and compliance gaps | Loss of visibility and control |
Where ERP Ends
ERP holds the master data: materials, bills of materials, routings, customers and costs. It creates a production order for a quantity and a due date and expects a confirmation back: how many good units, how much scrap, which materials were consumed. It does not care which of three identical machines ran the order or why it stopped twice.
What MES Owns
MES takes the order and makes it executable: it schedules it on specific equipment, delivers the right work instructions and recipe, verifies materials, records genealogy, collects counts and downtime and enforces quality checks. It then reports a summarized confirmation back to ERP. In regulated industries, the electronic batch or device history record lives here. How MES receives its shop floor events over MQTT is covered in MES MQTT integration.
What SCADA Owns
SCADA connects to PLCs and controllers, displays the process to operators, raises alarms, stores short-term trends and lets operators change setpoints. It is the eyes and hands of the control room. It knows a valve is open but usually not which customer order the product belongs to. For how MQTT is changing SCADA architectures, see MQTT SCADA.
Where the Boundaries Blur
Real products do not respect the levels neatly:
- Many SCADA packages now offer OEE dashboards, downtime tracking and simple batch reports, which are classic MES functions.
- Many ERP suites ship a "shop floor" or "manufacturing" module that covers basic MES features such as order confirmation from a terminal.
- Some MES products include their own HMI screens and data collection drivers.
The overlap is not a problem by itself. The problem is when two systems both believe they are the source of truth for the same data, for example when ERP and MES both calculate scrap and disagree. Decide per data object which system owns it, and let the others consume it.
| Data object | Usual owner | Consumers |
|---|---|---|
| Production order (planned) | ERP | MES |
| Work order execution status | MES | ERP, dashboards |
| Machine state and alarms | SCADA / PLC | MES, maintenance, dashboards |
| Good and scrap counts | Machine, collected by MES | ERP, OEE tools |
| Material genealogy | MES | ERP, quality |
How MQTT Connects ERP, MES and SCADA
In a classic stack, each pair of systems is integrated directly: SCADA to MES through OPC, MES to ERP through a vendor connector, a historian through yet another driver. Every new consumer adds a link, and replacing one system breaks several.
An event-driven layer changes the topology from a mesh to a hub. Each system connects to an MQTT broker and publishes the events it owns under a shared ISA-95 topic tree:
acme/plant1/assembly/line2/cell3/state <- PLC / SCADA (retained)
acme/plant1/assembly/line2/cell3/count <- PLC / gateway
acme/plant1/assembly/line2/mes/order/current <- MES (retained)
acme/plant1/assembly/line2/mes/order/confirm <- MES, consumed by ERP adapter
acme/plant1/erp/orders/released <- ERP adapter
SCADA keeps controlling machines over its native protocols, and the MQTT layer carries the events everyone else needs. This pattern is often called a Unified Namespace; MQTT Sparkplug B and the Unified Namespace explains how the payload side can be standardized.
ERP rarely speaks MQTT natively, so a small adapter subscribes to MES confirmations and calls the ERP API, and it publishes released orders into the namespace. The adapter is a normal MQTT client; the broker does not need any built-in ERP connector.
Choosing What to Implement First
If you are planning a digitalization roadmap, this order works well in most plants:
- Get machine data out (state, counts, key process values) and publish it to a broker. This is cheap and immediately useful.
- Add dashboards for OEE and downtime directly on that data, before buying an MES.
- Introduce MES functions where you need them most: order tracking, genealogy, quality checks.
- Close the loop with ERP through an adapter that sends confirmations and receives orders.
Because every step publishes into the same namespace, nothing built earlier has to be rewritten later. The smart manufacturing guide describes this roadmap in more depth.
The Broker Is Infrastructure, Treat It That Way
Once ERP, MES and SCADA events flow through one broker, that broker becomes critical infrastructure. Running it on a spare server in the plant is fine for a pilot but risky for production. A hosted MQTT broker such as ConnectMQ provides MQTT 3.1.1 and 5.0 over TLS, credentials per client, flood protection and a portal with a live topic explorer and an ISA-95 devices view, so you can see each level of the stack publishing in the right place. ConnectMQ also decodes Sparkplug B and republishes it into ISA-95 topics, which helps when SCADA gateways already speak Sparkplug.
You can explore the idea on the cloud MQTT broker page or simply try it.
Connect Your Factory Stack with ConnectMQ
Create a free Serverless broker at app.connectmq.com with no credit card, publish a few machine states and an order topic, and watch the ERP, MES and SCADA layers meet in one namespace.
Frequently Asked Questions
Can an ERP replace an MES?
For simple discrete operations an ERP shop floor module can cover order confirmation and basic counts. It usually lacks real-time machine data, detailed genealogy and quality enforcement that a dedicated MES provides.
Is SCADA part of MES?
No. SCADA works at ISA-95 Level 2 for real-time supervision and control, while MES works at Level 3 for execution management. MES consumes SCADA data but does not replace operator control screens.
Do I need all three systems?
Most manufacturers have ERP and some form of SCADA or HMI. A full MES is optional; many plants start with dashboards on machine data and add MES functions as needs grow.
Where does MQTT fit in the ISA-95 model?
MQTT is a transport, not a level. A broker carries events between Levels 1 to 4 so each system can publish what it owns and subscribe to what it needs.



