Available for projects & agency overflow · Quick reply, from the person who does the work

Connecting Shopify to an ERP or management software

Connecting Shopify to an ERP or management software goes through the Admin API, in REST or GraphQL, and webhooks that react to store events in near real time. The hard part is almost never the connection itself, but translating between two data models that don’t match.

Describe my issue Send a message

How I approach a Shopify-ERP integration

  1. Map both data models

    I compare Shopify’s fields (products, variants, orders, stock) against the ERP’s: product references, VAT handling, shipping address structure. The gaps determine the real scope of the work.

  2. Choose between webhooks and periodic polling

    For frequent events, such as a new order or a stock update, I have a service react to Shopify webhooks rather than polling the API in a loop — cheaper and more responsive.

  3. Size the sync for the real volume

    On the GraphQL Admin API, the rate limit works by cumulative query cost rather than calls per minute: I size requests accordingly for a large catalogue or order volume.

  4. Handle partial failures

    A sync that fails halfway through — an order created in the ERP but not confirmed in Shopify, for example — needs to be detected and replayable, not silently dropped.

  5. Document the sync service

    I deliver a service that can be maintained or handed over, with its field-mapping rules and error handling documented, not an isolated script.

What I hear regularly

  • I have to re-enter every Shopify order into my management software by hand
  • Stock isn’t synced between Shopify and my ERP, so I sometimes sell items that are actually out of stock
  • The off-the-shelf connector app doesn’t match my ERP’s specific configuration
  • I want every Shopify order to trigger an accounting entry automatically
  • My product references don’t match between the two systems

Why the connection is easy and the sync isn’t

Shopify exposes an Admin API, in REST or GraphQL, covering products, orders, customers and stock, plus webhooks — orders/create, products/update, inventory_levels/update, among others — that notify an external system as soon as an event happens, without having to poll the API continuously. Technically, connecting to Shopify is well documented and rarely a problem on its own.

The real difficulty lies elsewhere: most ERPs don’t speak Shopify’s data model natively. Matching a product reference, a VAT rule, a shipping method or an order status between the two systems needs a middle layer that translates, and that knows what to do when a piece of data has no match on the ERP side. That service, more than the API connection, is the actual integration work.

Worth reading next

Describe your need in one minute

A few targeted questions so I can reply with an estimate rather than another questionnaire.

besoin
etat
plan (facultatif)
theme (facultatif)
Please provide an email or a phone number so I can get back to you.

Please provide an email or a phone number so I can get back to you.

Frequently asked questions

Should I use REST or GraphQL to connect Shopify to my ERP?
It depends on the volume and nature of the data to sync. GraphQL lets you fetch several related resources in one request and handles large catalogues better, but its rate limit works on cumulative cost, which needs factoring into sizing.
Can an off-the-shelf connector app be enough?
For a well-known ERP and a standard configuration, often yes. As soon as the configuration or business rules move off the standard path, these apps adapt poorly and a bespoke integration becomes more reliable.
What happens if the sync fails partway through?
It’s something I handle explicitly in the service: every failure must be detected, logged and replayable, to avoid a phantom order on one side or the other.
How long does this kind of integration take?
It mostly depends on the number of fields to map and the complexity of the ERP’s business rules, more than the number of Shopify endpoints used.
Do you maintain the sync service after it goes live?
Yes, that’s possible and even advisable: both systems evolve, whether through a new API version or a change on the ERP side, and an unmaintained sync eventually drifts silently.