ml-connector
Microsoft Dynamics NAVWalmart Marketplace

Microsoft Dynamics NAV and Walmart Marketplace integration

Microsoft Dynamics NAV runs operations and finance for small and mid-sized retailers and distributors. Walmart Marketplace is where many of those companies list and sell inventory to Walmart's customer base. When Walmart order volume, inventory levels, and pricing change, that data needs to flow into Dynamics NAV so fulfillment, supply chain, and financial planning stay aligned. ml-connector bridges the two platforms, moving Walmart orders into Dynamics NAV as sales transactions and syncing Walmart inventory and pricing data back into your item master.

How Microsoft Dynamics NAV works

Microsoft Dynamics NAV exposes items, inventory, customers, sales orders, purchase invoices, vendors, and general ledger entries through OData v4 REST APIs. The cloud product (Dynamics 365 Business Central online) uses OAuth 2.0 client credentials via Microsoft Entra ID against a tenant-specific base URL. On-premises deployments can also use Basic auth with a web service access key, though OAuth is recommended. Dynamics NAV supports both webhooks (which expire after 3 days and must be manually renewed) and polling. Webhooks cover most entities except purchase orders. GL accounts are read-only, and GL entries are immutable once posted. On-premises installations require firewall access to port 7048 and administrator enablement of OData services.

How Walmart Marketplace works

Walmart Marketplace exposes items (SKU, product name, category, price), inventory across multiple fulfillment nodes, orders with line-item status, returns and refunds (read-write for non-Walmart Fulfillment Services items), pricing, and settlement reconciliation reports through REST APIs. All calls require OAuth 2.0 client credentials exchanged for a Bearer token (15-minute expiry) and a non-standard WM_SEC.ACCESS_TOKEN header on downstream requests. Walmart also requires WM_SVC.NAME, WM_QOS.CORRELATION_ID, and standard Accept/Content-Type headers on all calls. Walmart Marketplace supports both webhooks (with 5/15/45 minute retries, max 3 attempts) and polling for orders, inventory, items, returns, and reconciliation reports. Single-item price updates are heavily throttled at 100 per hour; bulk price feeds must be used instead. WFS-fulfilled items and returns are read-only.

What moves between them

The main flow runs from Walmart Marketplace into Microsoft Dynamics NAV. Order data from Walmart is read hourly and posted into Dynamics NAV as sales orders tied to a Walmart customer record, with each line item linked to the matching SKU in the item master. Walmart inventory levels across nodes are polled and reconciled against Dynamics NAV on-hand quantities so supply planning accounts for real fulfillment node stock. Pricing changes from Walmart are read and compared to Dynamics NAV's sale price for the SKU, alerting on significant deltas. Customer refunds and returns from Walmart Marketplace are read and can trigger credit memo creation in Dynamics NAV for non-WFS orders. Settlement reconciliation reports from Walmart are pulled into Dynamics NAV as journal entries so accounting can match payouts to the general ledger. The reverse direction is read-mostly: Dynamics NAV items and pricing can be published to Walmart via bulk feeds to keep the SKU master in sync, but most Walmart-originated data is consumed as-is into Dynamics NAV.

How ml-connector handles it

ml-connector stores both OAuth credential sets encrypted. On the Walmart side, it manages the 15-minute token expiry by requesting a fresh token before each batch of calls, using the WM_SEC.ACCESS_TOKEN header and required request headers (WM_SVC.NAME, WM_QOS.CORRELATION_ID). On the Dynamics NAV side, it accepts the tenant-specific base URL and OAuth client credentials per customer and refreshes the bearer token when calls return 401. ml-connector polls Walmart orders on an hourly cadence, normalizing order lines into Dynamics NAV sales orders mapped to a standing Walmart customer. Inventory is reconciled by querying Walmart's multi-node inventory endpoint and comparing totals against the matching Dynamics NAV item's on-hand quantity. Settlement reports are fetched weekly and posted into a journal in Dynamics NAV for month-end reconciliation. Because Walmart's single-item price update endpoint is throttled to 100 per hour, bulk price feeds are staged as Walmart feed jobs and monitored for completion before the sync marks prices as updated. Webhook subscriptions in Dynamics NAV expire after 3 days, so ml-connector polls for order and inventory changes on a schedule rather than relying on push notifications. Every record carries a full audit trail, and failed order postings to Dynamics NAV can be replayed once the root cause is resolved.

A real-world example

A small regional distributor sells industrial supplies and maintenance items to Walmart through Walmart Marketplace. Before the integration, the warehouse manager received Walmart orders by email twice daily, manually typed them into Dynamics NAV by hand, and used a spreadsheet to track inventory levels across Walmart's three fulfillment nodes. Each week, the Walmart settlement report arrived as a CSV, which the accounting team reconciled to cash receipts and general ledger entries, often finding discrepancies between what Dynamics NAV thought was sold and what Walmart reported. With Walmart Marketplace connected to Dynamics NAV, orders flow in every hour and create sales orders automatically, inventory is reconciled to real node stock in near real-time so picking accuracy improves, and settlement records post into the GL with a full audit trail, cutting month-end close reconciliation from 4 hours to 15 minutes.

What you can do

  • Post Walmart Marketplace orders into Microsoft Dynamics NAV as sales orders, mapped to a Walmart customer and linked to the item master.
  • Reconcile Walmart multi-node inventory levels against Dynamics NAV item on-hand quantities on an hourly schedule.
  • Sync pricing changes from Walmart into Dynamics NAV sale prices, with alerts on significant deltas.
  • Create credit memos in Dynamics NAV for Walmart returns and refunds (non-WFS orders only), tied to the original sales order.
  • Pull Walmart settlement reconciliation reports into Dynamics NAV journals so accounting can match payouts to the general ledger.

Questions

In which direction does data move between Microsoft Dynamics NAV and Walmart Marketplace?
The main flow is from Walmart Marketplace into Microsoft Dynamics NAV. Orders, inventory levels, returns, and settlement reports flow from Walmart into Dynamics NAV. Item master data and pricing can flow from Dynamics NAV to Walmart via bulk feeds to keep the SKU and price master in sync, but Walmart-sourced data is consumed as-is into Dynamics NAV. GL entries in Dynamics NAV are immutable and never written back to Walmart.
How does ml-connector handle the 15-minute OAuth token expiry on the Walmart side?
ml-connector requests a fresh access token before each batch of Walmart API calls and stores it encrypted. The WM_SEC.ACCESS_TOKEN header is populated with the current token on every request. If a Walmart API returns 401, ml-connector immediately refreshes the token and retries the call without blocking the flow.
Why does ml-connector use polling instead of webhooks for Walmart order and inventory changes?
Dynamics NAV webhook subscriptions expire after 3 days and require manual renewal; there is no automatic re-subscription mechanism. ml-connector uses a scheduled polling approach for order and inventory so synchronization is reliable and does not depend on maintaining webhook state. Settlement reports and returns are also polled on a weekly cadence to ensure no records are missed.

Related integrations

Connect Microsoft Dynamics NAV and Walmart Marketplace

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

Get started