The architecture problem
An e-commerce storefront and an ERP rarely share the same data model or operational timing. The storefront needs fast product and availability information; the ERP often manages operational inventory, financial records or fulfilment processes. Problems begin when both are treated as equally authoritative for the same fields.
The integration therefore starts by defining which system is responsible for each dataset rather than by listing endpoints. Product identity, stock, prices, orders and fulfilment status can each have a different authoritative system and a different update path.
Treat each dataset separately instead of “sync everything”
- Catalogue: identity, SKUs, variants, categories and descriptive attributes.
- Inventory: physical, reserved and sellable quantity, including warehouse-specific rules.
- Pricing: base prices, customer-specific pricing, promotions and tax values.
- Orders: creation, payment status, ERP acceptance, fulfilment, cancellation and returns.
Choose consistency per flow
Real-time is not automatically more correct. An order submission may need immediate acknowledgement, while a large catalogue update may be safer as a validated batch. Inventory may require frequent incremental updates, but reconciliation still needs a slower independent process that can detect drift.
The implementation should make timing explicit so the business knows which values update immediately, which may arrive later and what happens during an outage.
Design retries before production
- Use durable external/internal identifiers so the same business event can be recognized after a retry.
- Make repeated processing safe where possible through idempotency or state checks.
- Record failed records with enough context for controlled replay or manual repair.
- Reconcile critical records independently so missing or inconsistent updates can be detected.
The integration contract
The integration layer defines more than data movement: which system owns each dataset, how changes propagate, how failures are recorded and how the systems return to a consistent state.