System Integration

Why Most Manufacturing System Integrations Fail (And How to Get It Right)

Most manufacturers run 5–10 systems that don't talk to each other. Here's why integration projects stall — and the architectural principles that make them work.

Qentropix Technologies·March 17, 2026·8 min read

The hidden cost of fragmentation

A mid-size manufacturer we spoke with recently was running their business across seven different systems — an ERP for finance and procurement, a separate MES for production, a CRM for sales orders, a PLM for engineering changes, a standalone WMS, a logistics platform, and a quality management system. None of them were connected.

Every morning, the operations team spent two hours manually re-keying data between systems. A sales order confirmed in the CRM didn't automatically create a production order in the MES. A bill-of-materials change approved in PLM didn't update the ERP until someone manually exported and re-imported it — sometimes days later. Decisions about whether to accept a rush order were made on gut feel because there was no real-time view of production capacity.

This isn't unusual. According to most industry surveys, data re-entry and manual reconciliation between systems accounts for 15–30% of administrative overhead in manufacturing operations. The cost isn't just the hours — it's the quality of decisions made on data that's already out of date by the time it's acted on.

"Integration is the #1 reason ERP implementations fail to deliver their promised ROI. The system works. It just doesn't talk to anything else."

Why integration projects stall

Most integration failures aren't technical. They're architectural and organisational. Here are the four patterns we see most often:

1. Point-to-point sprawl

The first integration is always simple: connect System A to System B. Someone writes a script or uses a vendor connector. It works. Then someone connects A to C, B to D, C to E. Within two years you have 20 custom integrations, each maintained by a different person (or no one), each with slightly different data models. When System B upgrades its API, six integrations break simultaneously — and no one knows which ones until something stops working in production.

2. No single source of truth

When the same data lives in multiple systems without a clear owner, it diverges. The ERP says inventory is 840 units. The WMS says 812. The MES says 791. Who's right? Usually the answer is "it depends on when you last synced" — which means no one can trust any of them without checking the others. Decision-making slows to the pace of the slowest system.

3. Integration that bypasses the core

Some systems — particularly large ERP platforms — have strict rules about how they can be extended. Going around those rules (directly querying the database, writing to tables outside the sanctioned API) creates integrations that appear to work but break silently on every upgrade. We see this frequently with SAP environments where custom ABAP modifications have made the system impossible to patch.

4. Treating integration as an afterthought

Integration is often scoped at the end of a project — after the main system is live, as a line item in the "phase 2" plan that never gets funded. By then, the new system is already operating in isolation, and the business has adapted its processes around the gap. The integration becomes harder to build because now it has to accommodate workarounds that wouldn't exist if it had been designed from the start.

The right architecture

There's no single "right" integration architecture — it depends on the systems involved, the data volumes, the latency requirements, and the team that will maintain it. But there are three patterns worth understanding:

Hub-and-spoke
A central integration layer that all systems connect to. Every system publishes and consumes data through the hub, never directly to each other. Clean, maintainable, but the hub becomes a single point of failure and can become a bottleneck.
Event-driven / message bus
Systems publish events ("order created", "inventory updated") to a shared message bus. Other systems subscribe to the events they care about. Highly scalable and decoupled — a system can go offline without breaking others. More complex to implement and debug.
API gateway
A thin layer that routes API calls between systems, handles authentication, and enforces rate limits. Good for request/response patterns. Doesn't handle the asynchronous, event-driven scenarios that manufacturing operations often require.

For SAP environments specifically, the answer is usually SAP Business Technology Platform (BTP). BTP provides the sanctioned, non-invasive path to expose SAP data and transactions to external systems — without modifying core, without direct database access, and without creating brittle custom code that breaks on every upgrade.

We used exactly this approach in a recent engagement where a manufacturer needed to mobilise SAP workflows for executives and plant floor supervisors. Rather than building a custom connector, we built a BTP Extension API layer that surfaces the right data to the right role — approval queues for executives, production orders for plant managers, work orders for floor supervisors — all live from SAP, all through the supported API. Read that case study →

Practical rule

Standardise your data models before writing a single line of connector code. Half of all integration bugs are caused by the same field having different names, formats, or units in different systems.

What good integration looks like in practice

Here's how the four most common manufacturing integration patterns should work when they're done right:

ERP ↔ CRM
A sales order confirmed in the CRM triggers a production order in the ERP automatically — no re-keying, no batch file, no overnight sync. When the production order ships, the CRM updates the customer record. Returns flow back the same way. The sales team always knows what's in production. The production team always knows what's committed.
ERP ↔ PLM
An engineering change approved in PLM updates the bill-of-materials in ERP in real time. Production planning uses the current BOM, not the version from last month's export. Cost rolls recalculate automatically. No more "which version are we building" conversations on the shop floor.
ERP ↔ MES
Production actuals write back to ERP as work orders complete — quantities, scrap, downtime. Finance sees real costs, not standard costs. Inventory is accurate at shift end, not at month end. Variance analysis becomes a continuous process rather than a month-end fire drill.
ERP ↔ WMS
Goods receipts posted in the WMS immediately update ERP stock levels. Pick lists generated from ERP are reflected in the WMS without manual import. The warehouse team works from one screen, not two.

Build for observability from day one

The most underrated requirement in any integration project is observability. Integration failures are silent by nature — data stops flowing, but nothing crashes, and the users just quietly start doing things manually again. By the time someone notices, the systems are weeks out of sync.

Every integration layer needs three things:

  • A structured log of every message or API call — what was sent, what was received, whether it succeeded
  • An alert that fires when messages stop flowing or when error rates exceed a threshold
  • A dead-letter queue or retry mechanism so failed messages don't disappear silently

This sounds obvious, but in our experience fewer than half of the integration layers we've inherited have all three. The result is an integration that works — until it doesn't, and no one knows why or when it stopped.

Where to start

If you're looking at a fragmented system landscape and wondering where to begin, we'd suggest the following:

1
Map the highest-friction data handoff
Where does data get re-keyed most often? Where do errors occur because someone copied the wrong version? That's your first integration. Fix the pain point that costs the most time and causes the most errors.
2
Standardise the data model first
Agree on field names, formats, units, and allowed values before writing code. A shared data dictionary prevents most integration bugs before they happen.
3
Use the sanctioned path
If you're integrating with a major platform (SAP, Salesforce, Oracle), use the vendor's supported API or integration platform. Going around it saves time today and causes production incidents for the next five years.
4
Build observability in from the start
Logging, alerting, and retry logic are not optional extras. Build them into the first integration so the pattern is established for everything that follows.

See how this looks in a real manufacturing environment

If system integration is the issue, the next step is usually not a generic contact form. It is seeing how the operational flow, visibility, and execution layer come together in a manufacturing context.