Insight
The Hidden Complexity of ERP Integrations
Why enterprise integrations are rarely about moving data—and almost always about understanding how organizations actually work.
Enterprise Resource Planning systems have a reputation for being difficult to integrate. It's easy to assume the challenge comes from aging technology, incomplete documentation, or proprietary APIs. Sometimes it does. After spending enough time inside institutional systems, I've come to think those are rarely the hardest problems.
The real complexity usually lives inside the organization itself.
People often describe an integration as data moving from one application to another. A request is sent. A response comes back. On paper, it looks like a technical exercise. In practice, very few enterprise integrations are simply moving data. They're translating years of operational decisions into software.
Creating a student record. Approving a purchase request. Processing an employee action. Those sound like individual transactions, but each one usually carries a history. Someone decided who can perform it, when exceptions are allowed, which department owns the information, what happens if required data arrives late, what should be recorded for auditing, and which downstream systems depend on the result. None of those decisions belong to the API. They belong to the organization.
That's one reason two institutions running the same ERP can end up with completely different integrations. The software may be identical. The business rarely is. One organization requires three approvals. Another requires one. One refuses incomplete information. Another accepts it and resolves the missing pieces later. The integration slowly becomes less about connecting systems and more about reflecting how that organization actually works.
I've noticed another pattern over the years. Very few integrations stay as simple connectors. A service that originally existed to move data eventually starts validating requests, enforcing policies, translating identifiers between systems, coordinating multiple applications, and triggering additional workflows. Nobody necessarily plans for this to happen. It grows one business decision at a time until the integration layer quietly becomes one of the most important parts of the system.
That creates another misconception. People often refer to the ERP as the source of truth. In reality, enterprise environments rarely have a single source of truth. Identity may belong to one system. Financial records to another. Documents somewhere else. Workflow status somewhere else again. The integration becomes responsible for making those different perspectives appear consistent. From the outside, that work is almost invisible.
This is why I think successful ERP integration projects usually begin with questions that have very little to do with technology. Who owns this process? Why does this validation exist? Who depends on this exception? What problem was it solving when it was introduced? Those conversations often explain more than the API documentation ever will.
Estimating enterprise integrations is difficult for the same reason. A request that looks like a few API calls can uncover years of accumulated operational history. Every exception has a reason. Every validation has a story. Every workflow reflects decisions made by people solving real problems, sometimes long before the current development team arrived.
Good integration work is rarely about writing clever code. It is about making hidden behavior visible before changing it. The software can usually be rewritten. The difficult part is understanding why it behaves the way it does. Only then can it be improved without breaking the organization that depends on it.