Skip to main content

Walmart integration

Walmart integration

Walmart allows third-party sellers to list their items on Walmart’s website. If you’ve sold products on Amazon or eBay, you’ll experience a similar process with Walmart. People conduct searches on the site and browse product listings from sellers.

This is an area of ongoing development. At the moment, one-way synchronization is supported, but improvements are planned for the near future.


  • Generate Client ID and Client Secret using Delegated access authorization for Cin7.

  • Active Walmart Seller account with admin access to the Walmart Seller Center, with the following configured:

    • Partner profile (allows to configure company information, customer service policies, shipping options, return policy, privacy policy and tax information);

    • Shipping profile (allows to add and update the fulfillment centers for free TwoDay delivery setup);

    • Financial settings (allows to update payment information and tax forms);

    • Client ID and a Client Secret - to access the APIs. Once generated would be stored in seller account until deletion.

  • Familiarity with the Processing a Sale process (required)

  • Users will need the Integration: eCommerce - Walmart permission in order to use this feature.

  • Currently Cin7 Core supports the Walmart USA Marketplace only. Mexico and Canada support are planned for future releases.


Walmart integration setup

First, you must connect Cin7 Core to your Walmart Marketplace store. You must have an active Walmart Seller account to use this integration. You will need to generate a Client ID and Client Secret for Cin7 using delegated access authorization.

Each linked store has an independent catalog, logs and settings. Additional external integrations can be purchased from the My Subscription page if your account does not have enough available to make the connection.

Connect Walmart to Cin7 Core:

  1. Navigate to Integration → Walmart.

  2. Click + to connect a new store.

  3. Select a Walmart marketplace from the dropdown menu - for now, only USA is supported.

  4. Enter your Client ID and Client Secret that was generated using delegated access authorization from your Walmart seller account.

  5. Enter a name for your store. Note that a default value with be populated based off of the given data in country client and key but can be overridden.

  6. Click Connect to Walmart.


Integration settings

Once you have connected to your Walmart store, you can customise store settings. Under the Setup tab, several integration settings can be customized.

General settings


Load from Walmart

Select when sales are loaded from Walmart. The user has the option between loading paid sales or fully shipped sales.

  • All paid sales: Cin7 Core will fetch created and acknowledged orders, sellers can acknowledge their orders in Seller Center manually or acknowledge orders from the Cin7 Core Log. Non-consolidated sales will be captured by Cin7 Core as soon as they are acknowledged.

  • Only fully shipped sales: Cin7 Core will fetch orders with shipped and delivered status. Partially shipped orders are not downloaded.


Consolidate orders

There are two options for order consolidation:

  • No consolidation

  • Daily consolidation.


No consolidation indicates that sales will be captured from Walmart as they occur. Daily consolidation will consolidate all orders from that day into a single order. When daily consolidation is chosen, an additional setting becomes available: Consolidation time. This is your local time when all pending orders aggregated during the day will be processed.

See the Pending order processing section below for more details.


For pending order processing to be successful, an existing customer must be selected.

When the consolidation type is Daily consolidation, this customer is used to create a new sales task, which will combine all daily sales. A customer can be created just for this purpose. When No consolidation is selected, Cin7 Core uses the customer company name as the customer name, unless the company name was not specified. In this case, the customer contact name is used instead.

Sales representative name

This option allows the shop name to be used to fill the sales representative field of the sale. It is useful if you have several shops in the same region so as not to cause confusion.

Price tier

Choose which price tiers to use as default when Cin7 Core downloads products from and updates products in Walmart.

Location for merchant fulfilled orders

Fulfillment By Merchant (FBM) means that products are stored somewhere at the merchant (seller) location. You can specify a location just for Walmart. Selecting a particular warehouse will limit the availability of stock in Walmart to that location. Selecting All locations will display the total stock quantity across all of your locations.

Location for Walmart fulfilled orders

Walmart Fulfillment Service (WFS) means that all fulfillment and inventory management processes are fully automated and handled by Walmart. You can select a location for Walmart fulfilled orders to track quantities or leave blank to not process WFS orders.

Note: This is for information only, order data will be downloaded from Walmart to Core. Full Walmart fulfillment service (WFS) integration is not part of the current implementation.

Pick, pack and ship processing mode

When pending orders are processed by Cin7 Core, new sales tasks are created. This setting tells Cin7 Core if it should try to auto pick, auto pack and auto ship these tasks. If there is not enough stock on hand to pick the full quantity of products in an order, then pick will remain in draft state, and pack and ship won’t be completed.

Ignore restock for non-fulfilled sales

When a refund is processed for an unfulfilled Walmart sale, this will cause an error with restocking the unfulfilled items. These will appear on the log as Pending fulfillment. If you are experiencing this error, you will need to enable this setting. Restock/stock allocation quantities will be edited to match the fulfilled items of the sale. This setting is only applicable when Pick, pack, and ship mode for processing online sales is set to Auto pick + pack + ship.

Process auto-assembly as

This dropdown field has two options:

  • For ordered quantity: Does not check stock quantity. An assembly order is created for the quantity specified in the sale order, regardless of stock availability.

  • For minimum quantity required for picking: Assemble stock required to meet the quantity of specific sale order.

    • If stock availability cannot be negative. Walmart does not support negative values in inventory.

    • f there is already stock available in inventory but not enough to fulfill the sale order quantity, auto-assembly will assemble the difference in quantity needed to meet the sale order requirement.

    • If stock availability exceeds sale order quantity, auto-assembly is not triggered.

Stock availability is validated against the sale order location and does not take on order quantity into account.

Match product manually

This is the option to choose automatic mapping according to SKU or manual mapping by the user. When automatic mapping is selected, an existing product will be searched for automatically by SKU, and if a product is found with a matching SKU, then the mapping is done automatically. When manual mapping is selected, the user will have to manually select which Cin7 Core products to link to via the Catalog tab. Manual mapping can still be performed even if automatic mapping is enabled.

Create a new product if not found by SKU

This option is only available when Match product by SKU is enabled. With this option enabled, if there is a product (SKU) in the sales channel that does not yet exist in Cin7 Core, then this product can be automatically built in Cin7 Core based on the data received about the product from a sales channel. The possibility of a manual build is still always available through the Cin7 Core UI.

Update stock levels in Walmart

You may choose to disable automatic stock level updates in Walmart performed by Cin7 Core at the time available product quantity changes in Cin7 Core. This may be useful if you are managing stock levels in Walmart manually and do not want Cin7 Core to change it. Please ensure you have the correct stock quantities entered in Cin7 Core before you turn on this option as these values will override the stock quantities in Walmart.

Export shipping information to Walmart

You may enable the export of order tracking details from Cin7 Core to Walmart. This includes shipping information for partially shipped orders.

Account and cash settings


Invoice status

You can control the invoice status for sales tasks created as a result of pending order processing. By default, the invoice will not be authorized and will be in draft state, adjustable and waiting for authorization. However, if this setting is changed to authorized, the invoice will be automatically authorized, and pending sync will be created for it to sync with an accounting application of your choice.

Optional revenue account

This is the revenue account to be used for all Walmart sales. This will override settings at the product/customer level and any other account mapping. These accounts do not accept payments.

Walmart payment method

Select an account from your chart of accounts to receive payments from Walmart. This field can be left blank. It will mean that we won’t download payments, payments will need to be processed manually.

Ignore Walmart taxes

You may choose to ignore taxes from Walmart.

Money settlement bank account

This option is for selecting the bank account that is used to receive settlements from Walmart. It is currently not possible to process settlements from Walmart but this functionality will be released in the immediate future.

Tax mapping

Any unique tax rules from captured orders will be displayed here for mapping. Clicking Load from Walmart will search the last 100 Walmart orders for unique tax rules. During set up, there will be no Walmart orders and thus no captured tax rules, but the following default three rules must be mapped:

  • Default line tax

  • Additional charges tax

  • Tax free (for non-taxable products)


When a pending order is processed by Cin7 Core, a sales task is created. Each order and invoice line is assigned a tax rule. The tax rules specified in these settings will be used to create these lines. According to Walmart policy, sellers are responsible for collecting and remitting the sales tax for the items they sell and may choose to add the cost of tax to the price of their items or can list the tax separately.

Walmart always calculates the due taxes on the basis of ProductTaxCode value for the item and seller tax jurisdiction  Additional (shipment) taxes might be applied if needed.

Cin7 Core does not apply the tax rule to recalculate tax and is simply using the actual tax amount from the Walmart Marketplace order. This means that if certain products are not taxable or with varying tax in Walmart, all data and totals in Cin7 Core will look identical to Walmart, but with Cin7 Core tax rule name selected in this setting.

In the case of tax recalculation, the tax amount will be overwritten with a value calculated by the Cin7 Core tax rule.

IMPORTANT! Tax rules are downloaded from orders, hence the tax will be mapped upon order download.



When you disconnect from the Walmart store, Cin7 Core removes all associations between Cin7 Core objects and Walmart, including log and product catalog.


The Cin7 Core Walmart catalog page allows user to download products from Walmart, break the link between a Cin7 Core product and its Walmart listing and update quantities in Walmart according to Cin7 Core available stock (if Update stock levels in Walmart setting is enabled). This integration allows one-way exchange from Walmart to Cin7 Core.

Downloading products

Products can be loaded from Walmart to Cin7 Core in the Catalog tab by clicking Load products. This operation may take some time. Users can Refresh to show the latest data and search the catalog via the search field.

There are two types of products in Walmart: a simple product and a complex product (a product with options/variations such as, for example, the same product in different colors and sizes). These map to Cin7 Core products and product families.

  • Each complex product has at least one option to differ and up to three as maximum. When downloading products from Walmart, Cin7 Core checks if the product has/does not have options and creates a product or product family (with product variants as separate products) in Cin7 Core.

  • If a product family and its products are already created/linked with Walmart, then Cin7 Core will update the existing family/products instead of creating new versions.


When downloading products, Cin7 Core first tries to match the existing products to avoid creating duplicates. This search takes place in several steps:

  • First, Cin7 Core attempts to search for a product family by name using the Walmart product title.

  • Then, for each variant, Cin7 Core searches for a Cin7 Core product using the Walmart variant group ID.

  • If not found, Cin7 Core then searches for a Cin7 Core product by Walmart product (or variant) SKU.


When a product is created or updated in Cin7 Core during the download process, a link is established between the product and variant unique Walmart ID and Cin7 Core unique product ID. This link is used when products are matched against sales order lines in Walmart and when subsequent product downloads take place.

Walmart maintains a hierarchical and pre-defined list of categories and subcategories while Cin7 Core categories are all treated at the same level. Only the first (top-level) category of Walmart product will be linked to Cin7 Core category, while attributes of variations are linked to options of Cin7 Core product family. Product variation names once downloaded consist of the product family name + “(Option1Value, Option2Value, ...)".

During product download, Cin7 Core automatically should create product categories and product brands/names for all product types downloaded from Walmart.

Data mapping for products between Cin7 Core and Walmart Marketplace is as follows:

Cin7 Core

Walmart Marketplace




Product name




Category, subCategory




Site description


Shipping weight (lbs)


eachWidth* (in inches, used only for WFS conversion)


eachHeight* (in inches, used only for WFS conversion)


eachDepth* (in inches, used only for WFS conversion)



Price tier

Selling price (USD)


mainImageUrl, productSecondaryImageURL: [“…”,“…”,“…”]


quantity: { unit, amount }

Sale tax rule

Provided set of structures: tax: { taxName, TaxAmount: { currency, amount } }

Option 1 Name

variantGrouID, variantAttributeNames**

Option 2 Name

variantGrouID, variantAttributeNames

Option 3 Name

variantGrouID, variantAttributeNames

Option 1 Value (for variation)

variantGrouID, variantAttributeValue

Option 2 Value(for variation)

variantGrouID, variantAttributeValue

Option 3 Value(for variation)

variantGrouID, variantAttributeValue

**See here for details

Manage catalog

There are three possible statuses for products in the catalog: Not listed, Listed and Canceled. The Canceled status appears for products that were removed from Walmart. By default, they are not visible in the catalog unless the Show only active checkbox is disabled.

There is also an option that allows you to switch the appearance of the catalog to Show variations separately. If checked off, all products without variations are displayed, and each product variation is shown as a separate product line. If this function is not enabled, products without variations are displayed as usual and product families are displayed as a single product line.


In addition to downloading products from Walmart Marketplace and performing automatic product mapping, you can choose to manage your Walmart catalog from Cin7 Core. Clicking a catalog entry allows for linking and unlinking Cin7 Core and Walmart products. This is useful when the correct product has not been found.

There are three linking options:

  • Leave blank (do not tie to a product in Cin7 Core)

  • Link to an existing product

  • Create a new product in Cin7 Core (available if the product with the required SKU does not exist).


Buffer inventory

Instead of showing actual inventory values in e-Commerce storefronts, many retailers prefer to display an estimated display quantity where there is a safe buffer stock on their backend to avoid overselling products. Core allows for an inventory buffer on stock quantities pushed to Walmart, both for the whole channel and at the product level.

Buffer inventory levels for the whole channel are controlled from the Setup tab. Update stock levels in Walmart setting must be enabled.

  • Use buffer inventory: Displayed when Update stock levels in Walmart is enabled. Allows for an inventory buffer on stock quantities pushed to Walmart. Enabling this setting will enable the Buffer inventory field.

  • Buffer inventory: Displayed when Use buffer inventory is enabled. Enter an integer number of stock to act as a buffer. Sync quantity passed to Walmart when updating stock levels will be equal to Actual stock - buffer inventory.


When this setting is enabled, Sync quantity and Buffer inventory quantity will be added as fields to the Catalog and Bulk listing tables alongside stock availability. However, sync quantities will only be updated in the channel if the user updates or lists a product.

Buffer inventory for the whole channel can be overwritten by a product level buffer from either the Catalog or Bulk listing page (Use buffer inventory must be enabled from the channel Setup tab). The product level buffer value will ALWAYS override the value set on the setup tab. If the setup tab buffer inventory value is changed, this will not affect products with product level buffers.

Note: Product level inventory buffer is disabled by default. In the case of wanting to turn off inventory buffer for certain products only, the user will need to enable buffer inventory and enter a value to apply it to the whole catalog, THEN set product level buffer to 0 for those products, then update or list the item to apply changes.

If the user wishes to apply inventory buffer ONLY to one or more specific products, inventory buffer should be enabled on the Setup tab and set to 0. Then, product level buffer inventory can be enabled and configured for products from either the catalog or bulk listing page. You will need to list or update the item to apply changes.

On the Catalog page:

Click on a listed or unlisted item to open a pop-up window and slide Use product level buffer inventory to enable. You can then enter an integer value for Product level buffer which will overwrite the channel buffer value. You will then need to Update or List the product for the new stock level quantity to be displayed in the channel. Save and Close to continue.


On the Bulk listing page:

Use this to update the product level buffer for multiple items at once. Use the search box and filter options to filter items to list/update in bulk.

The Use buffer inventory menu allows you to Turn on product level setting, Remove product level setting, or Don't update existing setting. Turning on product level setting allows you to then enter an integer value for Product level buffer. Click List to overwrite the channel buffer value for the filtered products with the product level buffer.

Selecting Remove product level setting, then List, will remove the product level setting from the filtered products and return them to the channel buffer inventory value.

Selecting Don't update existing setting will leave all buffer values, including product level buffer values, unchanged when updating listings or making a new listing.


Catalog modifications in Walmart Marketplace

Consider a catalog which contains 3 products: A, B, C. Product C has been modified in the sale channel. Next time a catalog download is triggered, the products: A, B, D will be visible with the following statuses:

Products A and B (the unchanged products) will remain in the catalog with a Listed status. Product D will now appear in the catalog with a listed status, but product C’s status will change to Canceled.

Product mapping must be completed in order for sales to be successfully downloaded from your sales channels to Cin7 Core. When sales are loaded from a sale channel and a sale contains a product that is not mapped to any product in Cin7 Core, then this sale will not be downloaded.

The user will be notified if a sale is skipped through internal messages such as: notifications, recordings in operation log, or text message on the screen (depending on the situation).

Orders and sales

Orders are captured from Walmart when the order is acknowledged by the seller or when it has been shipped, depending on your settings. Walmart Fulfillment Service (WFS) orders are also captured in read-only status, and cannot be edited.

Processing pending orders

Whenever a sale is acknowledged in Walmart, it is first placed in Pending orders, and stock is allocated immediately. Cin7 Core checks every hour if there are any new orders and imports them immediately as individual sales orders (if No consolidation is selected in the integration settings) or once a day as a consolidated sales order (if Daily consolidation is selected).

If No consolidation is selected, each Walmart sale is converted into an identical sale in Cin7 Core, keeping the same customer, shipping and billing information. With Daily consolidation, the single daily sales task will use the customer selected in the integration settings, and customer, billing and shipping information imported from Walmart will be ignored.

When processing orders, the logic is identical to that of the Cin7 Core UI. Dropshipping, kitting and other important scenarios are implemented in the same way as the Cin7 Core UI.

Pending orders can be processed manually by clicking Process. They can then be viewed in the Log tab.

Order field mapping

No Consolidation

Cin7 Core sale order header fields

Will have value:

Customer and customer details (contact, phone, email)

Customer from Walmart sale will be used.                                                                                                                   



Billing address

  • Billing address

  • If billing address is incorrect for these purposes, then shipping address from Walmart will be used.

  • If customer is not provided in Walmart, billing address for the default customer will be used.

Price tier

Sale price tier specified in Walmart settings.


  • Payment terms define for this customer

  • If no payment terms are defined, default payment terms (Settings → Reference Books → Payment Terms)

Sales representative

  • Sales representative name specified in Walmart settings.

  • If sales representative name is not specified, Walmart store name will be used.


  • Optional revenue account specified in Walmart settings.

  • If an optional revenue account is not specified, the default sales account will be used.

Tax rule

Will be set according to tax rule mapping in Walmart settings.

Invoice #

Generated automatically by Cin7 Core.

Invoice date

Sale order capture date.

Due date

Calculated from invoice date + payment term


Default Walmart location for online sales will be used.                                                                                                                   


Sale order capture date.

Shipping address

  • Shipping address from Walmart will be used.

  • If shipping address is not specified, this field will be left blank.

  • If customer is not provided, default customer shipping address will be used.

Ship to company

Company name from Walmart if provided.

Ship to contact

Customer contact name from Walmart if provided or list of pickupPersons (name, phone) provided in the order response from Walmart.

Shipping notes

Walmart notes (if any)


Walmart notes (if any)

Required by

Same as sale order capture date.


Walmart carrier information will be used.

If no Walmart carrier information is provided, Free Shipping will be used.


Daily consolidation

Cin7 Core sale order header fields

Will have value:

Customer and customer details (contact, phone, email)

Default customer in Walmart settings will be used.                                                                                                                   


Reference added with the date on which the sales were consolidated.

Ex: Walmart sales for 28/05/2020                                                                                                                   

Billing address

Billing address for the default customer will be used.                                                                                                                    

Price tier

Sale price tier specified in Walmart settings


Default payment terms (Settings → Reference Books → Payment Terms)

Sales representative

  • Sales representative name specified in Walmart settings.

  • If sales representative name is not specified, Walmart store name will be used.


  • Optional revenue account specified in Walmart settings.

  • If optional revenue account is not specified, default sales account will be used.

Tax rule

Will be set according to tax rule mapping in Walmart settings.

Invoice #

Generated automatically by Cin7 Core.

Invoice date

Sale order capture date.

Due date

Calculated from invoice date + payment term


  • If order routing is enabled, the field will have value determined by order routing.

  • Otherwise default Walmart location for online sales will be used.


Sale order capture date.

Shipping address

Shipping address for the default customer will be used.

Ship to company

Default customer in Walmart settings will be used.

Ship to contact

Default customer in Walmart settings will be used.

Shipping notes

Walmart notes (if any)


Walmart notes (if any)

Required by

Same as sale order capture date.


Walmart carrier information will be used.

If no Walmart carrier information is provided, Free Shipping will be used.

Downloading orders and payments

Orders are automatically downloaded when an order is acknowledged, modified or changed in Walmart settings.

Any imported order is saved to the Pending orders section. It is a temporary storage of all sales and payments in Cin7 Core. Only orders matching the selected capture option are accepted.

If an order already has an entry in the log, i.e. it has been imported previously, it will be skipped. This guarantees that no duplicate sales will be created by Cin7 Core.

While saving orders, Cin7 Core captures customer information such as the shipping address. Unfortunately, upon order download, it is impossible to obtain the billing address details, except for the billing name (the person who paid for the order).All line items are captured together with quantities, prices and totals.

For each line in a sales order, Cin7 Core will try to locate the corresponding product by SKU. If no product is found, Cin7 Core tries to download the product information from Walmart using the same logic as in the Download products function described above. If the product information is not found (if removed from the Walmart store, for example), Cin7 Core marks this line as a service (non-product). Next, the sale line is saved to pending orders with all the data imported from Walmart: tax, quantity and total.

If a payment account has been specified in the integration settings, Cin7 Core will always assign associated payments to the captured orders (whether the order has already been processed or is still pending) when the Walmart order is paid.

Only orders with order status acknowledged, shipped and delivered orders are downloaded. An order can be acknowledged at Walmart Seller Center (here is a link that can guide through it) or from the Log tab of the Walmart integration in Cin7 Core.

Updating fulfillment in Walmart

When shipment is authorized in Cin7 Core and the carrier specified, Cin7 Core will try to create order shipment information in Walmart if this setting is enabled. This will only work in the No Consolidation processing mode.


Each captured Walmart order once saved to pending orders creates a log entry to track the link between the sale in Cin7 Core and in Walmart. This eliminates the possibility of creating duplicate orders when capturing the same order several times during manual order load.

Each log entry has a link to the sales task in Cin7 Core. Depending on the settings selected by the user in the setup tab, this sales task could be draft or authorized, one or more of the pick, pack and ship tabs could be authorized, and payment could have been applied to the invoice.

Log entries allow you to see which sales task reflects a particular Walmart sale. You also have the option to delete a log entry manually. This will allow Cin7 Core to reprocess an order if required. Deleting a log entry will not void or delete its associated sales task.

Acknowledge orders

Orders created in Walmart must be acknowledged so that they can be processed. Walmart requires a seller to acknowledge orders within four hours of receipt of the order, except in extenuating circumstances. Orders can be acknowledged manually from Walmart, or acknowledged directly from Cin7 Core.

When Load from Walmart setting is All paid sales, all created sales in Walmart are captured and loaded to Cin7 Core, displayed in the Log. Orders captured without acknowledgement will have the status Not acknowledged and will not be processed yet. Captured acknowledged orders captured are processed in Core automatically.

On lines with Not acknowledged status, an Acknowledge button will be visible, which can be pressed to acknowledge the order in Walmart. Once the order is acknowledged in Walmart, the order is processed to Cin7 Core.

Reloading orders from Walmart

If for any reason you need to reload an order from Walmart, this can be managed from Cin7 Core.

To reload an order from Walmart:

  1. Void the sales task. A record of this will be kept in Cin7 Core for reconciliation purposes, but the transactional data will be deleted.

  2. Return to the Walmart integration Log tab and delete the log entry. This will allow the order to be recaptured from Walmart.

  3. Navigate to the Pending orders tab and click Load orders, making sure to set the date before the order to reload was made. Cin7 Core allows loading historical sales data a maximum of one year old.

Refunds Returns and Replacements

All refund and return rules are defined by the merchant in the Seller Center account. Cin7 Core just grabs returns and refunds from Walmart and processes them.

Cin7 Core will process the captured refunds automatically every hour, but users can manually load and process refunds and credit notes via the pending orders tab. Only refunds that are Completed from Walmart Marketplace will be captured and loaded to Cin7 Core. Pending or Declined refunds will not be loaded or processed to Cin7 Core.

Credit notes and refunds are captured from Walmart and downloaded into Cin7 Core. Restock for the credit notes captured from Walmart will be authorized and completed automatically in Core.

When processing refunds for historical sale orders on Walmart integration, Cin7 Core would load the sale order together with the refund and credit note from Walmart Marketplace. If the sale pre-dates the date when Cin7 Core was integrated with your Walmart Marketplace store, a stand-alone credit note will be processed, while the original order will not be altered or synced.

At Walmart orders are differentiated with respect to OrderType which can be new orders or replacements. Cin7 Core cannot recognize order type, All replacements are also processed as a new order under order management.

Please note refunds and restocks in Cin7 Core are not passed automatically to Walmart. For this reason we do not recommend using the Core RMA workflow with sales originating from Walmart.

Operations log

Each time the user or Cin7 Core downloads sales, the appropriate record is added to the operations log, which also contains information about results of downloading, including the count of processed, skipped or canceled orders. Currently the operations log also logs any setting changes in the setup tab.

Was this article helpful?

Have more questions? Submit a request