Most B2B companies do not decide on an integration strategy. They accumulate integrations, one urgent requirement at a time, until the connections between systems are more complex than the systems themselves.

The decision that prevents most integration pain is deciding what is authoritative for each entity. One system owns customers, one owns orders, one owns invoices. Without that, every integration becomes a negotiation about who wins, resolved differently each time by whoever built it.

Start with a system-of-record map

EntityAuthoritative systemEveryone else
Prospect / leadCRMRead-only copy
Customer masterERP or financeRead-only copy
Product and pricingERP or PIMRead-only copy
OrderERP once confirmedStatus visibility
Invoice and paymentFinanceRead-only copy
Support ticketHelpdeskRead-only copy
EmployeeHR systemRead-only copy

The exact assignment matters less than making it explicitly and writing it down. The right-hand column is what prevents the bidirectional-sync problems.

Three architectures, in order of cost

ApproachWorks until
Point-to-point connectionsAround five or six integrations
Hub with shared middlewareScales well; costs money and learning
Event-driven with a message backboneScales furthest; needs real engineering maturity

Point-to-point is not a mistake at three integrations. It becomes one at fifteen, and the transition is much harder than the original builds.

What every integration needs, regardless of architecture

  • A named owner — a person, not a team inbox.
  • Idempotency, because retries and duplicate events are normal.
  • Retry with backoff for transient failures.
  • A dead-letter path someone reviews.
  • Alerting to a human when it stops working.
  • Reconciliation proving both sides agree.
  • Documentation of what it moves and why.

Build the reconciliation report with the first integration, not the tenth. It is the only thing that tells you the integration is working rather than merely running. Systems drift quietly, and the alternative discovery mechanism is a customer or an auditor.

Failure modes worth designing against

FailureWithout designWith it
Target system downData lostQueued, processed later
Malformed recordWhole batch stopsOne record to dead letter
Duplicate deliveryDuplicate order createdIgnored, idempotently
Credentials expiredSilent stopAlert before expiry
Schema changed upstreamSilent field lossValidation failure raised
Volume spikeRate limits hit, data lostBackpressure and retry

A pragmatic path from here

  1. Inventory what exists — every integration, what it moves, who owns it, whether it is monitored.
  2. Kill what is unused. There will be some.
  3. Write the system-of-record map and circulate it for disagreement.
  4. Add monitoring and alerting to what remains, starting with the business-critical ones.
  5. Add reconciliation to the ones moving financial or customer data.
  6. Only then consider consolidating onto a platform, if the count justifies it.

Signs the accumulation has passed the threshold

  • Nobody can list all the integrations.
  • Failures are discovered by users or customers.
  • The same transformation logic exists in several places.
  • Changing a field in one system breaks something unexpected.
  • Two systems disagree and nobody can say which is right.
  • Integrations exist whose purpose nobody can explain.

Planning integrations, or trying to regain control of existing ones? Tell us what connects to what. See Salesforce integration patterns, Zoho and ERP, and CRM data migration.

Frequently asked questions

It is not the count, it is whether each one has an owner and monitoring. Ten well-monitored integrations are more manageable than three nobody watches. The problem appears when integrations outnumber the people who understand them.
When the shared cost of monitoring, retry and transformation across several integrations exceeds the platform cost and the effort of learning it. That is usually somewhere past the fifth integration, not the second.
Document what it does from observation, add logging, and establish whether it is still needed before touching anything. A surprising proportion of legacy integrations are moving data nobody consumes.