# Integrating MES and ERP for a unified data backbone
A production order for 5,000 automotive brake calipers exists in two places at once. In the ERP system, it is a line item with a due date, a quantity, and a cost estimate. On the shop floor, in the MES, it is a live sequence of machine cycles, operator scans, and quality checks. When those two versions disagree, planners promise ship dates the plant cannot hit, and the finance team closes the month on numbers that never happened.
This lesson follows one order across that gap.
First, two definitions.
ERP (Enterprise Resource Planning): the system of record for the business. Orders, inventory, purchasing, costing, financials. Think SAP, Oracle, Microsoft Dynamics. ERP answers "what should happen and what did it cost."
MES (Manufacturing Execution System): the system of record for the shop floor. It dispatches work to machines and operators, enforces the process, and captures what actually happened, cycle by cycle. Think Siemens Opcenter, Rockwell FactoryTalk, AVEVA. MES answers "what is happening right now on the line."
ERP plans. MES executes. The data backbone is how they talk.
Here is the loop, in plain terms.
Planning runs in ERP. Based on customer demand and material availability, it creates a production order: make 5,000 calipers, part number BRK-4471, start Tuesday, due Friday.
ERP sends this order down to MES. It carries the essentials: what to make, how many, which routing (the sequence of operations), and when.
MES takes over on the floor. It splits the order into operations (machining, deburring, assembly, test), dispatches each to a work center, and tracks progress. Operators scan in. Machines report counts. Quality logs pass/fail.
This is where reality intrudes. A tool breaks. A batch of raw stock is out of spec. The order that ERP scheduled as a clean four-day run becomes 4,650 good parts, 350 scrap, and six hours of unplanned downtime.
When operations complete, MES reports actuals back to ERP: quantities produced, scrap, labor hours, material consumed, completion time. This is called a confirmation or goods receipt in ERP terms.
ERP uses these actuals to relieve inventory, post costs, update the financials, and tell the planner the order is done.
That round trip (ERP down, MES up) is the unified data backbone working as intended. Now let's look at why it breaks.
Master data is the shared reference data both systems depend on: material numbers, units of measure, bill of materials (BOM), work centers, routings. When ERP and MES hold different versions, integration fails quietly.
Common mismatches:
Unit of measure conflicts. ERP tracks a coating in liters. MES meters it in kilograms. Without a conversion factor maintained in both systems, consumption postings are wrong and inventory drifts.
Material number granularity. ERP has one part number for a caliper. MES tracks three sub-variants by cavity or line. The mapping has to exist somewhere, or actuals cannot post back cleanly.
Work center definitions. ERP models a "machining department" as one capacity bucket. MES tracks eight individual CNC machines. Scheduling in ERP looks feasible while a specific bottleneck machine is overbooked.
Routing drift. An engineer updates the routing in MES to add an inspection step but never syncs it to ERP. Standard costs and cycle-time estimates in ERP are now stale.
The fix is governance, not more software. One system must own each master-data element, and changes must propagate. Most mature plants make ERP the master for material and BOM data, and MES the master for detailed execution parameters. What matters is that the ownership is explicit and enforced.
The second failure mode is timing.
MES data is real-time or near real-time. It updates every few seconds. ERP typically posts in batches, sometimes hourly, sometimes only at shift end or overnight.
That gap creates a decision trap. A planner looking at ERP at 2 PM sees an order 40 percent complete because that was the last confirmation. On the floor, MES shows it is actually 70 percent done and running ahead. The planner reschedules based on stale data and disrupts a line that was fine.
Latency also distorts analytics. If you calculate OEE (Overall Equipment Effectiveness, a standard metric combining availability, performance, and quality) from a mix of real-time MES counts and delayed ERP order status, your numbers will not reconcile. Analysts spend more time explaining why two dashboards disagree than acting on either.
There is no universal right latency. High-mix, fast-cycle plants push toward event-driven, real-time confirmation. Slower process plants may accept shift-level batches. Decide deliberately, and make the latency visible on every dashboard so no one mistakes a snapshot for live truth.
Point-to-point connections (ERP wired directly to MES) work until you have three systems, then five, then a warehouse system and a quality system too. Then the wiring becomes unmanageable.
The reference model most manufacturers use is the ISA-95 standard, which defines the layers between enterprise systems (ERP) and control systems (the plant floor), and a common vocabulary for the data that moves between them. You do not need to memorize it, but knowing it exists helps you ask vendors the right questions.
In practice, integration runs through middleware: a message broker or integration platform that translates and routes data. A modern pattern is event-driven messaging, where MES publishes an event the moment something happens, and any subscribed system reacts.
A simplified confirmation event, the message MES sends when an operation completes, might look like this:
{
"event": "operation.confirmed",
"production_order": "PO-88214",
"material": "BRK-4471",
"operation": "0030-machining",
"work_center": "CNC-07",
"qty_good": 480,
"qty_scrap": 12,
"uom": "EA",
"labor_hours": 7.5,
"timestamp": "2026-03-17T14:22:05Z"
}Clean, structured, timestamped, with an explicit unit of measure. ERP consumes it and posts the confirmation. This is the atomic unit of the round trip. Get this message right and most integration problems shrink.
🎬 [VIDEO: "MES and ERP Integration Explained" — youtube.com — a clear walkthrough of how execution and planning systems exchange data on the shop floor]
When the backbone is clean, you can answer questions that neither system answers alone.
Cost per good unit, by machine. ERP holds cost. MES holds which machine made which units and the scrap. Joined, you see that CNC-07 quietly runs 3 percent more scrap than the others, which no financial report would surface on its own.
Schedule adherence versus actual constraints. Compare ERP's planned finish to MES completion timestamps across hundreds of orders. Patterns emerge: a specific product family always slips because a shared fixture is the real bottleneck.
Genealogy and traceability. In regulated sectors (medical devices, aerospace, food), you must trace which raw material lot went into which finished unit. That thread runs through MES, but recalls and customer records live in ERP. Only an integrated backbone lets you trace a defect from a customer complaint back to a supplier lot.
None of this works if material numbers do not match or if the actuals arrive a shift late.
Vérification des acquis
1. Which statement best captures the fundamental division of responsibility between ERP and MES?
2. A planner promises a customer a ship date that the plant repeatedly fails to hit. Based on the lesson, what is the most likely root cause?
3. Why does the lesson describe an order released for 5,000 parts becoming only 4,650 good parts as 'reality intruding'?
4. Select ALL correct answers. Which of the following are essentials that ERP typically passes down to MES when releasing a production order?
Sélectionnez toutes les réponses correctes.
5. Select ALL correct answers. Which are legitimate functions of an MES (as opposed to an ERP)?
Sélectionnez toutes les réponses correctes.
A common mistake is buying an analytics platform before fixing the backbone. The dashboard is only as trustworthy as the data feeding it.
A workable order of operations:
1. Reconcile master data first. Agree who owns each element. Clean up units, materials, work centers, routings. This is unglamorous and it is where most of the value comes from.
2. Define the events and their latency. Which shop-floor events post back, how fast, and in what format. Make the confirmation message a contract.
3. Route through middleware, not point-to-point. Use ISA-95 vocabulary so future systems plug in cleanly.
4. Then build analytics on the reconciled, timestamped data.
Skip step one and you build sophisticated analytics on a foundation that lies to you.