Smart Manufacturing

MES vs ERP vs SCADA: Roles in the Factory Stack and How MQTT Connects Them

ERP plans, MES executes and SCADA supervises. Learn what each system owns, where they overlap, how they map to ISA-95 levels and how an MQTT broker links them without point-to-point spaghetti.

MES vs ERP vs SCADA layered diagram showing ISA-95 levels from sensors to business planning connected by an MQTT broker
Run this on your own MQTT brokerGet a private, managed MQTT broker on the Free plan and start from ready-made code samples.
Try it free Code samples No card required

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:

  1. Get machine data out (state, counts, key process values) and publish it to a broker. This is cheap and immediately useful.
  2. Add dashboards for OEE and downtime directly on that data, before buying an MES.
  3. Introduce MES functions where you need them most: order tracking, genealogy, quality checks.
  4. 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.

Related articles

OEE vs TEEP vs OOE: Which Metric Should You Use?

OEE, OOE and TEEP share the same performance and quality factors but measure against different time bases. This comparison works through one example and lists the MQTT signals each metric needs.

7 min read

All articles →

Your private MQTT broker is a few clicks away

Create an account, get your broker credentials and connect your first device — no servers to install, patch or scale.