ERP vs. Shopify: Who Owns Pricing Across Your Stores?
The multi-store system of record depends on your channels, and Shopify refuses to decide it for you. Shopify documents three integration paths and never names an owner for pricing. Give the ERP the price when any offline channel sells it too. Keep it in Shopify when every channel is a storefront. A custom sync runs $40,000 to $110,000 (Deploi estimate, illustrative).
Your profile — see how the verdict shifts
- Confidence
- Medium — Read Shopify's external-integrations page on 2026-09-05: it documents exactly three routes, direct integrations from the Shopify App Store for select ERP, accounting and PIM systems, integrations from iPaaS providers that work as intermediaries, and custom API-based integrations for maximum flexibility. It names NetSuite, Microsoft Dynamics 365, Fulfil and QuickBooks Online, plus Pipe17, Patchworks and OmnifiCX on the iPaaS side. What the page never does is state which system should own or manage pricing, so the answer here comes from channel mix rather than from a Shopify rule. Two limits worth naming: that page is scoped to B2B, so generalizing its silence to a whole portfolio is our reading rather than Shopify's sentence, and the expansion-stores page separately confirms store settings, products, collections, and inventory aren't synced between stores. The App Store market is real but thin on reviews, with the two iPaaS listings we priced carrying no review history at all.
- Reference scenario
- $20M–$100M GMV · Shopify Plus organization with 3 stores and a wholesale channel · NetSuite or Dynamics already in finance · about 8,000 SKUs · agency dev bench
- As of
- September 2026
Decision at a Glance
| Your profile | Verdict | Why |
|---|---|---|
| One store, no offline channel | WAIT | Shopify is already the record and nothing contradicts it. An ERP sync here solves a problem you do not have yet. |
| 2–3 stores, all storefronts | BUY | Keep price in Shopify and let a connector push it outward. A packaged integration beats writing your own for three endpoints and one direction of travel. |
| Stores plus wholesale or retail on shared prices | CUSTOMIZE | Once a price is quoted off Shopify, the ERP has to own it or two systems drift. The build is the mapping layer, not a replacement ledger. |
| 5+ stores or multi-entity finance | BUILD | Per-store connector subscriptions and per-store field mappings both multiply. One integration service with a shared mapping layer stops the multiplication. |
What Multi-Store System of Record Actually Drives
| Outcome | Impact | How it works |
|---|---|---|
| Revenue — direct | High | A price that updates in one system and not the other sells real units at the wrong margin until a human notices, which is the single most expensive failure this decision prevents. |
| Operational efficiency | High | Merchandisers stop entering the same price change in two admins, and finance stops reconciling two catalogs that were meant to agree in the first place. |
| Data & insight | High | One mapping between ERP SKUs, Shopify variants and catalog prices becomes the join key every report, forecast and margin analysis depends on across the portfolio. |
| Customer experience | Medium | Buyers who see one price on the wholesale quote and another on the storefront lose trust immediately, and B2B buyers compare the two more often than DTC shoppers do. |
| Revenue — indirect | Medium | Faster, safer price changes let merchandising run promotions across every store on the same day instead of staging them store by store. |
Spend ceiling: Size the spend to the number of systems that can change a price, not the number of stores. Two systems and three storefronts is a connector; four price authorities and a wholesale channel is a build, and no subscription tier fixes an undecided ownership map.
What buying enables (top apps)
- + A working ERP-to-Shopify pipe in weeks, with the vendor tracking Shopify API versions for you
- + Prebuilt mappings for the standard catalog fields most merchants share
- + Monitoring, retries and error dashboards you would otherwise write yourself
- + A named platform for finance to point at, which matters more in an audit than it does in a sprint
What building additionally unlocks
- + Field-level ownership rules, so cost, list price, market price and B2B catalog price can each have a different master
- + One mapping repository serving every store instead of a per-store subscription for each
- + Reconciliation tuned to your bulk-query budget rather than a vendor's generic schedule
- + Price logic that survives replacing either the ERP or a storefront, because the adapter is the only part that changes
Find Your Verdict in 3 Questions
Does any channel outside Shopify quote or invoice the same prices — wholesale, retail, EDI or a sales team?
Yes: Your verdict: CUSTOMIZE — the ERP owns price and Shopify publishes it, with a mapping layer between them.
No: Go to question 2.
Do you run five or more stores, or price books that differ by market and B2B catalog?
Yes: Your verdict: BUILD — per-store connector subscriptions and per-store mappings both multiply at that size.
No: Go to question 3.
Is finance already committed to an ERP that holds cost and margin?
Yes: Your verdict: BUY — a packaged connector moves ERP price into two or three storefronts without a bespoke build.
No: Your verdict: WAIT — Shopify is the record, and an ERP sync solves a problem you do not have yet.
The TCC Scorecard — 12 Dimensions
TCC — Total Cost of Capability: what it actually costs to have this capability over three years, whichever way you get it. Each dimension is scored 0–5 for both paths. How we score →
| Dimension | Buy | Build | Why |
|---|---|---|---|
| Cost | |||
| Acquisition & implementation | A connector goes live in weeks with vendor onboarding; a custom sync is an estimated 10–20 weeks of mapping and testing (Deploi estimate, illustrative). | ||
| Recurring fees | Apps are billed on a per-store basis rather than for the entire organization, so a connector for four stores is four subscriptions. | ||
| Maintenance & upgrades | The vendor tracks Shopify API versions on the packaged path; a build owns its own version bumps and every ERP field change. | ||
| Switching & exit | Field mappings inside an iPaaS leave with the contract; mappings in your own repository move to whatever replaces either end. | ||
| Risk | |||
| Vendor risk | The two iPaaS listings we priced carry no review history, and one bills only after a scoping discussion, which is real concentration risk on a load-bearing pipe. | ||
| Security & compliance surface | A middleman holds product, price and often order data in transit; a direct integration keeps that traffic between two systems you already audit. | ||
| Platform-deprecation exposure | Both paths ride the GraphQL Admin API, which Shopify actively develops; REST has been a legacy API since October 1, 2024 and should not anchor a new sync. | ||
| Value | |||
| Fit to requirement | Packaged connectors model a standard catalog; price books by market, B2B catalog and company location are where the standard mapping runs out. | ||
| Time to market | Six weeks of vendor onboarding against a quarter of custom mapping before the first price flows correctly. | ||
| Performance & scale | Shopify Plus lifts the GraphQL Admin API to 1,000 points/second, and a build can spend that budget deliberately where a connector spends it generically. | ||
| Data ownership & AI-readiness | The mapping between ERP SKUs, Shopify variants and catalog prices is the durable asset; owned, it becomes the spine of reporting and forecasting. | ||
| Focus & opportunity cost | Integration work competes with merchandising for the same bench, which is exactly why store count and channel mix decide this one. | ||
The App Landscape
| App | Status | Pricing | Best for |
|---|---|---|---|
| Shopify as the system of record | Native — First-party Shopify. Prices live on variants, markets and B2B catalogs, with unlimited B2B catalogs on Plus. Nothing crosses store lines on its own: store settings, products, collections, and inventory aren't synced between stores, and they don't share data by default (verified Sep 2026). Shopify's own answer to that is third-party apps or ERP systems. | Included with your Shopify plan (verified Sep 2026) | Portfolios where every channel is a storefront and merchandisers set price |
| Patchworks | Live — IPaaS alternative pitched at multi-system retail stacks, with a strong agency channel | Tiered platform subscription | Mapping several stores and an ERP through a managed middle layer |
| integrator.io | Live — flagged — No reviews on the listing, so there is no public track record to read. Positions itself for critical ecommerce integrations between Shopify and an ERP or 3PL, with a 30-day free trial. | Standard $9,000/year (verified Sep 2026) | A finance-led team that wants a licensed platform rather than an agency build |
| Duoplane | Live — flagged — 4.9★ from 17 reviews, which is a young listing. Duoplane automates purchase orders and supplier routing rather than deciding where price lives, so it sits next to this decision instead of answering it. Pricing is metered by purchase-order volume, which is the wrong meter if your problem is catalog sync. | Standard $299/month up to 1,000 purchase orders; Professional $599/month up to 2,500; Premium $1,199/month up to 10,000 (verified Sep 2026) | Dropship and supplier purchase-order flow alongside, not instead of, a catalog sync |
| Custom API-based integration | Build lane — Shopify's third documented route, described on its own page as the approach that offers maximum flexibility for unique business requirements. One service owns the SKU and price mapping, writes to every store through the GraphQL Admin API, and reconciles nightly with bulk queries. | $40,000–$110,000 one-time plus upkeep (Deploi estimate, illustrative) | Five or more stores, market-specific price books, or B2B catalogs that packaged mappings miss |
The Build Path
- Name the owner per field, not per system: Write down who owns cost, list price, market price and B2B catalog price, field by field. Most drift comes from two systems each believing they own one of those four. Shopify's integrations page never assigns them, so the document is yours to write.
- One integration service, many stores: Keep the SKU and price mapping in one repository and let it write to each store through the GraphQL Admin API. Shopify Plus raises the calculated query cost limit to 1,000 points/second, ten times the standard 100 points/second, which is what makes a portfolio-wide push practical.
- Reconcile with bulk queries, not polling: From API version 2026-01 each app can run up to five bulk query operations per shop simultaneously, against one per type before that. Nightly bulk reads catch anything a webhook missed, and each bulk query has to complete within 10 days.
- Start with the store that hurts most: Prove the mapping on the store where a wrong price costs the most, then add the rest. Adding store four to a working mapping is days of configuration; building for four at once is a quarter with no feedback.
- Effort band
- $40,000–$110,000 one-time for the mapping layer, GraphQL writers, bulk reconciliation and a per-store rollout — Deploi estimate (illustrative); lands in the $25–75K or $75K+ contact-form band
- Typical timeline
- 10–20 weeks for three stores and one ERP, with the first store live around week eight (Deploi estimate, illustrative)
- Maintenance, honestly
- ~15–20% of build cost per year (Deploi estimate): roughly $6,000–$22,000/yr (Deploi estimate, illustrative) for API version bumps, ERP field changes, new stores and the reconciliation exception queue.
- What you own — and what you take on
- You own: the field-level ownership map, the SKU and price mapping, and the reconciliation rules that decide who wins a conflict. You take on: an on-call path for sync failures, because a stalled price feed is a revenue incident.
3-Year Total Cost of Capability
| Buy (app path) | Build (custom path) | |
|---|---|---|
| Year 0 (setup) | $12,000–$40,000 | $40,000–$110,000 |
| Years 1–3 (recurring) | $36,000–$120,000 | $18,000–$66,000 (maintenance) |
| 3-year total | ≈$48,000–$160,000 | ≈$58,000–$176,000 |
- † All figures illustrative samples for the reference scenario — not quotes, not verified pricing.
- † Buy path: one iPaaS or connector platform covering three stores and one ERP, with vendor onboarding in year 0 and the license held flat for three years.
- † Build path: one custom integration service covering the same three stores and one ERP, three-year horizon, no platform license.
What the Sticker Price Hides
On the buy path
- — Apps are billed on a per-store basis rather than for the entire organization, so the quote for one store is not the quote for the portfolio
- — Quote-based iPaaS listings hide the number until after a scoping call, and onboarding is usually a separate line
- — Standard mappings cover variants and cost, then stop at market price books, B2B catalogs and company-location pricing
- — A connector with no public reviews gives you no way to price the risk of it stalling mid-quarter
On the build path
- — Field-level ownership arguments between merchandising and finance take longer than the code does
- — Every new store is a rollout, not a checkbox, even on a working mapping
- — Webhook delivery isn't always guaranteed, so nightly bulk reconciliation is scope from day one
- — ~$6,000–$22,000/yr upkeep for three stores and one ERP (Deploi estimate, illustrative)
What Merchants Say
Price drift is the tell: someone updates the ERP, one storefront picks it up, and the other quietly keeps selling last quarter's number until a customer notices.
Integration listings that read like a subscription turn into a scoping call, and the real number only arrives after a discovery workshop.
If You Change Your Mind Later
If you bought and outgrow it
Field mappings built inside an iPaaS generally leave with the contract, so plan an export of the mapping documentation before renewal rather than after. The Shopify and ERP data both survive; what you lose is the translation between them and the tuning behind it.
If you built and want out
The mapping layer is your repository and the credentials are yours, so replacing either end becomes a rewrite of one adapter rather than the whole pipeline. You can also hand the same mapping to a packaged connector later, which is a rare exit that costs almost nothing.
When This Answer Changes
We're watching for:
- ▸ Shopify documenting an organization-level product or price object that sits above individual stores
- ▸ New named ERP partners joining NetSuite, Microsoft Dynamics 365, Fulfil and QuickBooks Online on Shopify's external-integrations page
- ▸ Bulk operation limits moving again after the 2026-01 lift to five simultaneous bulk queries per shop
Verdict change log:
- 2026-01-01From API version 2026-01, each app can run up to five bulk query operations per shop simultaneously, against one bulk operation of each type at a time on earlier versions. Nightly reconciliation across a portfolio stopped being a queueing problem, which narrows the gap between a packaged connector and a custom sync and is part of why this page lands on DEPENDS rather than BUY.
Common Questions
Does Shopify say whether the ERP or Shopify should own pricing?
No. Shopify's integrations page documents 3 routes: direct App Store integrations for select ERP, accounting and PIM systems, iPaaS providers acting as intermediaries, and custom API-based integrations. The page names partners on each route and stops there. Ownership of price is left to the merchant, so channel mix decides it rather than a platform rule.
Can Shopify Plus handle ERP catalog sync at portfolio scale?
Yes. Shopify Plus raises the GraphQL Admin API calculated query cost limit to 1,000 points/second, ten times the standard 100 points/second and five times Advanced. From API version 2026-01, each app can also run up to five bulk query operations per shop simultaneously. Throughput stops being the constraint; field mapping becomes the real work.
Do product prices sync automatically between stores in one Plus organization?
No. Store settings, products, collections, and inventory aren't synced between stores, and they don't share data by default, even inside the 10 stores a Plus contract covers. Shopify's own stated answer is third-party apps or ERP systems to sync certain data between stores. Every store is a separate publishing target for price.
Your Next Steps
If you're going with CUSTOMIZE
- Write the field-level ownership map: cost, list price, market price, B2B catalog price
- Pick one store and one price type, and prove the round trip end to end
- Move writes to the GraphQL Admin API and budget against the 1,000 points/second Plus limit
- Add nightly bulk-query reconciliation with an exception queue a human reviews
- Alert on a stalled feed the way you alert on checkout, because a stale price is a revenue incident
If you're going with BUY
- Price the connector across every store in the organization, not the flagship alone
- Ask each vendor to demonstrate market price books and B2B catalog pricing before signing
- Get onboarding scope and its cost in writing next to the license figure
- Confirm what happens to your field mappings the day the contract ends
- Diary a re-decision at store number five, where per-store pricing overtakes a build
Official Docs & Sources
- ERP and external integrations — Shopify Help Center
- Expansion stores — Shopify Help Center
- GraphQL Admin API rate limits — shopify.dev
Official documentation linked for verification — our verdicts and estimates are our own.
Related Decisions
Build or Buy Observability for Checkout Functions on Shopify?
Shopify documents 12 function error types and stores each run in the Dev Dashboard, but no default alert tells you a checkout function has started failing.
Do Customer Accounts Follow Shoppers Across Plus Stores?
Each Plus store keeps its own customer records, so accounts don't follow shoppers between stores. Multipass rides legacy accounts Shopify deprecated.
Should You Build or Buy Cross-Store Staff Access on Plus?
Custom organization-level roles give one staff login reach across a Plus organization. No app grants staff access across stores; below Plus, every store is separate.
Customer Account API vs. a Custom Login System on Headless?
Shopify's Customer Account API authenticates buyers on headless. A custom login build costs six figures, and legacy accounts are deprecated since February 2026.
Build or Buy Performance Monitoring & App Audits on Shopify?
Measurement is free on Shopify; storefront speed comes from an audit-and-remediation program, not a speed app.
Decide where price lives before you buy a connector
We map field-level ownership between your ERP and every Shopify store first, then price the integration against what that map actually requires.
Contact us todayVerdict scored for the reference scenario above. Estimates are not quotes; app pricing carries its verification date and gets re-verified quarterly. Full scoring anchors: see the TCC methodology.
Read how we score these decisions (the TCC Framework). No affiliate links, no paid placement — no app vendor pays to appear here.