← All integrations
WooCommerce → SAP

WooCommerce SAP integration

In short

A WooCommerce to SAP integration turns each paid WooCommerce order into a SAP sales order against the right customer master and material numbers, and pushes SAP stock levels, prices, and delivery status back to the store. Done properly it is bidirectional and idempotent: it dedups customers into the correct Debitor, maps every SKU to its SAP material number, sets the sales org, distribution channel, and tax code SAP requires, and never creates the same order twice. It is not a nightly CSV import - it is a running pipeline that keeps store and ERP in sync without anyone re-keying orders.

What a WooCommerce to SAP integration actually does

WooCommerce is where the sale happens: the order, the customer who placed it, the products, the payment, the refund a week later. SAP is where the business runs on that sale: the sales order that drives fulfilment, the customer master it posts against, the material master that has to exist first, the delivery, the invoice, the stock that just dropped. Left unconnected, someone re-keys every order from the WordPress admin into SAP by hand, and someone else exports stock from SAP into a spreadsheet to stop the shop overselling.

A WooCommerce to SAP integration closes that gap in both directions. Orders and customers flow from the store into SAP as proper sales documents against the right master data. Stock levels, prices, and delivery status flow from SAP back to the store so the catalogue reflects reality. Nobody retypes an order, and nobody discovers at dispatch that the item sold out three orders ago.

What data moves

WooCommerce object / eventBecomes in SAPNotes
Paid orderSales order (VBAK/VBAP, or ORDR in Business One)Needs sales org, distribution channel, division set - none of which exist in WooCommerce
Order line itemSales order line against material numberSKU mapped to the SAP material; unknown SKU is rejected, not guessed
Customer / billing addressBusiness partner / customer master (Debitor)Deduplicated on email and VAT ID; B2C can post to a CpD collective account
Shipping & discountsPricing conditions / condition linesModelled as SAP conditions, not free-text lines
Refund / cancellationCredit memo / return (Gutschrift)References the original document, dated to the refund
SAP stock levelWooCommerce stock quantitySAP is source of truth; delta sync back to the store
SAP price listWooCommerce product priceCurrency and price-list assignment respected
SAP delivery / goods issueWooCommerce order status + trackingMoves the order to completed and posts the tracking note

The exact field mappings, number ranges, sales-org configuration, and tax codes are agreed once against your SAP setup and encoded in the pipeline. After that, nobody maps them by hand again.

The details that break naive syncs

A generic plugin or a nightly CSV import gets you 80% of the way and leaves the expensive 20% for your operations and Basis teams:

How we build and run it

We treat this as a pipeline, not a batch job. WooCommerce order, customer, and refund events are pulled by webhook or on a schedule, validated, enriched with the master data and organisational fields SAP requires, and posted into SAP through the right interface for your release - OData, BAPI/RFC, IDoc, or the Business One Service Layer. Stock, price, and delivery updates flow back to the store the same way.

The pipeline is idempotent: every WooCommerce order carries a stable identifier, so a retry or a re-run never posts a duplicate sales order or double-decrements stock. It runs on cloud-native, fully EU-hosted AWS infrastructure, so order and customer data never leaves the EU - which keeps your DPA / AVV and GDPR obligations clean, including where SAP itself is on-premise behind your network.

And then we keep it running. Monitoring, alerting, incident response, and - critically - watching for WooCommerce REST API changes, plugin updates that reshape the order payload, and SAP interface changes are our responsibility under contract. You get a named owner and an SLA, not a script your team has to babysit.

When this integration is worth building

If you take a handful of orders a week and someone re-keys them into SAP in a few minutes, a manual process is genuinely fine and we will tell you so. The integration earns its place when order volume makes re-keying a job in itself, when overselling because stock is stale starts costing you, when guest checkouts are bloating your customer master, or when B2B pricing, VAT handling, and returns make the SAP side too intricate to trust to copy-paste. At that point a managed pipeline pays for itself in the errors it stops reaching your ERP.

Frequently asked questions

Which SAP do you integrate with - S/4HANA, ECC, or Business One?
All three, because the connection method differs for each. SAP S/4HANA and ECC we reach through OData or BAPI/RFC and, where the workflow is document-based, IDocs (ORDERS, MATMAS, DEBMAS). SAP Business One we drive through the Service Layer or DI API against objects like Business Partners, Items, Sales Orders, and Invoices. We confirm the exact release, interface, and whether it is on-premise or private cloud before scoping, because that decides everything about how the pipeline talks to SAP.
How do you match WooCommerce SKUs to SAP material numbers?
By an agreed mapping, not by hoping the strings line up. SAP material numbers are often numeric and zero-padded in an 18-character field, while a WooCommerce SKU is free text a shop manager typed. We map SKU to material number explicitly, handle leading zeros and alphanumeric conversion, and reject an order line whose SKU has no known material rather than silently posting a broken sales order into SAP.
Will it create duplicate customers in SAP?
No, that is one of the main things the pipeline exists to prevent. WooCommerce happily creates a fresh customer record for every guest checkout. Before creating a sales order we match on email and, for B2B, VAT ID against the SAP customer master and reuse the existing Debitor. For pure B2C flows we can post against a collective one-time-customer account (CpD / Sammeldebitor) instead of exploding your master data with thousands of individuals.
Does it keep stock and prices in sync so we do not oversell?
Yes. SAP is the source of truth for available stock and pricing, so we push stock levels and price-list changes from SAP back to WooCommerce on a schedule, or on stock-movement events where the SAP interface supports it. We sync deltas rather than rewriting the whole catalogue each run, and we agree the update cadence against your overselling tolerance - a warehouse that ships same-day needs tighter timing than one that batches overnight.
Who operates it after go-live?
We do. The pipeline runs on cloud-native, fully EU-hosted infrastructure that we monitor. If WooCommerce ships a REST API change, a plugin update alters the order payload, or your SAP Basis team adjusts an interface, that is our problem to fix under contract, not a surprise your operations team finds when orders stop reaching SAP. You get a named owner, alerting, and an SLA rather than a script somebody has to remember to run.

Need this integration built and permanently operated? Tell us which systems connect and what data has to move. Fixed-price scoping quote within 48 hours.

Request a scoping call