Shopify logo
SAP logo

Shopify + SAP Integration

Business One, S/4HANA, and ECC are three different integration projects wearing the same logo. Stock and pricing flow out of SAP into Shopify, orders and customers flow back as sales orders and business partners, and the route they take depends entirely on which SAP you run. That is the first question we ask.

mode:
Bidirectional
latency:
Near real-time to batch
maturity:
Scoped per SAP product

what syncs

What syncs, which way, and how fast

Every row is a real data flow with a real trigger. The frequency column is what you should expect in production, not a best case.

Products

dir:
SAP → Shopify
frequency:
Every 15 min

The material number is the join key. Business One reads items through the Service Layer, S/4HANA through product OData services, ECC sends MATMAS IDocs. Only web-flagged materials are pushed, so the full SAP catalogue never leaks into the storefront.

Inventory

dir:
SAP → Shopify
frequency:
Every 5 to 15 min

Available-to-promise where your SAP exposes it, not raw on-hand. Plants and storage locations map explicitly to Shopify locations, so blocked and quality-inspection stock never shows as sellable.

Pricing

dir:
SAP → Shopify
frequency:
Every 15 min to daily

SAP pricing is far richer than Shopify’s single price field. Base prices push to Shopify, customer-specific condition records map to B2B catalogues, and promotions stay in Shopify to avoid a two-system tug of war.

Orders

dir:
Shopify → SAP
frequency:
Near real-time (webhook)

Creates a sales order through the Service Layer on Business One, the sales order OData API on S/4HANA, or an ORDERS IDoc on ECC. The Shopify order name lands in the customer reference field so support can search either system.

Customers

dir:
Bidirectional
frequency:
Near real-time

B2C checkouts post against a generic web customer. B2B buyers map one-to-one to business partners with their payment terms, credit limit, and price conditions intact.

Fulfillment

dir:
SAP → Shopify
frequency:
Near real-time

The delivery closes the Shopify fulfillment and pushes the tracking number, which triggers the shipping notification. Partial deliveries create separate fulfillments per shipment.

architecture

How it actually works

There is no single SAP architecture, so the first deliverable is pinning down which SAP you actually run: product, version, and deployment. The Shopify side of the build stays constant. Everything on the SAP side is decided by that answer.

  1. Shopify Admin API + webhooks

    Order, customer, and fulfillment events fire webhooks. We verify the HMAC signature and queue the payload rather than processing inline, so a slow or locked SAP never causes Shopify to mark the endpoint as failing.

  2. Queue + idempotency store

    Every message carries the Shopify event id, and processed ids are recorded, so webhook redelivery cannot create a duplicate sales order. On ECC estates the same discipline applies to IDoc reprocessing, which is a second path to the same duplicate.

  3. Integration layer

    Where the mapping lives: material lookups, price resolution, tax translation, plant selection. On estates that already run SAP Integration Suite this can live on BTP; otherwise it is a worker in your cloud tenancy. Either way the rules stay versioned and auditable, never buried inside SAP.

  4. SAP surface, by product

    Business One integrates through the Service Layer on current versions, with the older DI API where an install predates it. S/4HANA integrates through OData APIs, and on public cloud only released APIs are available, which is a hard boundary. ECC integrates through IDocs and BAPIs. These surfaces are not interchangeable, which is why a connector built for one SAP cannot quietly serve another.

  5. Network path

    Business One and ECC usually live on your own servers, so the worker reaches them over a site-to-site VPN or an outbound-only tunnel. BTP-based builds use the SAP Cloud Connector. No inbound port is ever opened to the SAP host.

failure modes

What breaks, and what happens when it does

Every integration fails eventually. The difference between a good one and a bad one is whether it fails safely and tells you.

  • A connector built for the wrong SAP

    The demo looked convincing, then discovery reveals the connector only speaks Business One and your estate is ECC.

    handling

    We identify product, version, and deployment before any tooling is discussed. A connector claim that does not name which SAP it targets is a red flag we screen for on your behalf, because Business One, S/4HANA, and ECC share a logo and almost nothing else.

  • Duplicate sales orders from redelivery

    The same web order appears twice in SAP and finance catches it at invoicing.

    handling

    Webhook redelivery is normal Shopify behaviour, so the queue records processed event ids and refuses duplicates. On ECC the worker also checks for an existing order carrying the same customer reference before posting, because IDoc reprocessing can replay a document the queue already handled.

  • Pricing tug of war

    The storefront shows one price, the SAP invoice shows another, and B2B customers phone about the difference.

    handling

    One system owns each price. SAP owns base and contract pricing and pushes it out; Shopify owns promotions. The order carries the checkout price into SAP explicitly rather than letting SAP reprice silently, and a reconciliation report flags any line where the two disagree.

  • Silent IDoc failures on ECC

    Orders stop arriving in SAP and nobody notices until a customer chases a delivery a week later.

    handling

    A failed IDoc does not raise an alarm on its own. It sits in an error status waiting for someone to look. The integration monitors IDoc processing status, alerts on failures, and replays from the queue once the cause is fixed, so the gap is minutes rather than a week.

  • Master data created on the wrong side

    Someone adds a product in Shopify, it sells, and SAP has no material to post the order against.

    handling

    SAP is the master for materials and business partners, full stop. Nothing is auto-created in SAP. Orders referencing unknown SKUs go to a reconciliation queue with an alert instead of failing silently, and the merchandising workflow changes so products start life in SAP.

  • Period close and batch windows

    Month-end posting locks the system and every order sync fails at once.

    handling

    Failures are expected, not exceptional. Messages stay queued with a dead-letter path and replay in order once SAP answers again. Nothing is dropped and nobody re-keys orders, which matters most on ECC estates that still run heavy nightly batch.

field mapping

A real slice of the mapping

This is an abridged Order → SAP Sales Order mapping, shown so you can sanity-check it against your own system.

Order → SAP Sales Order

shopify → sap

  • order.nameCustomer reference (BSTKD)

    NumAtCard on Business One

  • order.idOrder header text

    Numeric id for support lookups

  • line_item.skuMaterial number (MATNR)

    ItemCode on Business One

  • line_item.quantityOrder quantity
  • line_item.priceManual price condition

    Checkout price passed through

  • shipping_addressShip-to party address
  • customer.emailBusiness partner email
  • total_taxTax condition value

    Ownership decided in discovery

Representative of an S/4HANA build. Business One uses different objects and names, ECC different again, and that is the point: the real mapping document is written against your SAP during discovery, not copied from a template.

implementation

Timeline and cost

typical duration

10 to 20 weeks

included in scope

  • Discovery that pins down SAP product, version, deployment, and customisations
  • Field-level mapping document signed off by finance and IT
  • Six objects synced per the matrix above
  • Idempotent queue, retry, and dead-letter handling
  • Staged cutover with a parallel-run window and rollback plan
  • Monitoring dashboard, failure alerting, hypercare, and a runbook

what moves it up

  • Multiple company codes, plants, or storefronts
  • B2B contract pricing driven from SAP condition records
  • Heavily customised order flow with Z-fields or user exits
  • An S/4HANA migration running in parallel with the build
  • Additional endpoints such as a 3PL or marketplace

questions

Questions buyers actually ask

Which SAP products can integrate with Shopify?

All three main lines, but not the same way. Business One integrates through the Service Layer as the strategic surface on current versions, with the older DI API still shipping alongside it and common on older installs. S/4HANA integrates through OData APIs, with SAP BTP or middleware carrying the flow. ECC integrates through IDocs and BAPIs behind an integration layer. Authentication, object models, constraints, and timelines differ across the three, which is why the first question in any scoping conversation is which SAP you run, which version, and where it is hosted.

Is there a native SAP Shopify connector?

No. SAP does not ship a first-party Shopify connector with Business One, S/4HANA, or ECC, and the third-party market is fragmented: most connectors target one SAP product and one integration pattern, so a vendor claiming to cover every SAP the same way is describing a brochure, not an architecture. What exists is a market of single-product connectors, most of them built for Business One, and some are genuinely useful within that scope. The evaluation question is never "does it support SAP" but "does it support your SAP, your version, and your deployment". A pitch that answers the first question without the second is a brochure, not an architecture.

Why is a generic "works with SAP" claim a red flag?

Because there is no generic SAP. Business One, S/4HANA public cloud, S/4HANA private cloud, and ECC expose different APIs, different object models, different authentication, and different constraints. A vendor who has actually delivered SAP integrations will ask which one you run before quoting anything, and will name the integration surface they intend to use. A vendor who quotes a price for "SAP" without asking is quoting for a project they have not understood yet, and the gap surfaces later as change requests.

How does the integration work on S/4HANA public cloud?

Through released OData APIs only. Public cloud does not allow direct database access or custom code inside the core, so anything the released APIs do not cover needs a proper extension, typically built on SAP BTP, rather than a quick workaround. The upside is that the APIs you are allowed to use are clean, documented, and stable across upgrades. Private cloud and on-premise S/4HANA relax these restrictions, which is exactly why the deployment model changes the scope and has to be established before anyone quotes a number.

We are still on ECC. Should we integrate now or wait for S/4HANA?

Integrate now, and build so the SAP-facing edge is swappable. ECC integration through IDocs such as ORDERS, MATMAS, DEBMAS, and DESADV is mature, well understood, and works. SAP has announced the end of mainstream maintenance for ECC in 2027 with paid extension options beyond that, so the migration pressure is real, but S/4HANA programmes run for years and the store cannot wait for one. Keeping the mapping logic in the middleware rather than inside SAP means the eventual cutover swaps an adapter instead of rebuilding the integration.

Who should own pricing, SAP or Shopify?

SAP owns base and contract pricing, Shopify owns promotions, and the invoice price authority is SAP. That split holds up because SAP pricing, especially condition-based pricing on ECC and S/4HANA, models things Shopify’s single price field cannot, while promotions change too fast to route through ERP governance. The order carries the price actually charged at checkout into SAP explicitly, and a reconciliation report flags any line where the systems disagree. Customer-specific contract pricing surfaces to logged-in wholesale buyers through Shopify B2B catalogues, which requires Shopify Plus.

How long does a Shopify SAP integration take?

Ten to twenty weeks, a wider range than we quote for any other ERP because SAP varies more than any other ERP. Business One projects land near the bottom of that range, heavily customised ECC estates near the top. The things that move the number are master data quality, the count of company codes and plants, customisations in the order flow, and how quickly your basis team or SAP partner can provision access. We run a staged cutover with a parallel-run window rather than a big-bang switch, because with an ERP that owns finance, boring is the goal.

shopify + sap

Tell us which SAP you run, get an honest scope

Send us your SAP product, version, deployment, and monthly order volume. You get the architecture for your estate and a fixed price, including an honest answer if the right project is smaller than you expected.