User to Cart

Shopify integrations with ERP, accounting, CRM and marketplaces

A Shopify integration moves data between your store and the other systems your business runs on: accounting, ERP, CRM, helpdesk, marketplaces, payment providers and AI services. For simple set-ups an App Store connector is enough. When your mapping, volume or edge cases are specific to your business, you need a custom integration app built on the GraphQL Admin API and webhooks, with proper retry and reconciliation.

Each guide below covers what data flows between the two systems, the off-the-shelf options, where they break, and how a custom integration is designed.

The three ways to integrate Shopify

1. A connector app. Many systems publish their own Shopify app, and third-party connector apps cover most popular pairs. You install it, map a few fields and it runs. This is the right starting point for most stores. Connectors are built for the common case, though. They work well until your process isn't the common case.

2. An iPaaS or middleware platform. Integration platforms such as Celigo, Workato, MuleSoft or Boomi, and lighter tools like Zapier or Make, give you pre-built Shopify connectors plus a place to write your own mapping and flows. They are good when you connect several systems and have someone who can own the flows. You still have to design the edge cases. The platform only gives you somewhere to put them.

3. A custom integration app. A Shopify app built for your store that subscribes to webhooks, calls the GraphQL Admin API and talks to the other system's API directly. It costs more upfront, but it does exactly what your process needs, and the logic lives in code you own and can test.

These options mix. A common, sensible set-up uses the accounting system's own connector for payouts, an iPaaS for CRM sync, and a small custom app for the one ERP flow that nothing else handles.

Where connectors usually break

The same problems come up across almost every system:

  • Refunds and order edits: partial refunds, refunds without restock, exchanges, and edits after an order has already been exported.
  • Multi-location inventory: stock per warehouse, transfers, and which location a fulfillment ships from.
  • Tax: different tax codes per country or state, tax-inclusive pricing for UK, EU and AU stores, and duties.
  • Currencies: orders in the customer's currency, payouts in the store's currency, and the FX difference in between.
  • Bundles and kits: one Shopify line item that is three SKUs in the ERP, or the reverse.
  • B2B: company accounts, payment terms, customer-specific prices and PO numbers.
  • Volume: a sync that works at 50 orders a day falls behind at 5,000 during a sale.
  • Silent failures: a record fails to sync and nobody knows until month-end.

How a custom Shopify integration is designed

Every integration guide on this site describes the same core architecture, adapted to the other system:

  1. Events in. The app subscribes to Shopify webhooks such as orders/create, orders/updated, refunds/create, products/update and inventory_levels/update. Each delivery is verified with its HMAC and written to a queue immediately, and the app returns 200 right away.
  2. Idempotent processing. A worker takes each event and writes to the other system, using the Shopify ID as an idempotency key or external reference. Shopify can deliver a webhook more than once, so processing the same event twice must not create a second invoice or sales order.
  3. Retry with back-off. If the other system is down or rate-limited, the event is retried later. After a set number of attempts it goes to a dead-letter list with the error message, visible to staff.
  4. Pull where push isn't possible. For data that changes in the other system, such as inventory in the ERP or payment status in accounting, the app either receives that system's webhooks or polls on a schedule and writes to Shopify through the GraphQL Admin API. Large updates use bulk operations.
  5. Reconciliation. A scheduled job compares both sides for a period: order counts, totals and stock levels. It flags or repairs differences. This is what makes an integration trustworthy.
  6. Traceability. Every record stores the IDs from both systems, in Shopify metafields and in the other system's reference fields, so anyone can trace an order from one side to the other.

Decision checklist

  • Which system is the source of truth for products, prices, inventory and customers?
  • Which direction does each data type flow, and how quickly must it arrive?
  • What are your peak order volumes and SKU count?
  • Which edge cases happen in your business: refunds, exchanges, bundles, B2B, multi-currency?
  • Does the other system have a documented API and a sandbox?
  • Who will look at failed syncs, and where?
  • What does a wrong or missing record cost you: a support ticket or a tax filing?

Frequently asked questions

What is the best way to integrate Shopify with another system?

Start with the simplest option that handles your edge cases: a native or App Store connector first, an iPaaS platform if you need custom mapping across several systems, and a custom integration app when the data model or volume is specific to your business. The right choice depends on the systems, the direction of sync and how much a wrong record costs you.

Does a Shopify integration need Shopify Plus?

No. Integrations that use the GraphQL Admin API and webhooks work on every plan. Plus only matters if the integration also needs checkout UI extensions on the information, shipping or payment steps, a custom app that contains Shopify Functions, or Plus-only B2B features.

How long does a custom Shopify integration take to build?

It depends mostly on the other system. A one-way order export to a system with a good API is a small project. A two-way sync of orders, inventory, prices and customers with an ERP that has no sandbox is a large one. A written scope with sample records from both systems is what turns this into a real estimate.

What happens when the other system is down?

In a well-built integration, nothing is lost. Events from Shopify are stored in a queue, retried with back-off while the other system is unavailable, and anything that still fails goes to an error list someone reviews. A scheduled reconciliation job catches anything missed.

  • Build a Shopify app

    An honest guide to building a Shopify app in 2026. The stack (Shopify CLI, GraphQL Admin API, webhooks, extensions, Functions, billing), public vs custom apps, App Store review, hosting and what usually goes wrong.

  • Shopify B2B

    What Shopify B2B includes on each plan since April 2026, how companies, catalogs, volume pricing, payment terms and purchase orders work, and which B2B requirements need a custom Shopify B2B app or ERP integration.

  • Hire a Shopify app developer

    Freelance Shopify app developer for custom app development, ERP and accounting integrations, Checkout UI extensions and Shopify Functions. How an engagement works and what to prepare.