Shopify-to-ERP integration patterns

Shopify selling well, ERP holding stock and finance. Connecting them looks simple. It isn't.

Shopify-to-ERP integration patterns

Shopify-to-ERP integration is one of the most common e-commerce projects. Looks simple in spec — sync products, sync inventory, sync orders. Each of those has 5-10 edge cases.

Shopify-to-ERP integration patterns
Standard pattern: Shopify webhook → queue → ERP. Queue is the part you don't skip.

What needs to flow each way:

  • Products: master in ERP usually, but Shopify holds storefront-only fields (SEO meta, custom collections).
  • Inventory: real-time matters. Out-of-stock on Shopify when ERP shows zero — within minutes.
  • Prices: master in ERP, mirror to Shopify. Watch for promo prices and customer-specific pricing.
  • Orders: Shopify → ERP. Watch for partial shipments, cancellations, refunds.
  • Customers: master can be either side; pick one.

What goes wrong:

  • Inventory drift. Shopify reserves stock as soon as cart is created (in some flows), ERP doesn't know. Mismatch within hours.
  • Failed webhooks. Shopify retries, but only 19 times over 48 hours. Without queue and retry logic, you'll lose orders.
  • Refund cascades. Refund in Shopify needs to update ERP inventory + GL. Easy to miss either.
  • Multi-warehouse. Shopify Locations vs ERP warehouses don't always map cleanly.

Stack that works: webhooks from Shopify → queue (RabbitMQ, AWS SQS) → integration service → ERP. Always idempotent — same message replayable without side effects. Daily reconciliation reports as safety net.