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.
How I approach a Shopify-ERP integration
-
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.
-
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.
-
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.
-
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.
-
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.