shopifycustomdevelopment

{% article 'erp-integration' %}

Shopify ERP integration: connecting NetSuite, SAP & Dynamics to your store

By Mario··Integration·9 min read

Once a store passes a certain size, the problem stops being the storefront and starts being everything behind it. Stock lives in an ERP. Pricing changes there. Orders need to land there for finance and fulfilment. Keep doing that by hand and you get oversells, wrong prices and a warehouse working from yesterday's data. This is what a Shopify ERP integration solves — and where a lot of them quietly go wrong.

What "ERP integration" really means

An integration is just an agreed, automated conversation between two systems: Shopify and your ERP (NetSuite, SAP Business One, Microsoft Dynamics, or something in-house). Each side owns certain data, and the integration keeps the other side up to date. The hard part is never the connection itself — it's deciding who owns what and what happens when they disagree.

The four things most stores sync

1. Inventory

Usually the first reason people call. The ERP is the source of truth for stock; Shopify needs to reflect it fast enough that you don't sell what you don't have.

2. Products & pricing

New products, price changes and status often originate in the ERP. Pushing them to Shopify avoids double entry, but you decide which fields the ERP controls and which merchandising can still edit without being overwritten overnight.

3. Orders

When a customer checks out, the order needs to reach the ERP for invoicing and fulfilment. This is the flow where errors hurt most: a dropped order is a customer who paid and got nothing.

4. Fulfilment & tracking

Once the ERP or warehouse ships, that status and tracking number flow back to Shopify so the customer gets notified. Closing this loop is what makes it feel automatic.

Real-time or batch?

This one decision shapes cost and complexity more than any other.

  • Real-time uses webhooks and API calls the moment something changes. Best when minutes matter. More moving parts, so it needs proper retry and error handling.
  • Batch syncs on a schedule — every 15 minutes, hourly, nightly. Simpler and cheaper, fine for catalogues that don't change second to second.

Most real stores are a mix: orders real-time, inventory every few minutes, full catalogue nightly. Matching the method to each data type is what keeps the bill and the fragility down.

The integrations that break aren't the ones with clever code. They're the ones where nobody decided what happens when the ERP and Shopify disagree.

Where integrations break

  • No error handling. An API call fails, nothing retries, and one order silently never reaches finance.
  • Two sources of truth. Both systems think they own price. You need one owner per field, written down.
  • Mismatched identifiers. Shopify keys on SKU; the ERP keys on an internal code. Without a clean mapping, products drift apart.
  • Rate limits ignored. A naive full-catalogue push at midnight hits Shopify's API ceiling and half of it fails quietly.

NetSuite, SAP and Dynamics — briefly

NetSuite has a mature API and is the most common pairing with Shopify Plus. SAP is powerful and rigid — integrations lean on middleware and careful field mapping. Microsoft Dynamics sits in between. The platform changes the details; the principles above don't move.

Off-the-shelf connector or custom build?

Connectors are worth trying first if your setup is standard. You move to a custom build when the connector can't express your rules: custom pricing logic, non-standard fulfilment, multiple systems. The honest answer for most mid-size stores is a connector for the common flows and custom code for the two or three things that make the business specific.

Related reading

← All articles