ml-connector
XeroWalmart Marketplace

Xero and Walmart Marketplace integration

Xero runs your accounting and financial records. Walmart Marketplace is where you sell third-party on Walmart.com. Connecting the two keeps your books in sync with your marketplace sales and helps you manage inventory across channels. Walmart orders automatically post as invoices in Xero, and you can push pricing and inventory updates from Xero back to Walmart Marketplace to keep your product catalog current.

How Xero works

Xero exposes invoices, contacts, accounts, purchase orders, payments, and transactions through the Xero Accounting API. It authenticates with OAuth2 Authorization Code flow, with access tokens expiring every 30 minutes and refresh tokens lasting 60 days. Xero publishes webhooks for invoices, payments, purchase orders, and other entities (CREATE and UPDATE events), though the webhook payload contains only metadata; full records must be fetched with a subsequent GET. All API requests require a Xero-tenant-id header to target the specific organization. Rate limits are 5 concurrent calls, 60 per minute per tenant, and 5000 per day.

How Walmart Marketplace works

Walmart Marketplace exposes items, inventory, orders, pricing, returns, and performance reports through REST APIs with OAuth 2.0 Client Credentials authentication. Access tokens expire after 15 minutes and must be re-requested. Walmart Marketplace publishes webhooks for order, inventory, item, and return events, with 5-minute, 15-minute, and 45-minute retry intervals (max 3 retries). API requests require specific headers including WM_SVC.NAME set to Walmart Marketplace, WM_QOS.CORRELATION_ID, and the access token in the non-standard WM_SEC.ACCESS_TOKEN header. Single-item price updates are throttled at 100 per hour; bulk feeds must be used for larger updates.

What moves between them

The main flow moves Walmart Marketplace orders into Xero as invoices. When a Walmart Marketplace order webhook arrives, ml-connector fetches the full order details and posts an invoice in Xero with line items mapped to the correct Xero accounts and tracking categories. Inventory updates flow the other direction: changes to item quantities in Xero can be pushed to Walmart Marketplace inventory across multiple ship nodes, and pricing updates use Walmart Marketplace's bulk price feed API to avoid single-item throttling. Customer contact information from Walmart Marketplace orders is synced as contacts in Xero for follow-up and reconciliation.

How ml-connector handles it

ml-connector refreshes the Walmart Marketplace access token every 14 minutes (before the 15-minute expiry) to avoid token timeouts mid-request. Xero webhooks trigger immediate order ingestion; webhook payloads contain only metadata, so ml-connector fetches the full order via GET before posting. Line items from Walmart Marketplace orders are mapped to Xero accounts based on product category or a configurable mapping table, and shipping and tax are allocated to designated accounts. Walmart Marketplace enforces 100 price updates per hour on single items, so ml-connector batches pricing changes into bulk price feeds that are submitted asynchronously. Inventory syncing respects Walmart Marketplace's multi-node model, allowing you to allocate stock across fulfillment centers from a single Xero quantity field or per-node detail columns. Rate limit handling uses exponential backoff on 429 responses. Every record carries a full audit trail, so failed order posts can be replayed once the mapping or account structure is corrected.

A real-world example

A mid-sized e-commerce seller uses Xero for accounting and financial reporting and sells third-party on Walmart Marketplace as a growth channel. Before the integration, the operations team manually downloaded Walmart Marketplace orders daily, entered them as invoices in Xero, and reconciled payments weekly against settlement reports. Inventory was managed in a spreadsheet that had to be manually uploaded to Walmart Marketplace every time stock levels changed, creating lag and oversells. With Xero and Walmart Marketplace connected, orders post as invoices automatically at the moment they arrive, revenue is recognized in real time, and inventory updates from Xero flow to Walmart Marketplace within minutes. The finance team spends reconciliation time on exceptions rather than data entry.

What you can do

  • Post Walmart Marketplace orders as invoices in Xero with line items mapped to the correct accounts and tracking categories.
  • Sync inventory quantities from Xero to Walmart Marketplace across multiple fulfillment centers and ship nodes.
  • Push pricing updates from Xero to Walmart Marketplace using bulk price feeds to avoid single-item throttling.
  • Handle Walmart Marketplace token refresh (15-minute expiry), Xero webhook signature verification, and rate-limit retries for both systems.
  • Track order and inventory changes in a full audit trail so failed syncs can be replayed without manual re-entry.

Questions

How does the integration handle Walmart Marketplace's 15-minute token expiry?
ml-connector refreshes the Walmart Marketplace access token every 14 minutes, before expiry, to ensure every API request has a valid token. If a request is denied with an expired token error, ml-connector immediately refreshes and retries the call without surfacing an error to you.
Do Walmart Marketplace orders post to Xero automatically or on a schedule?
Orders post to Xero automatically via webhook. When a Walmart Marketplace order is placed, the webhook triggers ml-connector to fetch the full order details and post an invoice in Xero within minutes. Webhook delivery is reliable, but ml-connector also polls for orders as a fallback if webhooks are missed.
Can I control how inventory and pricing map between the two systems?
Yes. Inventory mapping is flexible: you can specify which Xero quantity field (or custom field) maps to which Walmart Marketplace ship node or fulfillment center. Pricing is mapped by product category or a custom lookup table you provide. ml-connector respects Walmart Marketplace's 100-item-per-hour single-update limit by batching changes into bulk feeds for efficiency.

Related integrations

Connect Xero and Walmart Marketplace

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

Get started