Articles in this section

Troubleshoot the Walmart - NetSuite integration app

This article lists errors and unexpected results you might see in the Walmart - NetSuite integration app, with the cause and resolution for each. Find the error message or behavior you see, and follow its resolution. After you fix the cause, retry the failed records from the integration app's Dashboard.

Customer ID already exists error

Symptom: An order fails with Failed to add/update customer for order #1xx1. A customer record with this ID already exists. You must enter a unique customer ID for each record you create.

Cause: Auto-generated numbering for customers is off in NetSuite, so the integration app uses the customer name as the NetSuite customer ID. A new customer with the same name as an existing customer can't be created.

Resolution:

  1. In NetSuite, go to the Set Up Auto-Generated Numbers page.
  2. On Entities, select Enable for Customer.
  3. Select Save.

Customer hierarchy limit reached

Symptom: The order import fails because NetSuite won't create a new subcustomer.

Cause: The integration app is set up to create customers as children of a default parent customer, and the hierarchy has reached NetSuite's limit of 10,000 customers and subcustomers, counting all levels. For details, see the NetSuite Help Center.

Resolution: Do one of the following:

  • Change the customer mapping so new customers are added to a new or different parent customer.
  • If you don't need a parent customer, remove the parent customer mapping. The default integration app setup uses only one default customer.

More than one match for an item error

Symptom: An order fails with Failed to add Walmart Order# 4577399813010. A mapping error occurred. More than one match for "["itemid","is","ABCITEM"]" for the record type "item".

Cause: To add the order line, the integration app looks up the NetSuite item whose name is the Walmart SKU. NetSuite's lookup compares both Item Name/Number and Vendor Name/Code, so two items match when one item's vendor name or code equals the other's SKU. For example, items ABCITEM and ABCITEM_OB both have the vendor code ABCItem. For details, see NetSuite answer 34640.

Resolution: Change the Vendor Name/Code of the other item so it no longer matches, for example by adding a trailing character such as . or -. Then retry the order.

U.S. tax form on international orders

Symptom: An order with an international shipping address is imported with a U.S. tax form instead of the form for the shipping country.

Cause: The integrator.io bundle in NetSuite is out of date, or the order flow is missing the mappings for international addresses.

Resolution:

  1. Make sure the integrator.io bundle (bundle ID 20038) in NetSuite is up to date.
  2. Add these mappings to the order flow:

    • Map "shipaddresslist,entity,shipcountry" to celigo_initializeValues.
    • Map "cust" to Ship To Select (Name).
  3. Import the order again. If the issue continues, contact Celigo Support.

UNABLE_TO_EXPORT_DATA error

Symptom: The on-demand order flow fails with UNABLE_TO_EXPORT_DATA.

Cause: The Walmart credentials the connection uses are no longer valid, for example because new keys were generated in Walmart Seller Center, which makes the old keys obsolete.

Resolution:

  1. In the integration app, go to Connections, and check whether your Walmart connection is offline.
  2. If it is, open the connection and authorize it again with your current Walmart credentials.
  3. Go to Settings > Order > Orders, enter the order number in On-demand order sync, and then select Save to run the flow again.
  4. Check the run on Dashboard.

Record already exists error for WFS orders

Symptom: Walmart (WFS) order to NetSuite order (add) fails with the error code dup_rcrd and the message Failed to add Walmart Order# xxx. Failed to save record because This record already exists.

Cause: Two integration app tiles link different Walmart stores to the same NetSuite account, and Walmart generated the same order ID in both stores. By default, the integration app builds each order's NetSuite external ID from a prefix and the Walmart purchaseOrderId, whether or not you map External ID, so the second order looks like a duplicate.

Resolution: Map a unique external ID in each tile:

  1. In the integration app, go to Flows > Order (WFS).
  2. Select Mapping for Walmart (WFS) order to NetSuite order (add), and then select Post Walmart Fulfillment Services orders to NetSuite.
  3. Map Storename-{{purchaseOrderId}} to External ID, where Storename is a name unique to this tile's store.
  4. Save the mapping.
  5. On Dashboard, open the error, and select Retry.

Repeat these steps in the other tile with a different store name.

Note: With the external ID mapping in place and the latest bundle, changing Sync Walmart Fulfillment Service orders as from Invoice to Sales order no longer causes this error.

Incorrect item rate on WFS orders

Symptom: A WFS order line with a quantity greater than 1 is imported with an incorrect per-unit rate.

Cause: The default Items: Rate mapping can import the line price instead of the per-unit rate.

Resolution: In the Post Walmart Fulfillment Services orders to NetSuite import of Walmart (WFS) order to NetSuite order (add), replace the source of the Items: Rate mapping with this expression, which divides the line price by the quantity:

{{#if orderLines.orderLine[*].itemPrice}}{{divide orderLines.orderLine[*].itemPrice orderLines.orderLine[*].orderLineQuantity.amount}}{{else}}0{{/if}}

Fulfillment fails for orders with a cancellation request

Symptom: NetSuite Fulfillment to Walmart Shipment Add fails with Failed to export fulfillment for Walmart Order# xxxxxx: Request content is invalid, intentToCancelOverride need to be passed as true for line number 1.

Cause: The customer requested a cancellation for the order you're fulfilling.

Resolution: To send the fulfillment anyway, add a mapping that overrides the cancellation request:

  1. In the integration app, go to Flows > Fulfillment, and select Mapping for NetSuite Fulfillment to Walmart Shipment Add.
  2. Add a mapping with the source "true" and the destination orderShipment.orderLines.orderLine[*].intentToCancelOverride.
  3. Select Save & close, and then run the flow.

Non-whitespace before first tag error in the pricing flow

Symptom: NetSuite Pricing to Walmart Pricing Add/Update shows Non-whitespace before first tag. Line: 0 Column: 1 Char: u errors when it processes many records.

Cause: The issue comes from Walmart, in the pricing flow's wrapper import. The records are processed after several retries.

Resolution: Install the AutoRetry for Walmart Non Whitespace Errors integration, which retries these errors on a schedule so you don't have to retry them manually. Its export gets the pricing flow's details, its lookup finds the non-whitespace errors, and its import retries them.

  1. Download the AutoRetry integration ZIP file to your computer.
  2. In integrator.io, go to Home home-icon.png, and select Upload > Integration.
  3. Select Choose file, select the ZIP file, and then select Install integration and Proceed.
  4. Select Configure to set up the connection:

    • Base URI: https://api.integrator.io
    • Auth type: Token
    • Token: A new API token. To generate one, go to Resources resources-icon.png, and then select API tokens. For details, see Create and manage API and Personal Access tokens.
    • Send token via: HTTP Header
    • Header scheme: Bearer
  5. Under How to test this connection, select GET, and enter /v1/connections in Relative URI.
  6. Select Test connection. When the test succeeds, select Save & close.
  7. Turn on the new AutoRetry for Walmart Non Whitespace Errors flow, and set its Schedule, or run it when you need to.

To retry these errors in other flows too, such as the inventory and fulfillment flows, change the relative URI on the AutoRetry flow's export to:

/v1/flows?externalId=walmart_netsuite_pricing_export_flow&externalId=walmart_netsuite_fulfillment_export_flow&externalId=walmart_netsuite_inventory_export_flow&externalId=walmart_netsuite_kit_inventory_export_flow

Order billed as an invoice instead of a cash sale

Symptom: A Walmart order is billed as an invoice when you expected a cash sale.

Cause: The sales order's Payment Method is empty. NetSuite creates a cash sale only when Payment Method has a value.

Resolution: In NetSuite, check Billing > Payment > Payment Method on the sales order. If it's empty, make sure Walmart order to NetSuite order Add has a mapping that sets Payment Method.

Invoice initialization error

Symptom: Initializing an invoice for an order imported by the integration app fails with invalid_initialize_ref.

Cause: The sales order isn't ready to be invoiced. It must be approved, and it must be fulfilled unless NetSuite allows invoicing before fulfillment.

Resolution:

  1. Make sure the sales order is approved. The saved searches the billing flows use skip orders in the Pending Approval status.
  2. In NetSuite, go to Setup > Accounting > Accounting Preferences > Order Management > Invoicing, and check Invoice in Advance of Fulfillment.
  3. If it's cleared, go to Settings > Billing in the integration app, and set Auto-bill orders in NetSuite when the status is to Pending Billing, not Pending Fulfillment.

Item description longer than 450 characters

Symptom: NetSuite transfer orders to Walmart inbound shipments (add) fails with ERR_EXT_DATA_0021001 and itemDesc length cannot be greater than 450 chars.

Cause: An item on the transfer order has a description longer than 450 characters.

Resolution: Shorten the item description to 450 characters or fewer, and then retry.

Can't add a Walmart account

Symptom: When you add a Walmart account, you see You can't add a Walmart account, as you're using an older version of the integration app.

Cause: Adding Walmart accounts needs integration app version 1.13.0 or later.

Resolution: Contact Celigo Support to update the integration app to the latest version.