Integrating Shopify Plus with an ERP and CRM is not finished when two apps are installed. The team must decide who owns products, inventory, orders, customers, refunds, and finance data. Cross-border stores often fail because several systems edit the same field, retries create duplicate orders, or market, currency, and return states are lost. Start with data boundaries and ownership, then choose APIs, events, apps, or scheduled imports.
Name sources of truth and owners
Assign a source of truth for products, variants, prices, inventory, customers, orders, refunds, delivery, and marketing consent. A PIM may own specifications and media, an ERP may own stock and finance, and a CRM may own relationship activity, while Shopify still needs the fields that drive the storefront. Each object needs an owner, update rule, conflict policy, and human hand-off.
“Real time” is not automatically better. Product facts may need batch review, inventory and order states may use events, and finance reconciliation may use repeatable jobs. Choose latency, frequency, and retry rules from order replay and exception requirements.
Make synchronisation retry-safe
Store an event ID, source, version, timestamp, and processing result. A duplicate event should return a safe prior result; a failure should enter a visible queue rather than disappear. Inventory logic must account for multiple locations, reservations, cancellations, and partial fulfilment. Order logic must cover failed payments, refunds, split shipments, address changes, and returns. Customer data needs consent, access, and deletion controls.
Start with a small catalogue and representative orders. Acceptance is not an HTTP 200 response: verify storefront price, back-office state, finance amount, support view, alerts, and recovery after failure.
Put markets into the integration model
Markets may use different currencies, catalogues, tax treatment, and delivery services. Include market, language, location, duty, carrier, and return-address fields instead of relying on one default country. If the CRM distinguishes wholesale and retail customers, document customer type, company account, and catalogue permissions and test for escalation or data leakage.
FAQ
Which system should be the order source of truth?
There is no universal answer. Assign ownership per field and workflow for order state, finance, inventory, and support rather than letting every system overwrite everything.
Can failed synchronisation be retried automatically?
Yes, with idempotency keys, limits, alerts, and a human queue to prevent duplicate orders or stock movements.
Is real-time synchronisation always best?
No. Events may suit orders and inventory, while product governance and finance reconciliation may need reviewed batches.
How should an integration be accepted?
Replay representative products and orders through price, stock, payment, refund, split fulfilment, delivery, support, finance, failure, and rollback paths.
What belongs in an ERP/CRM case study?
State boundaries, objects, period, exceptions, and authorised metrics; do not claim a “seamless” or fixed efficiency result without evidence.