ml-connector
SAP ECCWalmart Marketplace

SAP ECC and Walmart Marketplace integration

SAP ECC runs your procurement and inventory. Walmart Marketplace is where you sell third-party on Walmart.com. Connecting the two keeps your seller catalog and your supply chain in sync. Orders placed on Walmart flow into SAP ECC as purchase orders or invoices without re-keying, inventory moves from SAP into Walmart's feed system so your listings stay in stock, and pricing changes in SAP feed back to the marketplace daily. ml-connector handles the on-premises RFC agent, the OAuth2 tokens that Walmart refreshes every 15 minutes, and the webhook signatures that Walmart sends when orders and returns arrive.

How SAP ECC works

SAP ECC is an on-premises ERP that exposes vendors, purchase orders, invoices, inventory, materials, and GL accounts through RFC/BAPI function modules, OData v2 via SAP Gateway, or SOAP web services. Authentication uses HTTP Basic Auth for OData and IDoc, or RFC Basic Auth for BAPI calls via the SAP .NET Connector or Java Connector. An on-premises agent must be installed on the customer network to initiate RFC connections; SAP ECC publishes no cloud REST API. SAP ECC has no native webhook registry, so connectors poll RFC_READ_TABLE on a schedule or receive outbound IDoc messages if the customer configures WE21/WE20 ports. Write operations require an explicit BAPI_TRANSACTION_COMMIT call to persist changes.

How Walmart Marketplace works

Walmart Marketplace exposes items, inventory across multiple ship nodes, orders, returns and refunds, pricing, and reconciliation reports through a REST API at https://marketplace.walmartapis.com. Seller authentication uses OAuth 2.0 Client Credentials: the Client ID and Secret are exchanged for a Bearer access token with a 15-minute lifetime. Downstream API calls use a non-standard header WM_SEC.ACCESS_TOKEN rather than the Authorization header. Walmart publishes webhooks for order, inventory, return, and assortment events with a retry schedule of 5, 15, and 45 minutes before the event is dropped. Single-item price updates are throttled at 100 per hour, so bulk feed operations are used for pricing changes instead.

What moves between them

Orders placed on Walmart Marketplace flow into SAP ECC as purchase orders or invoices via BAPI_PO_CREATE1 or BAPI_ACC_DOCUMENT_POST, mapped to the correct vendor and material in SAP. Inventory and pricing data from SAP ECC materials flow back to Walmart via bulk feed operations daily or on-demand. Return and refund events from Walmart are received via webhook and logged in SAP ECC for reconciliation. All flows are scheduled; ml-connector does not require real-time polling.

How ml-connector handles it

ml-connector stores the SAP RFC connection credentials and the Walmart OAuth Client ID and Secret encrypted. For outbound SAP calls, it connects via the installed on-premises agent using HTTP Basic Auth or RFC credentials, constructs the appropriate BAPI call, invokes BAPI_TRANSACTION_COMMIT to persist the document, and retries on SYSTEM_FAILURE or COMMUNICATION_FAILURE exceptions. For Walmart, it refreshes the OAuth token every 12 minutes to stay ahead of the 15-minute expiry, verifies the HMAC signature on inbound webhooks, and uses bulk feed operations for pricing instead of single-item updates to avoid throttling. Walmart orders map to SAP vendors by the marketplace seller account ID and to SAP materials by SKU matching. The integration tracks all RFC calls and REST requests in an audit log so orders and pricing changes can be replayed if a downstream call fails.

A real-world example

A mid-sized manufacturer sells excess inventory on Walmart Marketplace while maintaining SAP ECC for procurement and planning. Before the integration, the sales team captured orders from Walmart, looked up the part number in SAP, created a purchase order by hand, and updated inventory by exporting and re-importing a CSV. Pricing changes in SAP were copied to a spreadsheet and manually posted to Walmart once a week. With SAP ECC and Walmart Marketplace connected, each order appears in SAP as a purchase order immediately, inventory is updated in Walmart as SAP materials ship and sell, and daily pricing feeds keep the marketplace in sync with SAP prices. The manual reconciliation between the two systems is eliminated.

What you can do

  • Ingest Walmart Marketplace orders as SAP ECC purchase orders or GL invoice documents mapped to the correct vendor and material.
  • Sync SAP ECC inventory and pricing to Walmart Marketplace via bulk feeds, with throttling awareness and daily or on-demand cadence.
  • Authenticate SAP ECC via on-premises RFC agent with HTTP Basic Auth or RFC credentials, and Walmart via OAuth 2.0 with automatic 12-minute token refresh.
  • Receive and verify Walmart webhook signatures on inbound orders, returns, and assortment changes, and log all events for replay.
  • Handle RFC BAPI_TRANSACTION_COMMIT, Walmart bulk feed queuing, and exponential backoff on communication failures, with a full audit trail on every record.

Questions

How does ml-connector authenticate to SAP ECC on-premises?
The on-premises SAP .NET Connector or Java Connector must be installed once on the customer network. ml-connector stores the RFC connection credentials encrypted and uses HTTP Basic Auth or RFC credentials to connect through the agent, then invokes BAPIs and commits with BAPI_TRANSACTION_COMMIT. The agent stays running; ml-connector does not control its lifecycle.
Why does Walmart Marketplace require a 12-minute OAuth token refresh when the token lasts 15 minutes?
Walmart OAuth tokens expire after exactly 15 minutes. ml-connector refreshes every 12 minutes to avoid the edge case where a token expires mid-request. If a call returns a 401, ml-connector immediately refreshes and retries the request.
What happens to single-item price updates in Walmart if they exceed the 100-per-hour throttle?
Single-item price updates via the Pricing endpoint are throttled at 100 updates per hour. ml-connector uses bulk feed operations for daily or batch pricing changes instead, which have a separate quota and avoid the throttle. One-off updates during high-volume sale events should be queued as a feed to distribute the load.

Related integrations

Connect SAP ECC and Walmart Marketplace

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started