What we should do when the order is not synced to NetSuite

It’d be frustrating when encountering the issue where an order fails to be sent to NetSuite. But no need to be too anxious about this - for many cases you can get over the hurdle as long as we figure out what the cause is. We can diagnose it by simply following the next steps:

If an Order Sync Failure exception is fired by the NetSuite integration

The following ones are the most typical use cases or exceptions when the order fails to be synced to NetSuite. I’ll list them below and show you how to resolve them. Once the order is sent to NetSuite the exceptions will be gone.

1. SKUs cannot be found in NetSuite

This exception means SKUs of the order do not exist in NetSuite, thereby the order can’t propagate to NetSuite. To resolve this error you have to make sure the line items of the order can be found in NetSuite. You can manually create these items in NetSuite if NetSuite is the products catalog master, or you should pull products from NetSuite and sync them to the selling channel where the order comes from. Then you need to go to Order Activity component then click “here“ button which will take you to the events table where you can find the failed order outbound event, select that event then rerun it, that would re-send the order to NetSuite.

2. Concurrent request limit exceeded

This exception is usually fired when we hit both criteria below:

  • The customer has multiple Pipe17 orgs sending orders to NetSuite simultaneously

  • The max concurrency limit set up in NetSuite is relatively small, for example if the number of Pipe17 orgs is bigger than the number of max concurrency limit then it’s likely this exception would arise from time to time

To get over this exception alone, basically we can just manually rerun the failed event for that order in Pipe17 following the path: Order Detail UI > Order Activity component > Click “here“ to see system events of that order > pick the failed event > rerun the event. However to avoid it from happening again, it’d be better to increase the max concurrency limit in NetSuite, or reduce the number of Pipe17 orgs to send orders less concurrently.

3. You do not have permissions to edit this transaction.

When you see this error, it means the transaction in NetSuite cannot be updated basically due to one of the following two reasons:

  1. The Pipe17 integration created in NetSuite lacks permissions to edit/update this type of transactions

  2. The transaction is in a closed or invalid period/status which doesn’t allow edits

From our experience we fall into the second bucket most of the time, and the first one is minority. To check on the integration permissions, please review the chapter of Steps to Hook NetSuite up in this document https://pipe17.atlassian.net/wiki/spaces/CUSTOMER/pages/1061421121

But if the transaction is in a closed or invalid period/status that doesn’t allow edits, we have to check if there is certain setup in NetSuite that constantly closes out transactions. You probably need to reach out to NetSuite support team for more instructions.

4. Invalid salesorder reference key XXXX for customer YYYY

If you see an error showing up with the pattern "Invalid salesorder reference key XXXX for customer YYYY" it usually means we are running into an issue for creating Customer Deposit, most of the time it has something to do with the customer setups in NetSuite which blocked the entry of creating Customer Deposit, thus it cannot be created neither through UI nor through API. If you log in NetSuite and check on the order detail UI you should see the Create Deposit entry is missing/removed.

If there is no exception fired by the NetSuite integration on the order

Please go and check the latest create and update events for this order. if you see “result:None” in the events, that usually means the order is skipped/filtered out when sending the order or the order updates to NetSuite. In many cases, it’s just filtered out by certain integration settings.

To address it, please go to NetSuite ERP integration and review the settings for example the order source filter, order status filter and so forth.