ml-connector
SYSPROWalmart Marketplace

SYSPRO and Walmart Marketplace integration

SYSPRO runs operations and finance for mid-market manufacturers and distributors. Walmart Marketplace is where those companies sell to customers through Walmart.com. Connecting the two keeps your Walmart item catalog, inventory, and pricing synchronized with SYSPRO, and orders from Walmart flow back into SYSPRO as sales records. New Walmart orders land in SYSPRO with the correct item costs and customer references, and price and stock changes in SYSPRO are published to Walmart without re-entry.

How SYSPRO works

SYSPRO Adaptive ERP exposes suppliers, purchase orders, invoices, GL accounts, cost centers, items, inventory by location, and sales orders through e.net Business Objects (REST and SOAP with login session tokens) and OData (REST with HTTP Basic auth). Both are company-instance-specific, with no shared SaaS base URL. SYSPRO has no outbound webhook system, so item catalog, inventory, and pricing records are read by polling at configurable intervals, typically 5 to 15 minutes for operational data. Writes go through e.net Business Objects with session tokens.

How Walmart Marketplace works

Walmart Marketplace exposes items (SKU, name, category, price, images), inventory across multiple fulfillment nodes, orders, returns, pricing, and settlement reports through REST APIs secured with OAuth2 client credentials (15-minute token expiry). Walmart pushes order, inventory, pricing, and return events via registered webhooks with 3 retries at 5, 15, and 45-minute intervals, or you can poll items, orders, and returns directly. Signature verification is required on all webhook payloads. Writes are supported for items, inventory, pricing via direct calls and bulk feed operations; WFS (Walmart Fulfillment Services) returns are read-only.

What moves between them

The main flow is SYSPRO inventory and pricing into Walmart Marketplace. Item masters, cost of goods, and stock quantities from SYSPRO are published as Walmart item listings and bulk inventory feeds on a daily or on-demand schedule. Walmart orders and returns are ingested via webhook (with signature verification) or polling and posted into SYSPRO as AR invoices with line items tied to the matching SYSPRO inventory master and customer. Price changes in SYSPRO feed Walmart price feeds (daily batch or on-demand); price updates use bulk feeds since single-item updates are heavily throttled at 100 per hour.

How ml-connector handles it

ml-connector stores SYSPRO credentials and polls the OData tables on a schedule you set, filtering by timestamp fields like PostDate and InvoiceDate to fetch only new or changed records. It maintains a SYSPRO session token across requests and refreshes it when it expires. For Walmart, ml-connector exchanges the Client ID and Client Secret for an OAuth2 access token every 14 minutes (before the 15-minute expiry) and registers a webhook endpoint for order, inventory, and return events. On webhook receipt, ml-connector validates the signature per Walmart specs, unmarshals the JSON, and routes to the appropriate handler. Orders and returns from Walmart are mapped to SYSPRO invoice and adjustment records, with the SYSPRO item number, unit price from the SYSPRO item master, and the Walmart customer as an AR customer. Inventory quantities from SYSPRO are published to Walmart as bulk feed operations with ship-node mapping to your warehouse locations. Every record carries an audit trail and can be replayed or corrected if a downstream write fails; signature validation errors are logged without processing to prevent poisoned queues.

A real-world example

A mid-sized sporting goods distributor uses SYSPRO for product sourcing, costing, and inventory across four regional warehouses. They list their entire catalog on Walmart Marketplace but manually updated item descriptions, prices, and availability on Walmart whenever SYSPRO stock or cost changed. The manual sync took 2 hours daily and caused stockouts when Walmart showed units that had been sold or scrapped in SYSPRO. With SYSPRO and Walmart Marketplace connected, item lists publish automatically, price feeds run nightly, and Walmart orders land in SYSPRO AR automatically with the correct cost and warehouse allocation. Stockouts are eliminated and the daily sync manual labor is gone.

What you can do

  • Sync SYSPRO item masters, costs, and descriptions to Walmart Marketplace listings and receive updates via bulk feed operations.
  • Publish SYSPRO inventory quantities to Walmart as bulk feeds mapped to your warehouse ship nodes, keeping stock accurate across channels.
  • Pull Walmart orders and returns via webhook (with signature verification) or polling, and post them into SYSPRO as AR invoices and adjustments with matching item costs.
  • Authenticate SYSPRO with session tokens (refresh on expiry) and Walmart with OAuth2 client credentials (refresh every 14 minutes).
  • Maintain a full audit trail of every order, inventory, and pricing record, with error logs for signature validation failures and replay capability on downstream errors.

Questions

How does ml-connector handle SYSPRO polling if SYSPRO has no webhooks?
ml-connector polls SYSPRO OData tables on a configurable schedule (typically 5 to 15 minutes) and filters by timestamp fields like PostDate and InvoiceDate to fetch only new or changed records. This keeps latency low while reducing API load compared to fetching the entire catalog on each run.
What happens when Walmart webhook signatures fail validation?
ml-connector logs the validation error with the event ID and request body (without decrypting credentials) to help you investigate misconfigured webhook secrets or forged requests. The event is not processed to prevent poisoned queues. You can replay valid events manually once the issue is fixed.
Does ml-connector handle the different SYSPRO APIs and the OAuth2 token refresh automatically?
Yes. ml-connector maintains SYSPRO session tokens and refreshes them on expiry, handles both OData (HTTP Basic) and e.net Business Objects (session token) calls, exchanges Walmart Client ID and Client Secret for a new OAuth2 access token every 14 minutes (before the 15-minute expiry), and validates signatures on all incoming webhooks.

Related integrations

Connect SYSPRO and Walmart Marketplace

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

Get started