IT/OT IntegrationOct 18, 2026
Integrate Machine Data With SAP Without Changing the PLC
The four ways to get the production counted on the line into SAP without touching the PLC program: which data goes in (production order confirmation or goods movement), through which interface, how often and what to validate before SAP accepts it.

Locked file
indicadores-de-produccion-v2-en.xlsx (410 KB)
Leave your work email to download this spreadsheet and hear about the next one.
To get machine data into SAP without changing the PLCs, you do not program the PLC to talk to SAP. You install a unit in the plant that reads the PLC over a protocol it already speaks (Modbus, OPC UA, Ethernet/IP or S7), counts and validates production, and delivers it to SAP as what SAP expects to receive: a production order confirmation or a goods movement. The PLC program is not touched, and SAP never needs to know what brand of PLC is on the line.
This guide lays out the decisions: which data should go into SAP, through which interface, how often, and what has to be validated so SAP does not reject or duplicate records.
Why not connect SAP directly to the PLC? #
Because they speak different languages and run at different rhythms. A PLC changes a counter every time a part goes by; SAP records business transactions with order, material, plant, lot and quantity. Between the two, something has to turn "counter 40021 went from 18,230 to 18,512" into "order 1000234 produced 282 units of material X at plant Y".
On top of that, changing the program of a PLC in production carries a cost and a risk nobody wants to take on for an information issue: you have to stop, test and, often, ask the original integrator to do it. That is why the rule is to read what the PLC already has, not ask it for new things.
Which data goes into SAP #
Before choosing the technology you have to decide which transaction is being fed. In SAP S/4HANA the two usual ones are:
| Transaction | What it records | When it makes sense |
|---|---|---|
| Production order confirmation | Good quantity, scrap, times and operation for an order | When the plant works with orders and wants to cost by order |
| Goods movement (finished goods receipt or consumption) | How much goes into or out of inventory | When what matters is stock, or production is not managed by orders in SAP |
Many plants need both, and the frequent mistake is duplication: confirming the order with automatic goods receipt and also sending the goods movement. That decision is made by the customer's SAP team, not by the shop-floor integrator.
The four integration paths #
| Path | How it works | Pros | Cons |
|---|---|---|---|
| S/4HANA OData APIs | The plant unit calls SAP's published APIs, such as the production order confirmation or material document APIs | Standard, documented, no development in SAP | Requires enabling the API and a technical user; errors and retries have to be handled |
| BAPI or RFC | Calls to SAP functions such as the order confirmation function | Also available in ECC | More tightly coupled to the version; usually needs a specific connector |
| Middleware (SAP Integration Suite, SAP PCo or other) | An intermediate layer receives the plant data and transforms it for SAP | Centralizes rules and monitoring; SAP PCo is SAP's tool for connecting the shop floor | Another piece to license, configure and maintain |
| Intermediate file or table | The plant unit drops a file or a row and an SAP process picks it up | The simplest to get started | Slow, fragile and hard to audit |
For a plant with S/4HANA and an available SAP team, the API path is usually the cleanest. With ECC, or if the company already has a middleware, it is best to use what the IT team already manages.
How often should the data be sent? #
Not in real time. SAP does not need every part: it needs correct totals per order, shift or lot. The usual options are:
- At the close of each shift or order, which is what replaces the spreadsheet someone keys in today.
- Hourly, if management wants to see production progress in SAP during the day.
- Never per part: it generates thousands of documents and makes reconciliation unmanageable.
The fine detail (every part, every stop) stays in the plant system, where it serves OEE and analysis. SAP receives the summary.
What to validate before SAP accepts it #
- Correct order and material. The plant system has to know which order is running on each machine. If that depends on someone changing it by hand, that is where the first error is.
- Unit of measure. The PLC counts strokes, cycles or parts; SAP may expect boxes, kilos or units. The conversion is defined once and tested.
- Scrap separated from good production. If the PLC does not distinguish rejects, you need a second counting point or a rule.
- One submission per event, even if it is retried. If the network drops and the unit resends, SAP must not record it twice. Each submission carries a unique identifier.
- A visible error queue. When SAP rejects a record because the order is closed or the lot does not exist, someone has to see it and fix it the same day.
If the underlying problem is that the line count does not match what SAP says, measure the gap before integrating. We explain it in why the production count does not match the ERP, and the production KPI spreadsheet includes the recorded-versus-counted sheet to do it in a week.
What if the machine has no PLC, or the PLC does not count? #
It happens more often than it seems: old machines, manual lines or PLCs that do not keep a counter. The alternatives, without touching the machine, are a counting sensor at the outlet, reading the motor current to know whether it is producing, or machine vision on a camera that is already installed. At Grupo PROA, counting runs on 19 security cameras that already existed across six farms, with 99 % accuracy measured against manual counting, integrated with SAP S/4HANA and two years in production: the data goes into SAP with no transcription or spreadsheets.
What does iGromi do? #
iGromi OS is installed on an Edge unit inside the plant, reads PLCs, sensors and cameras without changing their programs, counts and validates production per order and shift, and delivers it to SAP through the interface the IT team defines. The detail stays in the plant for OEE and stops; SAP receives the summary it needs. We quote per plant, with no per-tag charges.
Frequently asked questions #
Do you have to change the PLC program to integrate it with SAP?
No. The PLC is read with a protocol it already supports, and the conversion to SAP transactions is done by an intermediate unit.
Does it work the same for SAP ECC and S/4HANA?
Yes, the interface changes. In S/4HANA the natural choice is the OData APIs; in ECC, BAPI, RFC or a middleware.
How long does an integration like this take?
The plant side, reading and counting, is usually done in weeks. What takes longest is on the SAP side: defining which transaction is fed, enabling the interface and testing with the IT team.
What happens if the network between the plant and SAP goes down?
The plant unit stores the submissions and sends them when the connection comes back, each with an identifier so SAP does not record it twice.
Does SAP PCo replace a plant system?
No. SAP Plant Connectivity carries data between the shop floor and SAP. Counting, validating and calculating OEE is still the job of a plant system.
Topics
- sap machine integration
- plc to sap
- sap s/4hana shop floor integration
- sap production order confirmation
- sap pco
- sap odata api
- machine data sap
- mes sap integration

About the author
Víctor RuzCEO
Automation and Robotics Engineer (Universidad Andrés Bello, 2012). More than twelve years in robotics and industrial automation. Founder and CEO of iGromi, where he connects machines, systems and plant people with secure industrial AI.


