ERP•11 min read

Shopify ERP Integration: Connector, iPaaS or Custom - How to Choose

There are three ways to connect an ERP to Shopify: the vendor's own connector, an integration platform like Celigo, or a custom build. What each one actually covers, what the official connectors leave out, and the rules that decide which you need.

Max Gal, Co-Founder, Byteex

There are three ways to connect an ERP to Shopify: the ERP vendor's own connector, an integration platform such as Celigo, or a custom integration. The right one depends less on the ERP than on how unusual your business rules are. A store with one warehouse, one price list and standard fulfilment is well served by a connector. A business with several warehouses, B2B pricing, multiple storefronts or rules no connector can express will pay for a custom build sooner or later - the only question is whether it pays once or every year.

What an ERP integration actually moves

An integration is a set of flows, and each flow has a direction. Getting the directions right matters more than any tool choice, because two systems that both believe they own the same value will quietly overwrite each other. In a typical setup the ERP is the source of truth for the catalogue and the money, and Shopify is the source of truth for the order.

  • Products and variants, ERP to Shopify: items become products, matched by SKU.
  • Prices and price lists, ERP to Shopify: store prices plus customer or group lists for B2B.
  • Stock by warehouse, ERP to Shopify: quantities per warehouse mapped to Shopify locations.
  • Orders, Shopify to ERP: every order created as a sales order, with lines, discounts, shipping and payment.
  • Customers, both ways: matched by email or phone, created where missing.
  • Fulfilment and invoices, ERP to Shopify: tracking numbers and status returned, the invoice raised in the ERP.

The SKU is what holds all of this together. It's the key that matches an ERP item to a Shopify variant, so the single most useful thing you can do before any integration project is to make sure every variant has a SKU and no two share one. Missing and duplicated SKUs cause more failed syncs than any API problem.

Option 1: the vendor's own connector

Where an official connector exists and fits, start there. It's maintained by the vendor, it's usually the cheapest route, and it covers the common flows. The catch is in the fit, and the detail that matters most is often hosting and version.

Microsoft Dynamics 365 Business Central is the clearest example. Microsoft ships an official Shopify Connector that syncs items, stock, orders, customers and shipments, supports more than one Shopify store, and comes preinstalled for new Business Central sign-ups. But it is only available on Business Central Online. If you run Business Central on-premises, the connector isn't an option and the integration has to be built against Business Central's APIs instead.

NetSuite has one too. Oracle acquired the connector vendor FarApp in 2021, and its Shopify connector now ships as NetSuite Connector, supported by Oracle NetSuite and added to your account through your NetSuite account manager. It's well suited to fairly simple integrations; merchants with heavier customisation, B2B or multi-subsidiary logic tend to move on to an integration platform or a custom build.

Odoo is narrower still. Odoo's own first-party Shopify connector only works on Odoo.sh and requires version 19. It also imports products from Shopify into Odoo rather than publishing them from Odoo - which is the opposite of what most merchants want when Odoo is where the catalogue is managed. On earlier versions, self-hosted Odoo or Odoo Online, the choice is a third-party connector from the Odoo App Store or a custom integration. Odoo Online doesn't allow third-party modules at all, so there the integration has to run as an external service against Odoo's API.

Check a connector's hosting and version requirements before anything else. A connector that covers every flow you need is still no use if it doesn't run where your ERP does.

Option 2: an integration platform

An iPaaS - an integration platform as a service - sits between the two systems and runs configurable flows built from prebuilt connectors. For NetSuite and Shopify, Celigo is the best-known example. Its Shopify App Store listing describes syncing customers, items, orders, cancellations, refunds and returns, B2B companies and catalogues, inventory from warehouses including kits, products with variations, and multiple stores into one NetSuite account.

The strength of a platform is speed: standard flows can be running in weeks, and they're maintained for you. The cost is recurring. Celigo's NetSuite listing shows a 30-day free trial and then a starting package at $7,800 a year, with a limit on endpoints - and larger setups with more flows cost more. That's reasonable for standard processes. It becomes harder to justify when most of the value is in custom logic you're paying a platform to host, or when the subscription keeps growing as you add stores and markets.

Option 3: a custom integration

A custom integration is a small dedicated service that talks to your ERP's API on one side and Shopify's on the other, with your business rules written into it. It costs more up front than turning on a connector, and less over time than a platform subscription. More importantly, it can express anything: stock calculated as available-to-sell after open orders and a safety buffer, orders routed to a different subsidiary by country, B2B customers given their own price list and payment terms, several Shopify stores against one ERP company with different logic for each.

It's the usual route for ERPs without an official connector - SAP Business One and Priority among them - and for NetSuite, Business Central and Odoo setups that have outgrown their connectors or sit outside their hosting and version requirements.

How to choose

  • Choose the vendor connector if one exists for your hosting and version, and it covers every flow on your list without workarounds.
  • Choose an integration platform if your processes are standard, you want something running quickly, and the recurring cost is comfortable at your size.
  • Choose a custom integration if you have several warehouses, B2B pricing, multiple stores or markets, unusual stock rules - or a platform subscription that keeps growing.
  • Start small whichever you pick: stock and orders first, then invoices, B2B and additional stores as updates to an integration that already works.

Shopify's API limits shape the design

Whatever the tool, it runs inside Shopify's API rate limits, and they differ by plan. Shopify's GraphQL Admin API meters requests by calculated query cost: standard plans restore 100 points per second, Advanced 200, Shopify Plus 1,000, and Shopify for enterprise 2,000. Limits apply per app and store, so one integration's traffic doesn't eat into another app's budget.

In practice this decides the sync design. Pushing stock for a large catalogue every few seconds on a standard plan will hit the limit; pushing only the quantities that changed, every few minutes, won't. Orders should never wait on a poll at all - they should arrive the moment they're placed, through Shopify webhooks, and be queued so that a temporary failure on the ERP side never loses one.

Where integrations actually go wrong

The happy path - an order placed, paid and shipped - is the easy part, and every option handles it. Integrations fail on the cases nobody wrote down. Each of these needs a defined behaviour before anything is built:

  • Returns and credit notes: does a Shopify refund create a credit memo in the ERP, and who restocks the item?
  • Partial fulfilment: an order shipped in two parcels from two warehouses.
  • Sell-outs at checkout: stock reached zero between the last sync and the customer paying.
  • Cancellations and edits: an order changed in the Shopify admin after it already reached the ERP.
  • Duplicate customers: the same person existing twice in the ERP under different emails.
  • Manual orders: orders created by staff in the Shopify admin rather than by customers.

Before you start: a scoping checklist

What to have answered before choosing a tool

  • Every variant has a unique SKU

    In both systems, with no duplicates and no blanks.

  • Source of truth decided per field

    Exactly one system owns each value - products, prices, stock, orders, customers, invoices.

  • Flows written down with direction and timing

    What moves, which way, and how often.

  • Hosting and version confirmed

    Cloud or on-premises, and which version - this alone can rule a connector in or out.

  • Warehouses, stores and markets counted

    Each one multiplies mapping and logic.

  • Edge cases given a behaviour

    Returns, partial shipments, sell-outs, cancellations, duplicates and manual orders.

  • A test environment available

    A sandbox or test company in the ERP and a development store in Shopify.

With those answered, the choice between connector, platform and custom build usually makes itself - and you'll know exactly what you're asking any partner to build.

Want this applied to your store?

Work with the Byteex team

We help Shopify DTC brands turn more visitors into buyers. See how we can help you below, or browse real client results.

Frequently Asked Questions

Does my ERP have an official Shopify connector?

Some do. Microsoft ships an official Shopify Connector for Dynamics 365 Business Central, available on Business Central Online but not on-premises. Oracle offers NetSuite Connector, formerly FarApp, which you add through your NetSuite account manager. Odoo's own Shopify connector only works on Odoo.sh and requires version 19. SAP Business One and Priority are usually connected through an integration platform or a custom build.

Should the ERP or Shopify be the source of truth?

Decide it per field rather than per system. In most integrations the ERP owns products, prices, stock and invoices, and Shopify owns orders and the customer-facing record. What matters is that every field has exactly one owner, so the two systems never overwrite each other.

How much does Celigo cost for NetSuite and Shopify?

Celigo's NetSuite integration listing on the Shopify App Store shows a 30-day free trial followed by a starting package of $7,800 a year, with a limit on endpoints. Larger setups with more flows or endpoints cost more, so get a quote against your actual flow list.

How often should stock sync between the ERP and Shopify?

Orders should move immediately, using Shopify webhooks. Stock usually syncs every few minutes, which is close enough to real time to prevent overselling for most catalogues without burning through Shopify's API rate limit. Very fast-moving stock or flash sales may justify a shorter interval or holding a safety buffer.

Keep reading