Articles in this section

Sync Walmart Fulfillment Services orders to NetSuite

Walmart Fulfillment Services (WFS) gives select marketplace sellers access to Walmart's supply chain: Walmart stores, picks, packs, and ships your items, and handles returns and customer service. The Walmart - NetSuite integration app imports WFS orders into NetSuite as sales orders, invoices, or cash sales, together with their customers. This article covers the WFS flows, how to prepare for and import your first order, the WFS order settings, and how WFS orders are checked when they're imported. The WFS flows are available only in the Standard edition of the integration app.

WFS order flows

The Order (WFS) flow group has two flows:

  • Walmart (WFS) order to NetSuite order (add): Imports WFS orders with the delivered status in bulk. You can schedule it to run at a preset interval, from every 15 minutes to once a week, or at an interval you choose. If an order already exists in NetSuite, the flow skips it.
  • Walmart (WFS) order to NetSuite order (add) (on-demand sync): Imports up to 10 WFS orders that you enter by order ID, with any order status, including orders that aren't delivered. It runs when you save the order IDs.

Both flows also create or update the order's customer in NetSuite; there's no separate customer flow. Both flows prevent seller-fulfilled Walmart orders from being added as WFS orders.

Prepare to import your first order

  1. Make sure you have an item with the same SKU name or number in both Walmart and NetSuite. If you don't:

    • In Walmart Seller Center, select Add Items and create the product, or use Update items in bulk to create several. For details, see The Ultimate Guide to Item Setup on Walmart Marketplace.
    • In NetSuite, go to Lists > Accounting > Items > New > Inventory Item, and create the same item.
  2. From a buyer account, place a test order for the item, and note its WFS order ID. You can instead use an existing order that hasn't been imported into NetSuite, as long as its item exists in both systems.
  3. In the integration app, go to Flows > Order (WFS), and select Mapping for Walmart (WFS) order to NetSuite order (add).
  4. Select Post Walmart Fulfillment Services orders to NetSuite, change the eTail channel destination from eTail Channel (InternalId) to eTail Channel (Name), and then save the mapping. This lets the order lookup succeed when the flow runs.
  5. In NetSuite, open the Celigo Walmart Account record, and confirm that Account ID shows the integration store ID. Don't enter the account ID manually.
  6. In the integration app, go to Settings > Order (WFS) > Shipping, and set a default ship method for WFS orders. For details, see Ship methods for WFS orders.
  7. Turn on Walmart (WFS) order to NetSuite order (add).

Import your first order

  1. Go to Settings > Order (WFS) > Orders.
  2. In Walmart Fulfillment Services order IDs, enter the WFS order ID you noted, and then select Save. Saving runs the on-demand flow.
  3. Go to Dashboard. The flow status changes from Queued to In Progress to Completed.

    • If the run shows Completed with a success count of 1, the order is in NetSuite.
    • If it shows Errored with an error count of 1, select View next to the error count, fix the cause, and then select Retry. NetSuite doesn't report all of an order's errors at once, so you might need to fix and retry more than once.
  4. In NetSuite, enter the WFS order ID in the global search to find the new order.

For lines with a quantity greater than 1, also check the item rate. See Incorrect item rate on WFS orders.

WFS order settings

The WFS order settings are under Settings > Order (WFS), grouped under General, Shipping, Orders, and Customers. Save your changes in each group.

General

  • Sync Walmart Fulfillment Service orders as: The NetSuite transaction type for WFS orders with the delivered status. The default is Invoice.

    • Cash sale: For orders that are fully paid.
    • Invoice: For orders with an open balance that Walmart pays through settlement. Settlement payments are reconciled with the amount on the invoice.
    • Sales order: For orders that are already fulfilled. Fulfill the order in NetSuite manually, and then run NetSuite Order to NetSuite CashSale Add or NetSuite Order to NetSuite Invoice Add, depending on the payment type. Don't qualify these sales orders for fulfillment, because the order is already fulfilled.
  • Select inventory location present in NetSuite: The inventory or fulfillment location, shown on the NetSuite order at body level and line level. It's available only when you select Invoice or Cash sale.

Shipping

In Map ship methods, map Walmart ship methods to NetSuite ship methods, with a default for orders that don't match. For details, see Map ship methods between Walmart and NetSuite.

Orders

  • Walmart Fulfillment Services order IDs: Up to 10 WFS order IDs, separated by commas. Saving runs Walmart (WFS) order to NetSuite order (add) (on-demand sync) for these orders. Seller-fulfilled or invalid order IDs return an error.
  • Sync historical Walmart Fulfillment Services orders: Select to sync WFS orders older than seven days, for example to bring in bulk historical orders. When it's cleared, only orders from the last seven days are synced.
  • Select Walmart Fulfillment Services orders date: The date and time from which WFS orders are synced. It appears only when Sync historical Walmart Fulfillment Services orders is selected.

Customers

  • Allocate Walmart Fulfillment Service orders to these NetSuite customers: Internal IDs of NetSuite customers, separated by commas. WFS orders are allocated equally among these customers, so no new customer record is created for each order. When this is empty, the integration app checks each order's customer data for an existing NetSuite customer. It maps the order to the existing customer, or creates a new customer if there's no match.

How WFS orders are checked

Item matching

The integration app finds each order line's item in NetSuite by its Walmart SKU. By default, it looks in the NetSuite Item Name/Number field, but you can change the mapping to any other text field, including a custom field. If that field is empty for an item, or doesn't exactly match the SKU, including case, the order fails to import, and your team gets an error and an email alert.

Only the SKUs need to match, whatever the item type in each system. These NetSuite item types are supported:

  • Simple items: inventory, serialized, and lot items
  • Matrix items
  • Kit items

Assembly items that aren't pre-built and items of the Item Group type aren't supported.

Duplicate orders

The integration app creates the custom fields eTail Order Id, eTail Merchant Order Id, and eTail Channel in NetSuite. The WFS purchaseOrderId is mapped to eTail Order Id, and the WFS customerOrderId is mapped to eTail Merchant Order Id. Before it imports an order, the integration app searches for a NetSuite sales order with the same eTail Order Id. If it finds one, the order is a duplicate and isn't imported.

Taxes, shipping, and order total variances

Configure ship methods and tax codes separately in Walmart and NetSuite. For tax totals to match, the tax tables and rules must be identical in both systems. GST (Goods and Services Tax) isn't supported.

After each order is created, the integration app compares the grand total, tax total, shipping tax total, and shipping total calculated by NetSuite with the values sent by Walmart. If any of them differ, the difference is stored in a variance field under Walmart on the sales order. Report on these fields periodically, and adjust your general ledger with a journal entry if variances exist.