
Connecting Shopify to your ERP isn't optional
Once a store grows past launch, the catalogue stops living only in Shopify: stock is controlled by the ERP, prices are set by the sales team, B2B customers have their own terms, and invoicing runs through another system. If that data doesn't travel on its own between platforms, someone ends up copying it by hand, and that's where stock errors, outdated prices and orders lost between systems start.
We've spent more than 17 years connecting ecommerce to management systems, first on Magento and now on Shopify too. It's not just plugging in two APIs: it's deciding which system owns each piece of data, how often information travels, and what happens when something fails mid-sync.
How we connect Shopify to your ERP
Shopify gives no access to the server or the database: every integration runs through its Admin API (GraphQL) and through webhooks that notify you in real time of what changes in the store (a new order, a customer signing up, a product update). There are no shared files or database triggers like some on-premise ERPs expect: if your system assumes that model, the integration starts by translating it into events and API calls.
There's a technical limit that shapes the integration design from day one: the number of requests per second to the Admin API scales with the plan you're on. Basic and Grow get 100 points per second, Advanced 200, and Plus 1,000. A massive stock and price sync (for example, the initial load of a large catalogue) will choke on a lower plan, and that needs deciding before signing, not once it's already running.
What we sync
We adapt to your ERP
We work with SAP, Navision, Business Central, Axapta, Odoo, Sage and Spyro, plus in-house systems and custom builds. The connection adapts to the system you already have, not the other way around.
Products and catalogue
The catalogue is created and maintained from the ERP or PIM, without touching the Shopify admin by hand. Every change in the source system (price, description, image, availability) reaches the product page without manual work.
Stock and orders
Stock is synced both ways: what you sell on Shopify is deducted from the ERP, and whatever comes in or out of the ERP updates availability in the store. Every new order triggers a webhook that sends it to the ERP with its lines, quantities, discounts and shipping method.
Prices and price lists
Price lists are managed where they're already managed today, in the ERP, and pushed to Shopify automatically. If your business has different rates by customer type, this connects directly with Shopify's B2B price lists, which support up to three active price lists on any plan.
Customers
Customers who sign up or buy on Shopify are created in the ERP with their contact details, addresses and commercial terms, without duplicating records or managing them separately in each system.
Invoicing
Shopify doesn't generate invoices with the numbering and legal requirements Spanish regulations demand. Invoicing is handled in the ERP or in a connected invoicing tool, and what we integrate is the order handover with all the data that invoicing needs.
Many integrations are solved with Shopify's own tools: Admin API, webhooks, and for specific business logic, Shopify Functions. When the ERP has its own rules that don't fit that model (internal approvals, customer-by-customer negotiated rates, specific invoicing processes), the answer is a custom distribution app, built for your store and not going through the App Store. Deciding between an existing app, Shopify's native tools or a custom build is the part of the work that saves the most money in the long run. An agency that only installs apps will always recommend an app.
Frequently asked questions about Shopify ERP integrations
Is ERP synchronisation real time or batched?
It depends on the data. Orders and new customers travel almost instantly, because Shopify reports each change with a webhook and the integration picks it up as soon as it happens. Stock and prices for a large catalogue usually go in scheduled batches, because the API caps requests per second by plan (100 points on Basic and Grow, 1,000 on Plus). We prefer to decide the frequency data by data: syncing everything in real time makes the integration more expensive and is rarely needed.
Which system should own each piece of data?
Each piece of data should have a single system of record, and the rest only read it. Typically the ERP owns stock, price lists, business customer terms and invoicing; the PIM, if there is one, owns descriptions and images; and Shopify is where web orders originate. When two systems can edit the same data, sooner or later they overwrite each other. In our view, this decision is made before writing a single line of code, because everything else depends on it.
Is an App Store connector enough, or do I need custom development?
An App Store connector is usually enough when the ERP is very common and the flows are standard: products, stock and orders with no special rules. It stops fitting when there are prices negotiated customer by customer, internal approvals or invoicing with its own requirements, and it also adds a monthly fee you pay for as long as you use it. In those cases a custom distribution app, built only for your store, pays off. We tell you which of the two routes suits you before quoting, with the cost of both on the table.
What happens if a sync fails halfway through?
We design the integration assuming something will fail at some point: an ERP outage, a Shopify notification that never arrives, or a request rejected for exceeding the API limit. Every operation is logged and retried without duplicating orders or stock movements and, if it does not resolve itself, it raises an alert for someone to review. On top of that, a periodic reconciliation compares both systems and corrects any differences. Without these pieces, errors surface when a customer buys something that is not in the warehouse.
I have an integration created from the Shopify admin. Does it still work?
Yes. Legacy custom apps, the ones generated from the admin itself, keep working. What changed on 1 January 2026 is that new ones can no longer be created that way: they are now created with the Dev Dashboard or Shopify CLI. Shopify cited security, because that method left merchants holding access tokens that never expired. If your integration depends on one of these apps, it is worth checking who holds those credentials today and what permissions they have.
Should your ecommerce already be talking to your ERP?
Tell us what system you use, what information needs to travel and how often. We'll tell you what's solved with Shopify's native tools and what needs custom development, before we start.