Skip to content
ERP Builders

Integration · Commerce

Shopify ERP integration for brands that ship real volume

Shopify is an excellent storefront. It is not an inventory, purchasing or accounting system for a multi-channel business. The integration's job is to let Shopify sell while the ERP runs operations — without anyone exporting CSVs.
Integration flow from Shopify through an integration layer with queueing, mapping and retries into ERPSOURCEShopifywebhook · RESTINTEGRATION LAYERValidate + mapQueue (idempotent)Retry w/ backoffDead-letter + alertSYSTEM OF RECORDERPorders · stock · ledgerINBOUND (ORDERS, CUSTOMERS)OUTBOUND (STOCK, STATUS, INVOICES)

Overview

What this integration is for

We build Shopify integrations on the Admin API and webhooks, with clear rules about which system owns each piece of data and what happens when either side is unavailable.

01Data

What data syncs, and in which direction

Data synchronised between Shopify and the ERP
EntityDirectionNotes
OrdersApp → ERPNew and paid orders imported as sales orders with lines, discounts, shipping, taxes and payment status.
CustomersApp → ERPMatched by email with rules for guest checkouts; B2B companies mapped to ERP accounts.
Products & variantsERP → AppERP as master for SKUs, prices and core attributes; merchandising content can stay in Shopify.
Inventory levelsERP → AppAvailable quantity per location pushed with optional safety buffers.
Fulfilments & trackingERP → AppShipments and tracking numbers posted back so customers are notified.
Refunds & returnsApp → ERPRefunds create credit notes; returns create return receipts.
PayoutsApp → ERPShopify Payments payouts reconciled against orders, fees and refunds.

02Use cases

Common use cases

01

Single inventory across channels

One stock figure feeding Shopify, wholesale and marketplaces.

02

Automated fulfilment

Orders flow to warehouse picking and tracking returns to Shopify automatically.

03

Accurate accounting

Sales, taxes, fees and payouts posted correctly without manual journals.

04

B2B and DTC together

Shopify for consumers, ERP portal or Shopify B2B for trade, with one ledger.

03 — Architecture

API architecture

Shopify pushes order and refund events through webhooks to a receiving endpoint that verifies the HMAC signature, stores the payload and acknowledges quickly. Processing happens asynchronously from a queue, so a slow ERP never causes Shopify to time out and retry.

Outbound updates — stock, prices, fulfilments — are batched and sent through the Admin API, respecting Shopify's rate limits. A scheduled reconciliation job compares recent orders on both sides to catch anything a webhook missed.

Integration flow from Shopify through an integration layer with queueing, mapping and retries into ERPSOURCEShopifywebhook · RESTINTEGRATION LAYERValidate + mapQueue (idempotent)Retry w/ backoffDead-letter + alertSYSTEM OF RECORDERPorders · stock · ledgerINBOUND (ORDERS, CUSTOMERS)OUTBOUND (STOCK, STATUS, INVOICES)

04Reliability

Authentication, errors and retries

01

Authentication

A custom or private app installed on the store with scoped Admin API access tokens limited to the resources the integration needs. Tokens are stored in a secrets manager, never in code.

02

Error handling

Each order is processed with its Shopify ID as an idempotency key. Validation errors (unknown SKU, tax mismatch) go to an exception queue with the reason, visible to the operations team.

03

Retry strategy

Transient failures and rate-limit responses retry with exponential backoff. After the final attempt, messages move to a dead-letter queue and an alert is sent; they can be replayed once fixed.

05 — Data mapping

Field mapping essentials

Field mapping between Shopify and the ERP
ShopifyERP
order.id / nameSales order referenceBoth stored for traceability
line_items.skuProduct (internal reference)Unknown SKUs go to exceptions
customer.emailPartnerMatched, not duplicated
tax_linesTax / fiscal positionMapped per jurisdiction
shipping_linesDelivery method & charge
inventory_level.availableFree quantity per locationLess safety buffer

06 — Automation

Automation opportunities

  • Auto-confirm paid orders and release them to picking by carrier cut-off
  • Hold high-risk or address-mismatch orders for review
  • Create purchase proposals when online demand pushes stock below reorder points
  • Send low-stock alerts per channel before products sell out

07 — Security

Security considerations

Webhook payloads are verified with Shopify's HMAC signature before processing. Access tokens have minimum scopes and are rotated when staff with access leave. Customer personal data is only stored where operationally necessary.

Insights

Related reading

ERP Integrations2 min read

RFID Integration with Odoo: A Practical Architecture

How to integrate RFID readers with Odoo inventory: middleware design, mapping EPCs to products and serials, receiving and counting flows, performance and what to build vs buy.

FAQ

Frequently asked questions

Should we use an existing Shopify connector?

Evaluate it first against your rules for customers, taxes, variants, bundles and multi-location stock. If it fits, it is usually the cheapest option. If it needs heavy modification, a purpose-built integration is easier to own.

How quickly does stock update in Shopify?

Typically within a few minutes. We batch updates and apply buffers rather than pushing every single stock movement.

Can we handle bundles?

Yes. Bundles sold in Shopify can explode into component lines in the ERP so stock is deducted correctly.

Next step

Connecting Shopify to your ERP?

Tell us your volumes, channels and data rules. We will outline the architecture and the risks before anything is built.