MES software (Manufacturing Execution System) is the system that follows production as it happens: which orders are being worked on, on which machine, for how long, with how many good parts and how much scrap, with which batch of raw material. It sits between the company's ERP, which knows what needs to be produced and by when, and the machines, which only know what they are doing at that moment. Here you'll find the correct definition, the difference from ERP and a few criteria for working out whether you really need one.
What is MES: the MESA definition and the ISA-95 standard
The most widely cited definition comes from MESA International, the association that has worked on manufacturing information systems since the 1990s. It says that MES deliver information that enables the optimisation of production activities from order launch to finished goods, and that using current and accurate data, MES guides, initiates, responds to and reports on plant activities as they occur.
The key phrase is "as they occur". An ERP thinks in days and weeks: customer orders, requirements, purchasing, costs. An MES thinks in shifts, hours and minutes.
The reference standard for placing MES within a factory's architecture is ISA-95, adopted internationally as IEC 62264. ISA-95 divides the activities of a manufacturing company into levels:
- levels 0, 1 and 2: the physical process, the sensors, the PLCs and the supervisory systems that control the machines;
- level 3: Manufacturing Operations Management, where the MES works;
- level 4: business planning and logistics, that is the ERP.
The standard is used above all to define what information passes between level 3 and level 4: orders and schedules go down from the ERP to the shop floor, production reports and material consumption come back up.
In 1997 MESA also listed eleven typical functions of an MES, from detailed scheduling to quality, from maintenance to product traceability. No SME uses all of them, and that's fine.
What MES software does in practice
In a manufacturing SME the MES solves a few very concrete problems.
Tracking production orders
The planning office releases the order in the ERP. The MES receives it, queues it on the right machine or line, and the operator sees it on a terminal at the machine. When they start, pause or close a phase, they record it with a tap or by scanning the barcode on the work order. The shop floor supervisor can see at any moment what is stopped, what is late and what has already moved on to testing, without walking round the plant.
Times, downtime and OEE
The second reason is to know how long a job really takes. Many companies have standard times in their ERP that were written years ago and that nobody has checked since. The MES records setup times, actual cycle times and downtime, with the reason for each stop: missing material, breakdown, waiting for quality control, mould change.
From this data you calculate OEE (Overall Equipment Effectiveness), the most widely used indicator for measuring how much a machine produces compared with its potential. It is the product of three factors: availability (how long the machine ran compared with planned time), performance (how fast it ran compared with the nominal cycle) and quality (how many good parts out of the total). More than the absolute value, what matters is seeing which of the three factors loses you the most hours, because the countermeasures differ: for availability you work on maintenance and setups, for quality on process and materials.
Batch and component traceability
If a customer disputes a batch, you need to be able to trace which raw material was used, on which machine, in which shift, with which parameters. MESA calls this product genealogy. In industries such as food, automotive or medical devices it is a customer requirement before it is an internal choice. With an MES, traceability is built while you produce, because every consumption and output record is linked to batches and serial numbers.
Machine data collection
Operator input is the first level. The second is reading data directly from the machines: status (running, stopped, in alarm), part counters, process parameters. Modern machines almost always have a PLC or an electronic board that exposes this data through an industrial protocol, for example Modbus TCP/IP or OPC UA. When collection is automatic, the data stops depending on the memory of whoever fills in the sheet at the end of the shift.
The difference between MES and ERP (and what production management software means)
The confusion comes from the fact that many ERPs have a "production module". In a company that has both, the tasks are split like this:
| Aspect | ERP | MES |
|---|---|---|
| Question it answers | What do I need to produce, by when, with which materials | What is happening on the shop floor right now |
| Time horizon | Weeks, days | Shifts, hours, minutes |
| Main data | Customer orders, bills of materials, routings, purchasing, costs, invoices | Progress, actual times, downtime, scrap, batches consumed, machine parameters |
| Who uses it | Sales, purchasing, planning, accounting | Operators, shop floor supervisors, quality, maintenance |
| Where the data comes from | Entries by office users | Terminals at the machines and the machines themselves |
When people in Italy search for a "gestionale produzione", the equivalent of production management software, they usually mean the ERP's production module: bills of materials, routings, production orders, material requirements planning (MRP), perhaps with simplified progress reporting. For many companies that is enough. The MES comes in when simplified reporting is no longer enough: too many machines, too many shifts, too many small orders, or customers asking for detailed traceability.
The two systems have to talk to each other. Orders go down from the ERP to the MES, and actuals (parts produced, scrap, materials consumed, hours) come back up and update inventory and costs. If a person does this by copying the data across, you have bought two pieces of software and kept the problem. It is the same issue we cover in the article on systems integration to bring scattered data together.
When a manufacturing SME needs an MES
From the projects we work on, these are the signs of a real need:
- the shop floor supervisor spends a large part of the day asking people where the orders are;
- the cycle times in the ERP don't match the real ones and quotes are made on gut feeling;
- at the end of the month you can't say what an order really cost, because hours and scrap aren't recorded per job;
- an important customer asks for batch traceability and today you rebuild it by hand;
- you run several shifts and information gets lost at handover;
- the machines hold valuable data (alarms, part counters, parameters) that nobody reads.
If three or more of these points apply to you, it is worth evaluating an MES or at least some of its functions.
When less is enough
If you have a shop floor with five or six machines, a single shift and long jobs, a full MES is wasted. Progress reporting in the ERP's production module is enough, done from a tablet on the shop floor instead of on paper. The next step, if needed, is reading status and part counts from the main machines. Finite-capacity scheduling and full genealogy only come when volumes justify them.
A step-by-step path almost always works better than a single big project:
- digital recording of phase start and end, with simple downtime reasons;
- connecting the machines that weigh most on capacity;
- automatic exchange of orders and actuals with the ERP;
- traceability of batches, quality and maintenance, if your market requires them.
There is also the opposite case. If you work in a regulated industry, with formal software validation requirements, an off-the-shelf MES already widespread in your sector is often the most prudent choice, even if it costs more. Custom development makes sense when your processes or your machines are unusual and standard products force you to change the way you work to fit the software. We discuss this more generally in the guide on custom vs off-the-shelf software.
Machine connectivity: the piece that is usually missing
In MES projects the most underestimated part is the physical and logical connection to the machines. A typical SME shop floor has machines of different ages and brands: some expose data through standard protocols, others only have a digital output for the part counter, others nothing at all. Before choosing software, it pays to take an inventory: for each machine, which controller it has, which protocol, whether it is already on the network.
Then there are three decisions to make early:
- read only or write as well: reading status and parameters is simple, sending recipes or starting cycles remotely requires stricter security rules and permissions;
- where the data lives: on a server in the plant or in the cloud, depending on confidentiality and connection quality;
- how the machine network is separated from the office network, so the controllers aren't exposed to anyone connected to the company Wi-Fi.
Sometimes the solution comes from the people who build the machines, as in the case below.
The Buzzi Connect case: machine data ready for MES and ERP
Buzzi SRL is an Italian manufacturer that designs and builds high-frequency welding machines: standard welders, rotary-table welders and weld-and-cut machines, each configurable to the customer's needs. The machines have digital boards and advanced electronic control systems, but like many professional machines they weren't born with cloud-native integrations. Each welder worked as a standalone unit, functional but isolated.
Buzzi's customers, manufacturers in several industries, were asking to monitor and control the machines remotely, to bring production data into their own MES and ERP systems, to have diagnostics to prevent downtime and to coordinate several Buzzi machines in the same plant.
For Buzzi we developed Buzzi Connect, a web application installed on premises at customers' plants, on a dedicated server or an industrial device. The software communicates with the machines via Modbus TCP/IP, with no hardware changes. From the web interface, accessible from a PC, tablet or smartphone on the network, the operator sees each machine's status, parameters, production statistics and alarms in real time, can change processing parameters, start and stop cycles and manage several machines from a single dashboard.
For the topic of this article one point matters most: Buzzi Connect collects and stores production data and makes it exportable to the customer's business systems, MES and ERP included. Buzzi Connect is not an MES. It is the layer that makes the machines ready to talk to the MES the customer already has or will adopt. Security was designed for the factory: a segmented network that isolates control traffic, HTTPS communication even on the local network, access with individual credentials and integration with LDAP/Active Directory, separate roles for operators, maintenance staff and administrators, logs of all operations, and production data that stays inside the company perimeter.
If you build machines, the lesson is that sooner or later your customers will ask you to connect to their MES, and it pays to be ready. If you use machines, ask your suppliers which data they expose and through which protocol before signing the order. You'll find more technical detail in the article on Buzzi and connected manufacturing.
How to get to an MES without stopping the shop floor
The risk with an MES project is turning it into a year-long building site while the shop floor carries on with paper. We approach it differently.
We start with an analysis on the shop floor, with the people who work on the machines as well as with management: which records they keep today, on which sheet, at what point in the shift. Then we choose a pilot line or group of machines. Development proceeds in two-week sprints: at the end of each sprint there is a working version in a staging environment, which the shop floor supervisor tests with real data before it goes into production. Integration with the ERP is done through APIs, so orders and actuals move from one system to the other without retyping. If you want to understand how this exchange works, there is a simple explanation in the article on business APIs. The source code remains the property of the client company.
Our work on integrations between machines, MES and business software almost always starts here.
Let's talk about your shop floor
If you are evaluating MES software, or wondering whether your ERP's production module can last a few more years, the first useful step is to look together at how your shop floor works today: machines, records, handovers between office and production. In a one-hour call we'll work out whether you need an MES, a connection to the machines or just a better way of collecting progress data. Book a call with us and bring the list of your machines and a typical work order.