Oracle JD Edwards and Walmart Marketplace integration
Oracle JD Edwards EnterpriseOne manages procurement, inventory, and costing across your supply chain. Walmart Marketplace is where you sell to millions of customers online. Connecting the two keeps your Marketplace listings current with inventory balances and pricing from JD Edwards, so overstock and understock never happen, and pricing stays competitive without manual re-entry.
What moves between them
Inventory and cost data flow from JD Edwards to Walmart Marketplace. ml-connector polls JD Edwards item master (SKU, description, cost) and inventory balances (quantity by plant or ship node) on a schedule, then pushes those updates to Walmart as bulk inventory feeds and pricing updates. The direction is one-way because JD Edwards is the system of record for inventory and pricing; Walmart order data and returns may flow back to JD Edwards through a separate inbound mapping if needed, but the core sync moves product information outbound only.
How ml-connector handles it
ml-connector stores JD Edwards AIS Server URL and credentials locally, retrieving a session token on first use and re-authenticating when the 444 HTTP error signals token expiry. It tracks the last-polled timestamp against JD Edwards F4101 and F4102 tables, using the UPMJ field to fetch only changed records on subsequent polls, reducing load. For Walmart, ml-connector caches the OAuth2 token and detects 15-minute expiry by refreshing preemptively before calls, so token timeouts never interrupt a sync. JD Edwards data is mapped to Walmart's SKU and quantity.amount schema; if inventory is tracked by plant in JD Edwards, ml-connector sums across plants or selects the default plant to post a single quantity to Walmart. Pricing updates use Walmart's bulk feed endpoint because single-item price updates are limited to 100 per hour. Every sync records which records were sent, which succeeded, and which failed, so operators can see at a glance if a price or inventory update landed in Walmart or needs to be retried.
A real-world example
A mid-sized retailer sells on Walmart Marketplace alongside their own channels. They source from suppliers globally and manage all inventory and costing in Oracle JD Edwards. Before the integration, the merchandising team manually exported product lists and inventory from JD Edwards weekly, updated pricing in a spreadsheet to reflect cost changes and margin targets, then uploaded the updated feeds to Walmart by hand. Stock-outs and overpricing led to lost sales and customer complaints. With JD Edwards and Walmart Marketplace connected, inventory and pricing updates run automatically on a daily or twice-daily schedule. Merchandisers set pricing rules once in a configuration, ml-connector applies them to every sync, and inventory levels on Walmart stay in sync with what JD Edwards shows is available to ship.
What you can do
- Poll inventory balances and item costs from JD Edwards item master and plant-level stock tables, then push updates to Walmart Marketplace as bulk inventory feeds.
- Sync pricing from JD Edwards cost or selling-price fields to Walmart, using bulk price feeds to avoid single-item throttling limits.
- Map JD Edwards multi-plant inventory to Walmart ship nodes so stock shows accurately across fulfillment locations.
- Refresh Walmart OAuth2 tokens automatically before expiry and handle JD Edwards session token re-authentication when server restarts invalidate sessions.
- Track every poll and feed submission so you can see which inventory and price changes landed in Walmart and which require manual review or replay.
Questions
- How does ml-connector handle the difference between JD Edwards polling and Walmart webhooks?
- JD Edwards has no native webhooks, so ml-connector polls the F4101 and F4102 tables using date filters on UPMJ to fetch only new or changed records since the last poll. Walmart supports webhooks for order and inventory events, but ml-connector uses polling for inventory reads to keep both sides synchronized on the same schedule, and can also receive Walmart webhooks for order updates if needed. The two polling schedules are independent and configurable.
- What happens when JD Edwards inventory is split across multiple plants?
- JD Edwards stores inventory in F4102 (Item Branch/Plant) with quantities per plant location. ml-connector can sum those quantities into a single inventory level for Walmart, or map specific plants to specific Walmart ship nodes if your fulfillment architecture requires that. The mapping is configured once during setup.
- Why does ml-connector use bulk price feeds instead of single-item updates to Walmart?
- Walmart throttles single-item price updates to 100 per hour, which is too slow for large catalogs or frequent price changes. Bulk price feeds allow updating hundreds of items in one request. ml-connector batches JD Edwards price changes into Walmart feed files and submits them asynchronously, checking feed status to confirm all items were accepted.
Related integrations
More Oracle JD Edwards integrations
Other systems that connect to Walmart Marketplace
Connect Oracle JD Edwards and Walmart Marketplace
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started