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.
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
More SAP ECC integrations
Other systems that connect to Walmart Marketplace
Connect SAP ECC and Walmart Marketplace
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started