Skip to content

Ultimate Guide to Shopify Plus Enterprise Integrations

A current guide to Shopify Plus enterprise integrations: GraphQL Admin API and rate limits, bulk operations, webhooks via HTTPS, EventBridge or Pub/Sub, Shopify Functions, B2B, Flow, middleware vs custom apps, and monitoring.

Ultimate Guide to Shopify Plus Enterprise Integrations

Integrate Shopify Plus with your ERP, PIM, OMS/WMS, CRM and marketing tools through the GraphQL Admin API, using bulk operations for large syncs and webhooks for change events, with the logic in a custom app or middleware. Checkout rules now belong in Shopify Functions and checkout UI extensions, because Shopify Scripts and checkout.liquid no longer run.

This guide covers which APIs to use and their limits, moving large data sets, reliable webhooks, what each system should own, B2B data, Shopify Flow, middleware versus a custom app, and testing and monitoring. Platform facts were checked against shopify.dev and the Shopify Help Center in November 2026.

Which Shopify API should an enterprise integration use?

Use the GraphQL Admin API. Shopify's REST Admin API documentation says REST has been a legacy API since October 1, 2024, and that since April 1, 2025 all new public apps must be built only with GraphQL. A private custom app can still call REST, but anything you build today should be GraphQL first.

GraphQL limits are based on calculated query cost, not request count. Each field costs points, and the allowance depends on the store's plan, per the GraphQL Admin API rate limits:

PlanRestore rate
Standard100 points per second
Advanced Shopify200 points per second
Shopify Plus1,000 points per second
Shopify for enterprise (Commerce Components)2,000 points per second

On every plan, a single query cannot cost more than 1,000 points and input arrays are capped at 250 items. Each response reports its cost and the current throttle status in the extensions field, so your integration can slow down before it is throttled. Shopify also releases a new API version every quarter and supports each one for at least 12 months, so plan regular upgrades.

How do you move large data sets in and out of Shopify?

For catalog exports, initial loads and nightly reconciliation, use bulk operations instead of paging through thousands of normal queries.

  • Bulk queries: bulkOperationRunQuery runs in the background and returns a JSONL file, one object per line, with nested records linked through __parentId. Subscribe to the bulk_operations/finish webhook and poll the status as a fallback.
  • Bulk mutations: upload a JSONL file of inputs with stagedUploadsCreate, then call bulkOperationRunMutation. The import guide caps the file at 100MB.
  • Limits: from API version 2026-01, each app can run up to five bulk queries and five bulk mutations per shop at once. A bulk query must finish within 10 days, and its download URL expires after one week.

How do you set up webhooks that do not lose data?

Shopify can deliver webhooks to an HTTPS endpoint, Google Cloud Pub/Sub or Amazon EventBridge. Shopify recommends Pub/Sub, and both cloud options absorb traffic spikes for you. App-wide subscriptions can be declared in shopify.app.toml, and the filter and include_fields options cut noise and payload size.

  • Verify and respond fast. For HTTPS, check the X-Shopify-Hmac-SHA256 signature, queue the payload and return a 200. Shopify allows five seconds per request and retries 8 times over 4 hours. Subscriptions created through the Admin API are deleted after 8 consecutive failures.
  • Expect duplicates and disorder. Ordering is not guaranteed. Deduplicate on X-Shopify-Webhook-Id and sequence updates with X-Shopify-Triggered-At or the record's updated_at.
  • Reconcile. Shopify's guidance is not to rely on webhooks alone. Run a scheduled job that fetches records changed since the last run.

What should each system own?

Most integration bugs come from two systems both writing the same field. Decide the source of truth per data type first:

SystemUsually ownsShopify tools to use
ERPStock, cost, invoices, B2B prices and termsOrder webhooks out, inventorySetQuantities in, B2B catalogs
PIMProduct content, attributes, variantsproductSet, metafields and metaobjects
OMS / WMS / 3PLRouting, picking, shipping, trackingFulfillment orders, fulfillment service apps, Order Routing and Fulfillment Constraints Functions
CRMCustomer profiles, accounts, sales activityCustomer and company webhooks and GraphQL objects
Marketing and analyticsAudiences, campaigns, attributionWeb pixel app extensions, customer consent signals
  • Inventory: inventorySetQuantities takes a changeFromQuantity, the last value you saw, and fails if Shopify's value has changed since. From API version 2026-04 it also requires the @idempotent directive, which prevents duplicate writes after a retry.
  • Products: productSet syncs a product's full state in one call. Send every variant and option you want to keep, because omitted ones are deleted.
  • Fulfillment: each fulfillment service gets its own location. The app receives fulfillment requests, accepts or rejects them, and creates fulfillments with tracking.
  • Customer data: scopes for protected customer data need approval in the Partner Dashboard, so plan that into the timeline.
  • Marketing tags: web pixel app extensions run in a strict sandbox and respect each customer's consent.

For the order side in depth, see how to sync Shopify orders with ERP systems.

Where does checkout logic go now?

Shopify's Script Editor page confirms that Scripts were deprecated on June 30, 2026 and that published scripts stopped working. checkout.liquid is unsupported for the Information, Shipping and Payment steps, and was sunset on the Thank you and Order status pages for Plus stores on August 28, 2025.

Logic now lives in Shopify Functions: discounts, delivery and payment customization, cart and checkout validation, cart transforms, fulfillment constraints, order routing and pickup options. Interface changes are checkout UI extensions. Two points matter for integrations:

  • Only Shopify Plus stores can use custom apps that contain Functions, so ERP-driven pricing or validation in your own app needs Plus.
  • Checkout UI extensions on the Information, Shipping and Payment steps are Plus-only.

A common case is a validation Function that blocks a B2B order breaking a credit limit or minimum synced from the ERP. See custom checkout validation with Shopify Functions and our checkout customization service.

How does wholesale data map to B2B on Shopify?

B2B on Shopify models buyers as companies with company locations. Pricing comes from catalogs with quantity rules and price breaks, and payment from terms such as net terms, plus PO numbers and vaulted cards. The ERP usually stays the source for accounts, price lists and credit terms. B2B is no longer Plus-only: the B2B plan comparison lists it on Basic, Grow, Advanced and Plus, with these differences:

FeatureBasic, Grow, AdvancedShopify Plus
Active catalog assignments to B2B markets3Unlimited
Catalogs assigned directly to a company or locationNoYes
Deposits and partial paymentsNoYes
Payment requests per fulfillmentNoYes

If each customer has its own negotiated price list in the ERP, you need direct company catalogs, so Plus. More in Shopify Plus for B2B.

What can Shopify Flow handle?

Shopify Flow is free on the Basic, Grow, Advanced and Plus plans. It suits light, event-driven tasks: tag an order, alert a team, or call an endpoint with Send HTTP request (Grow and above), which waits up to 30 seconds and can retry for up to 24 hours. Run code reshapes data in JavaScript but cannot make network calls and stops after 5 seconds. Flow triggers and actions from a custom app only work on Plus stores. Use Flow around the integration, not as the sync engine: it has no bulk handling or reconciliation.

Should you use middleware (iPaaS) or a custom app?

Middleware / iPaaSCustom app
Best fitStandard ERP or CRM with a maintained Shopify connectorComplex rules, high volume, B2B pricing, Functions
Speed to launchFaster when the connector covers your flowsSlower start, built to your data model
ControlLimited to what the connector exposesFull control of retries, logging, idempotency
Ongoing costSubscription, often by volume or connectionsHosting and maintenance, including API upgrades

Many stacks use both: middleware for standard flows such as order export, and a small custom app for what must run inside Shopify, like Functions and checkout extensions. Before you choose a connector, check which API version it targets and whether it uses bulk operations and inventory compare-and-set.

How do you test and monitor an integration?

  1. Test in a separate store with production-like volumes, never the live store. See Shopify Plus sandbox testing.
  2. Test failure paths: throttling, webhook timeouts, duplicates, out-of-order updates and stale inventory writes.
  3. Load test against the cost model and watch the throttle status to confirm your backoff works.
  4. Monitor deliveries. The Dev Dashboard logs show webhook deliveries for the past 7 days. Alert on failures and removed subscriptions.
  5. Reconcile: compare order, stock and price counts between Shopify and each system on a schedule, and alert on drift.
  6. Upgrade API versions before yours leaves support, testing in a development store first.

We build and maintain these integrations for Shopify Plus merchants, from ERP integration to custom API integration. If you are planning one, tell us about your stack.

FAQ

Can I still use the REST Admin API on Shopify Plus?

A custom app can still call REST, but Shopify has treated it as legacy since October 1, 2024, and new public apps must use GraphQL only since April 1, 2025. Build new integrations on the GraphQL Admin API.

Do I need Shopify Plus to integrate an ERP?

No. The Admin API works on every plan. Plus adds a GraphQL limit of 1,000 points per second, custom apps with Shopify Functions, checkout UI extensions on the Information, Shipping and Payment steps, and full B2B features such as direct company catalogs.

Are webhooks enough to keep systems in sync?

No. Shopify does not guarantee webhook ordering or delivery, and retries stop after 8 attempts over 4 hours. Pair webhooks with a scheduled reconciliation job or bulk query.

What replaced Shopify Scripts for checkout logic?

Shopify Functions. Scripts stopped working on June 30, 2026. Discounts, shipping and payment rules, validation and bundles are now Functions, and checkout interface changes are checkout UI extensions.

Syncing Shopify with your ERP?

We connect Shopify and Shopify Plus to your ERP so orders, stock and customer data stay in sync without manual exports.

The checklist we run before touching a client's code

Get it by email, plus a few short notes over the next two weeks: what we see most often on Shopify stores and what actually fixes it.

No spam. Unsubscribe anytime. Privacy Policy

Want more of our posts in your Google results? Add Codersy as a preferred source.

Add Codersy on Google(opens in a new tab)