ERP integration architecture: iPaaS, middleware and event-driven patterns
How to connect ERP to CRM, warehouse, banking and BI systems without building a spaghetti of point-to-point jobs — patterns, idempotency and monitoring.
Every ERP eventually becomes the hub of twenty integrations. The difference between an estate you can change and one you cannot is whether those integrations were designed or accumulated.
Four patterns, ranked by how well they age
- Event-driven — the ERP publishes business events; consumers subscribe. Loose coupling, easy to add consumers, best fit for near-real-time.
- API-led (request/response) — synchronous calls through a gateway with clear contracts. Great for lookups and user-facing flows; fragile when the ERP is slow.
- Batch file exchange — still correct for bank files, payroll and high-volume master data loads. Cheap and auditable; not real-time.
- Point-to-point database jobs — the pattern everyone regrets. Avoid direct database writes into ERP tables entirely; you bypass business logic and validation.
Non-negotiable design rules
- Idempotency. Every inbound message carries a business key and a source message ID; replays must not create duplicates. This single rule prevents most reconciliation nightmares.
- Canonical model. Map each system to a shared representation once, rather than N×N direct mappings.
- Backpressure. ERPs have finite throughput. Queue, batch and rate-limit rather than hammering the API and triggering lock contention.
- Poison-message handling. A dead-letter queue plus an operator UI beats a job that stops the whole feed.
- Contract versioning. Additive changes only; version the endpoint when you must break something.
Choosing the platform
| Situation | Reasonable choice |
|---|---|
| SAP-centric estate | SAP Integration Suite + Event Mesh |
| Oracle Fusion-centric | Oracle Integration Cloud |
| Microsoft-centric | Azure Logic Apps / Service Bus / Dataverse |
| Open-source ERP (Odoo, ERPNext) | n8n, Kafka or a small custom service |
| Multi-vendor, high volume | Kafka + a thin API gateway |
Observability
Instrument every flow with: message counts in and out, end-to-end latency, error rate by error class, and a business-level reconciliation (orders created in CRM vs orders present in ERP, compared daily). Technical dashboards miss silent data loss; the reconciliation catches it.
Security
- Dedicated service identities per integration with least-privilege roles.
- Secrets in a vault, rotated on a schedule, never in job definitions.
- mTLS or signed payloads for anything crossing the internet.
- Log who changed financial data and keep the trail for your audit period.
Migration advice
When replacing an old middleware platform, migrate the highest-volume, lowest-complexity flows first to build confidence, and keep the old platform running in parallel with reconciliation until a full period closes cleanly.