What Actually Breaks When You Connect Shopify to an ERP
Every ERP connector on the Shopify App Store promises the same thing. Connect your systems, sync your inventory, stop double entry. Then six weeks in, stock is drifting, a warehouse is showing quantities nobody can explain, and someone is reconciling in a spreadsheet again. The failure is almost never the ERP or the connector. It is three properties of the Shopify platform that vendor marketing does not mention, and one of them depends on which plan you pay for.
Fact one, your sync speed is set by your Shopify plan
This is the constraint that surprises people most, because it is invisible until you hit it. Shopify's Admin API rate limits are tiered by plan:
- Standard. 100 points per second
- Advanced. 200 points per second
- Shopify Plus. 1000 points per second
- Enterprise, Commerce Components. 2000 points per second
A single query also cannot exceed a cost of 1,000 points regardless of plan. So a store on the standard plan has one tenth the API throughput of a Plus store running the exact same connector against the exact same catalog.
What this means in practice is that a full catalog reconciliation that takes minutes on Plus takes a long and awkward amount of time on standard, and any integration designed by someone who tested it on a Plus store will behave differently on yours. If your ERP project quote does not mention your plan anywhere, the person quoting has not thought about throughput.
This is not an argument for upgrading. Most Indian D2C brands do not need Plus and should not buy it to fix a sync. It is an argument for designing the integration around the throughput you actually have, which usually means syncing deltas rather than full catalogs and batching writes rather than firing one call per SKU.
Fact two, webhooks are not guaranteed and not ordered
Most connectors are event driven. An order is placed, Shopify fires a webhook, the ERP picks it up. That model is fine right up until you read what Shopify actually promises, which is less than most people assume.
Shopify's own webhook documentation states that "Webhook delivery isn't always guaranteed, and your app can miss or mishandle events." It also states that "Shopify doesn't guarantee ordering within a topic, or across different topics for the same resource."
Read those two sentences as an ops person rather than a developer. Events can go missing. Events can arrive out of order, so an update can land before the create it depends on, or a fulfilment can arrive before the order. If your integration treats the webhook stream as a reliable, sequential log of what happened, it is built on an assumption Shopify explicitly declines to make.
Shopify's recommended answer is not clever webhook handling. It is reconciliation, meaning a scheduled job that pulls current state from the API and compares it with what your other system believes. Every integration we have seen survive contact with a peak sales day has one. Most integrations that drift do not.
Fact three, inventory is per location per state, and one state is read only
Shopify does not store one number per product. It stores quantities per inventory item, per location, across named states: incoming, on_hand, available, committed, reserved, damaged, safety_stock and quality_control.
Most ERPs store one quantity per SKU per warehouse. Mapping a richer model onto a simpler one loses information, and which information gets lost is a decision somebody has to make deliberately. If nobody makes it, the connector makes it for you.
There is also a hard limit worth knowing before design starts. Shopify's inventory documentation states that "You can't use the Admin API to adjust or move inventory quantities in the committed state." Committed is driven by orders, not by you. An integration that expects to push an authoritative stock figure and have Shopify simply accept it will find that the number it pushes and the number Shopify shows are different, because committed sits between them. We wrote about how these buckets shifted in August 2026, which is a live example of the same modelling problem.
The SKU problem is the one that actually kills projects
Everything above is solvable by someone competent. The thing that turns a four week project into a four month one is almost always product data, and it is boring rather than technical.
Your ERP and your Shopify store have to agree on what identifies a product. In practice they usually do not. SKUs differ by case. Some have trailing spaces from a spreadsheet paste. Some products have no SKU at all. Variants exist in Shopify that the ERP models as separate items, or the reverse. Bundles exist in one system as a product and in the other as a set of components, so selling a bundle deducts nothing.
Do this audit before you commission anything. Export SKUs from both systems, compare them, and count the exact matches. If the match rate is below 95 percent, your first project is a data cleanup, not an integration, and any quote you accept before fixing it will be wrong. This is genuinely the highest return hour anyone can spend on an ERP project, and it needs no developer.
What this looks like for an Indian brand
The stack here has its own shape. Accounting is often Tally or Busy. Order and warehouse management is frequently Unicommerce, EasyEcom, Increff or Zoho. Larger brands run SAP, Oracle or Microsoft Dynamics. Most of these have some Shopify connection available, which is why the project usually starts as a procurement question rather than a development one.
The complication that gets underestimated is that the reason for the project is usually GST reconciliation rather than stock accuracy. If invoices, credit notes, returns and marketplace orders all have to land in accounting correctly, then the integration is a finance system and needs to be tested like one. Returns and cancellations are where these projects fail, because they are the flows nobody demos. Our notes on GST setup on Shopify cover the tax side of that.
If you sell wholesale as well, the draft order flow needs explicit handling too, which we cover in the context of B2B on Shopify.
How long does a Shopify ERP integration take?
For a single ERP, one warehouse, clean SKUs and standard flows, plan for four to eight weeks including testing. Multiple locations, marketplaces, bundles or subscriptions push it toward three or four months. The variable is almost never the connection itself. It is the number of edge cases in how you actually trade.
How much does Shopify ERP integration cost in India in 2026?
A connector-based setup with configuration and testing typically runs Rs 75,000 to Rs 2 lakh, plus the connector's own subscription. A custom integration where no connector fits your flows runs Rs 1.5 lakh to Rs 3 lakh depending on how many systems and edge cases are involved. Data cleanup, if your SKU audit goes badly, is a separate cost and is worth doing first regardless.
Do I need Shopify Plus for an ERP integration?
No. The rate limit difference is real, but it is a design constraint rather than a blocker. A well built integration on the standard plan syncs deltas, batches writes and reconciles on a schedule. A badly built one hits limits on Plus too, just later. Buy Plus for checkout control, B2B or throughput at the storefront, not to fix a sync.
Should I use a connector app or build custom?
Start with a connector. If one covers your flows, it is cheaper to buy and someone else maintains it against platform changes. Build custom when your flows are genuinely unusual, when you need logic no connector exposes, or when you are paying more in connector subscription than the build would cost over two years. Our custom app costing covers how to make that comparison honestly.
What causes inventory drift between Shopify and an ERP?
In rough order of frequency: SKU mismatches, missed or out-of-order webhooks with no reconciliation job, two apps writing to the same inventory, bundles that do not deduct components, and location mapping that sends stock to the wrong warehouse. Note that four of those five are configuration and data problems rather than code problems.
Can I integrate Tally with Shopify?
Yes, usually through an order management layer such as Unicommerce, EasyEcom or Zoho rather than a direct connection, since Tally is an accounting system rather than an ecommerce one. Test the return and credit note flow before you accept the work, because that is the flow that decides whether your GST filing reconciles.
Get your integration scoped properly
Free SKU and flow audit. Email hello@exactwhy.com with subject "ERP integration" and export your SKUs from both systems. We tell you your actual match rate, which flows will need custom handling, and whether a connector covers you. We respond within 4 hours. If a connector does the job, we will say so rather than quoting you for a build.
Paid integration, Rs 50,000 to Rs 1.5 lakh. We map both data models, build or configure the integration, handle returns and cancellations properly, and put a reconciliation job in place so drift surfaces in days rather than quarters.
Ongoing Shopify development, Rs 20,000 to Rs 50,000 a month. Including monitoring the integration and handling platform changes as they land.
The pattern across every one of these projects that went badly is the same. Somebody bought an integration before anybody audited the data it was going to move. An hour with two SKU exports prevents most of it.