Skip to main content

Walmart Store Management

This guide describes walmart_store_management as it exists in the current ECOSIRE source and deployed sanitized demo.

Technical namewalmart_store_management
Odoo versions17.0, 18.0, 19.0 (Community or Enterprise)
Current source/demo version17.017.0.2.4.0, 18.018.0.2.4.0, 19.019.0.2.4.5
Odoo code licenceOPL-1
CategoryConnector
Runtime licence dependencyNone

Requirements

RequirementDetail
Odoo17.0, 18.0, or 19.0, Community or Enterprise. Odoo Online cannot install third-party modules.
Odoo appsbase, sale_management, stock, account, delivery, mail, web, product, contacts
Python packagerequests
Platform accountWalmart Marketplace seller/partner account with API access for the selected market

The connector is standalone. It has no ECOSIRE licence-client dependency and no runtime key check.

Install requests in the same Python environment that runs Odoo:

sudo -u odoo pip install requests

Installation

  1. Download the ZIP matching your Odoo major version.
  2. Extract it into an Odoo addons path.
unzip walmart_store_management_v19_*.zip -d /opt/odoo/addons/
ls /opt/odoo/addons/walmart_store_management/__manifest__.py

The archive contains one top-level walmart_store_management/ directory. The __manifest__.py file must sit directly inside it.

  1. Restart Odoo.
sudo systemctl restart odoo
  1. In Apps, update the Apps list, search for Walmart Store Management, and install it. A Walmart app menu then appears.

Authentication and connection

Walmart Marketplace uses OAuth 2.0 client credentials:

  1. The connector sends Basic client credentials to POST /v3/token.
  2. Walmart returns a short-lived access token.
  3. Marketplace calls carry that token in WM_SEC.ACCESS_TOKEN, alongside the required Walmart service, correlation, market, and version headers.

Do not convert the resource-call header into Authorization: Bearer. The current official Walmart guidance requires WM_SEC.ACCESS_TOKEN, and the credentialed contract record confirms that plain Bearer authentication returned 401.

See Walmart's Token API guide and authentication troubleshooting.

Create a configuration

Open Walmart → Configuration → Settings and create a record.

LabelTechnical nameRequiredValues
Client IDclient_idYesWalmart-issued value
Client Secretclient_secretYesPassword-protected field
MarketmarketYesus, ca, mx, cl
Sandbox ModesandboxNoUS sandbox only
Fulfillment Typefulfillment_typeNosf, wfs, both

Use Test Connection after saving. The record reports connected only after Walmart accepts the real token and a one-row Global Orders probe. Leave automatic synchronization disabled until the connection and mappings are confirmed.

Executed and source-proven capability boundary

AreaEvidence levelWhat can be claimed
OAuth token and headersCredentialed contract evidenceToken grant and WM_SEC.ACCESS_TOKEN resource authentication
ItemsCredentialed contract evidenceItems-family request completed successfully
Item taxonomy and Item SpecCredentialed request/response evidenceValid product-type discovery and current schema response handling
MP_ITEM feedsCredentialed request plus per-item result evidenceSubmit a feed, poll status, and read item-level success/error outcomes
Orders and buyersProvider-shaped automated testsPaginated order parsing and masked buyer derivation from documented order payload fields
Dashboard and access controlFresh-database automated tests plus public desktop/mobile smokeCompany-scoped KPIs, currency-aware values, route authorization, multi-company isolation, and read-only navigation across six walkthrough pages

The current contract does not yet contain recorded live calls for 11 endpoint families: claims, fulfillment, insights, inventories, inventory, price, promo, report, reports, returns, and webhooks. The module may contain local records or guarded methods for some of these areas; do not treat their presence as provider-side proof.

Using the public demo

The demo at walmart.demo.ecosire.com is a sanitized local walkthrough. Its configuration is deliberately not connected to a seller account. The read-only account can inspect the dashboard, products, orders, masked buyers, feed outcomes, and logs. Provider-facing schedules are disabled; imports, connection testing, and configuration remain manager-only.

Do not use Test Connection, Sync Now, export, feed-submission, fulfillment, return, webhook, or report actions in the public demo. A real integration walkthrough that uses a seller account requires credentials supplied through ECOSIRE's existing secure access channel and the seller's authorization.

Routes

RouteAuthenticationPurpose
/walmart/webhookPublic HTTPFails closed unless a configured webhook record verifies the delivery signature; the public demo does not register provider subscriptions.
/walmart/api/statusLogged-in Walmart userReads the current company configuration status.
/walmart/api/syncLogged-in Walmart managerTriggers only enabled synchronization operations for the current company.
/walmart/dashboard/dataLogged-in Walmart userReturns company-scoped local dashboard data and currency metadata.

Scheduled actions

The module ships scheduled actions for product, order, buyer, inventory, feed-status, price/inventory export, connection-test, stock-state, and log-cleanup workflows. Every provider-facing action is also gated by configuration fields. Review them under Settings → Technical → Scheduled Actions before connecting a production account; disable any workflow outside the scope you have validated.

The bulk catalog-publish action ships inactive and must remain inactive until product mappings, Item Spec fields, feed version, and a rollback plan have been checked.

Troubleshooting

SymptomCheck
Install fails on requestsInstall the package in Odoo's Python environment, then restart Odoo.
Module folder is not foundConfirm walmart_store_management/__manifest__.py is directly under an addons path.
Test Connection failsConfirm market, environment, credentials, scopes, and that sandbox credentials are not being used against production.
Walmart returns 401Obtain a fresh token and confirm it is sent in WM_SEC.ACCESS_TOKEN; do not substitute a plain Bearer header.
A feed is marked processed but products did not publishOpen the feed details and inspect every item ingestion outcome. A processed feed can still contain only item-level errors.
Nothing runs automaticallyCheck both the configuration toggles and Odoo scheduled-action state.
Dashboard shows the wrong currencyConfirm the current Odoo company has the intended currency, then refresh assets and the dashboard. Version 19.0.2.4.1 and later use company-currency metadata.

Version history

Odoo versionCurrent source/demo version
17.017.0.2.4.0
18.018.0.2.4.0
19.019.0.2.4.5

Support