Skip to main content
Have a project in mind? Let's talk
Book a call Tell us about your project Book a Call
Insights & Guides

Shopify ERP Integration: How to Connect Shopify to Your ERP Without Orders Going Missing

The hard part is not moving data once, it is what happens when a message is lost. What to sync, who owns each field, and a design that survives failures.

A Shopify ERP integration keeps orders, inventory, customers and refunds consistent between your Shopify store and your ERP or accounting system, so nobody retypes them. Devvista is a software development and growth agency that builds these integrations as custom Shopify apps for merchants in the US, UK, Australia, Canada and the UAE, and is an official Odoo partner. The hard part is not moving data once. It is what happens when a message is lost.

This guide covers what to sync and who owns each field, the design that survives failures, build or buy, what changes by market, a cost example and how to measure it.

01 The Problem: Two Systems, One Truth Missing

A store takes an order. Someone copies it into the ERP, checks stock, and updates the store by hand. When volume rises, errors appear: oversold items, orders missing from the books, refunds that never reach accounting. Each fix costs a person an hour, and each hour repeats weekly.

The cause is that no system was declared the owner of each piece of data. The fix is a written ownership map, a connection that follows it, and a way to detect and repair anything that slips. The sections below build that up.

02 What to Sync, and Which System Owns It

Settle ownership field by field before any code is written. This table is a starting point, and every row should end with one system named.

DataUsual directionQuestion to settle
OrdersShopify to ERPWhen is an order created in the ERP: on payment, or on fulfillment?
Inventory levelsERP to ShopifyWhich system adjusts stock, and how often?
Products and pricesERP to Shopify, or the reverseWhere are prices maintained?
CustomersShopify to ERPDo guest checkouts create customers?
Refunds and returnsShopify to ERPHow do part refunds reach accounting?
Tax linesShopify to ERPWhich tax code does each line map to?
Shipping and trackingERP to ShopifyWho sends the tracking number?

If you use Odoo, we plan both sides together, since Devvista is an official Odoo partner. See Odoo implementation and development.

03 A Design That Survives Lost Messages

Shopify's webhook documentation describes webhooks as a mechanism for receiving near-real-time data about events on a shop, and says they are a performant alternative to polling. The same page is candid about limits: webhook delivery isn't always guaranteed, apps can miss or mishandle events through handler failures or downtime, and deliveries are unordered.

Shopify's recommendation is to use reconciliation jobs that periodically fetch data from Shopify so that your app stays consistent, for example using updated_at filters to fetch objects changed since the last run. That gives the design in three parts:

  • Webhooks for speed. New orders and refunds reach the ERP in near real time.
  • A reconciliation job for safety. On a schedule, compare what Shopify holds with what the ERP holds, and repair gaps.
  • A visible failure list. A screen where your team sees anything stuck, with the reason, instead of a silent log.

Because deliveries are unordered, the app must also cope with a refund arriving before the order it belongs to, using timestamps rather than arrival order.

04 Build a Custom App or Buy a Connector

Start with a connector from the App Store if one fits your ERP and your rules. A pre-built connector is cheaper and faster when your workflow is standard. Build custom when your pricing, stock rules or tax mapping are your own, when two or three connectors are patched together, or when you need the failure screen and reconciliation described above.

For a single merchant, Shopify's app distribution documentation says custom distribution is typical: it installs on one store, needs no approval, and cannot charge merchants through Shopify's app billing. Shopify describes the REST Admin API as a legacy API as of October 1, 2024, so a new integration should be built on the GraphQL Admin API. More on the build side is on our custom Shopify app development page.

05 What Changes by Market: US, UK, Australia, Canada and the UAE

The architecture is the same everywhere. The mapping is not, because tax codes, currencies and registrations differ:

  • United States: sales tax lines map to your ERP's tax codes, and tax is your responsibility under Shopify's own tax page.
  • United Kingdom: VAT lines map to VAT codes, and the accounting package (Xero, Sage and others) must receive tax-inclusive or tax-exclusive amounts consistently.
  • Australia: GST lines map to GST codes. Shopify's tax page lists Australia under Basic Tax without GST detail, so mapping is confirmed with your accountant.
  • Canada: GST/HST and provincial lines map to the right codes per region, and Shopify's Canadian tax setup help says to configure only the regions where you are registered.
  • United Arab Emirates: VAT lines map to your ERP's VAT codes. Shopify's tax page does not cover the UAE, so setup is confirmed with your accountant and Shopify support.

If you sell in several currencies, decide whether the ERP records the store currency or your base currency, and where conversion happens. Shopify Markets controls currency and tax by region on the Shopify side, and the integration has to respect it.

06 What a Shopify ERP Integration Costs

Devvista prices fixed projects from $500 to $100,000 depending on complexity, or hourly work from $10 to $100 an hour depending on the developer. Hosting for the app's backend is a separate monthly cost.

Worked example (an estimate, not a quote). Assume a two-way sync of inventory and orders between a Shopify store and an ERP with two warehouses, tax-code mapping, a reconciliation job and a failure screen, at one illustrative rate of $40 an hour:

WorkHours
Ownership map and spec16
App scaffold, authentication and webhooks18
Inventory sync across two warehouses28
Order sync28
Refunds and tax-code mapping20
Reconciliation job and failure screen18
Testing with real cases20
Handover8
Total156 hours, about $6,240 at $40 an hour

As an estimate, that is four to seven weeks of calendar time. More systems or more custom rules cost more.

07 How to Measure It, and Where Devvista Fits

Pick three numbers before the build: hours per week spent re-entering orders, orders needing a manual fix, and stock mismatches found each month. Check the failure list weekly for the first month. A short list that shrinks is healthy, and one that grows means a rule was missed.

Devvista is a software development and growth agency that builds Shopify ERP integrations, including Odoo, as custom apps with reconciliation and a visible failure screen. A good fit: a store that already knows which system should own which data. Not a fit: a store where a standard connector already does the job. Book a call and bring your ERP name and the manual steps your team repeats.

? Frequently Asked Questions

It is software that keeps orders, inventory, customers, refunds and tax lines consistent between Shopify and your ERP or accounting system, so no one retypes them. It usually combines webhooks for speed with a scheduled reconciliation job for safety.

Devvista prices custom integrations as a fixed price from $500 to $100,000 depending on complexity, or hourly from $10 to $100 depending on the developer. The worked example above is about 156 hours, or $6,240 at an illustrative $40 an hour, as an estimate and not a quote.

Use a connector when your ERP and workflow are standard and one app covers them. Build custom when your pricing, stock or tax rules are your own, when several connectors are patched together, or when you need reconciliation and a visible failure screen.

No. Shopify's documentation says webhook delivery is not always guaranteed and that apps can miss or mishandle events, so it recommends reconciliation jobs that periodically fetch data from Shopify.

Usually the ERP, with Shopify receiving updates, but it depends on where stock is actually counted. The decision is written down per field before any code is built.

Yes. Devvista is an official Odoo partner and builds apps that move orders, stock and refunds between Shopify and Odoo through their APIs, planning both sides together.

The GraphQL Admin API. Shopify describes the REST Admin API as legacy as of October 1, 2024, and requires new public apps to use only GraphQL, so building on it from the start avoids a rewrite.

Each country's tax lines must map to codes in the ERP: sales tax in the US, VAT in the UK and the UAE, GST in Australia and GST/HST plus provincial taxes in Canada. We confirm the mapping with your accountant.

Not for most integrations. Shopify says only Plus stores can use custom apps that contain Shopify Function APIs, which matter for rules that run inside checkout, not for syncing data.

Devvista is a software development and growth agency that builds Shopify ERP integrations as custom apps, including Odoo, with reconciliation and a failure screen. Book a call and bring your ERP name and the steps your team repeats.

→ Related Resources

More on connecting Shopify to your back office:

RE
Written by
Reyan Salah
Chief Technology Officer, Co-Founder, Devvista

Reyan Salah is the Chief Technology Officer and co-founder of Devvista. He architects scalable systems across AI automation, SaaS platforms, and enterprise integrations, drawing on 7+ years of hands-on engineering experience and 195+ shipped products.

Connect with Reyan on LinkedIn
Ready to start?

Have a project in mind? Let's talk about it.

Book a discovery call with Devvista. We'll scope your project honestly, ask the right questions, and tell you what you need to hear, not what you want to hear.

  • 30-minute consultation
  • No commitment required
  • Response within 24 hours
  1. Book a call30 minutes, no pitch. Tell us what you want to build.
  2. Get a straight answerHonest feedback on fit, scope and timeline.
  3. Decide with no pressureMove ahead only if it feels right. No commitment required.
Chat on WhatsApp