Skip to main content
Skip table of contents

WooCommerce Common Errors

Description

CAUSE

Solution

UNEXPECTED_ERROR - Details: ReferenceError: "setFormValue" is not defined. (NLRecordScripting.scriptInit$sys#2220(eval)#23)

The error was caused by an address field mapping (billattention) that started in NetSuite 2023.2.

Marcel made a modification to the script so that this field is only used for the address subrecord, which has resolved the error. If you run into this error in any NetSuite account, please update the WooCommerce NetSuite bundle.

Error: You must enter at least 1 line item for this transaction

Possible the Item is assembly item and has the Field “Special WorkOrder Item” (isspecialworkorderitem) and there is no QTY available to create the Workorder

Look to make sure you have QTY available for the Workorder to be created and not error, when the accounting Preference is LIMITED TO COMMITTED

Level 1 :: CODE : INVALID_REQUEST, MESSAGE : The request could not be understood by the server due to malformed syntax.

This starts Happen due to the NetSuite Token Based Authentication (TBA) requirement to have HMAC-SHA256 requests from WC to NS.

Following will tell you to upgrade to 3.2.16 with main fix, or PATCH file on the WC In8Sync Plugin

INTERNAL:

HMAC-SHA256 NetSuite Patch/Upgrade 2021.1(2021.2)

PUBLIC:

https://drive.google.com/drive/folders/1-GXWBFnM7FFn1MFExRWNK6YoT-JaSDFW?usp=sharing

Category Sync Error: errors: #2: empty term

There is a Conflicting Term in DB for the Category to work

Find the Category with the internal id in NetSuite for the # given in the error, in this case ID=2

Then Edit and update the Name and URL Component to have -1 and save

Then Edit again and remove the -1 from Name and URL Component then do a Save As to create it again.

Then Delete the Old Category that has the -1.

Sync again that that should work.

Level 2 :: UNKNOWN JSON RESPONSE :: { \"type\": \"https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html\", \"title\": \"Account-specific domain is not used\", \"detail\": \"In this account, you must use account-specific domains with REST web services endpoints. Go to Setup > Company > Company Information in the NetSuite UI. Your domains are listed on the Company URLs tab.\", \"status\": 410, \"o:errorCode\": \"USER_ERROR\" }

The WooCommerce Setting for the RESTlet URL is still using the old "rest.na1" type URL that would proxy into NetSuite accounts. This is been removed and no longer supported by NetSuite.

Go to the Client NetSuite Account under the Setup Tab > In8sync > Sync Script > View the customdeploy_in8_sync_rl_deploy > Under the External URL copy the URL up to including the resetlet.nl. Do not include the question mark after or the remaining URL after the restlet.nl

Then Replace the RESTlet URL in the WC Settings

Example should look like below, of course the NetSuite ID would be specific to the Client NetSuite account in the URL

https://3469318.restlets.api.netsuite.com/app/site/hosting/restlet.nl

Does not Sync Order

Can be due to the # of addresses on the Customer Record

If you check the Customer record and there sis over 200 address it could be Timing out a Response from the Customer Sync to allow the Order syncing to Proceed

In this case 1st put a NetSuite Fixed Mapping

Customer Mapping to stop returning Addresses
donotreturnaddress=T

If the above does not resolve you can add the following to not match Customer and Order Addresses (NOTE: will cause Custom Address on Orders always)
Sales Order Mapping to Stop trying to Match addresses on Order (causes Custom)
donotfindaddress=T

Invalid Login Attempt Error

Connection from WC to NetSuite Failing

  • Confirm the NetSuite account number

  • Confirm the RESTlet URL.  It's common that NetSuite changes, ie. rest.na1, rest.na2, etc.

  • Confirm token id/secret

  • Find the Access token in NetSuite to see what's the user being used. Check if the user in NetSuite is active and has the "In8Sync REST Role" (Access tab).

  • Check if the access token is active

  • Check if the Server time is correct. If the time is incorrect, it generates an invalid signature and cannot connect.

TRANS_UNBALNCD - Details: Transaction was not in balance

This error usually occurs when syncing order from the website to NetSuite, when the website applies tax but NetSuite is not adding taxes.

This can be Taxes Set on the following in NetSuite

  • Items being Taxable

  • Customers Being Taxable

    • Tax Item under customer set to "Not Taxable"

  • Tax Schedule not allowing Tax for the Shipping Address

  • No Tax Group for the Shipping address

-=-=-=-=-=-=

Easiest to check first 

1- Checking Internalid in Netsuite is taxable, also if taxable, check the Taxable ID to make sure the State lines up and is listed as to the Woocommerce order details

2- Checking if the customer is taxable (Taxable field) and the "Tax Item" field needs to be blank or different than "-Not Taxable-".

3- Check if NetSuite charges tax for the Shipping State and Zip (Go to Setup > Accounting > Tax Groups (or search for Tax Group)). Check the website and confirm that the taxes rates match (WooCommerce Settings > Taxes).

4- Check Tax Schedule as well for is the Shipping address is Taxable

-=-=-=-=-=-=-=

  • In order to sync, remove the mapping "taxamountoverride" from the code (if it has), so the order will sync to NetSuite without adding the tax,

  • Add Mapping on on the under In8sync > Sales Order. taxamountoverride = 0.00  (need to enter the decimal point to work)

  • Then Sync the order

  • Then manually add taxes in NetSuite by entering the Tax Group Name to the Items and the shipping Tax group

If the Taxes are not added when adding the Tax Group Name to the Items and Shipping on the Sales Order

  • While in Edit mode on the Sales Order, open dev Tools on the Browser(F12), and enter under Console the following command

nlapiSetFieldValue('taxamountoverride', <taxamount i.e 7.25>)

Where the "<taxamount i.e 7.25>" is the amount of tax needed

PSWD_REQD - Details: You must provide a password to give this person access to your account.

When saving a customer that already exists in NetSuite and has the option "Give access" = Yes, NetSuite requires that a password be set.

In order to prevent this error, it's possible to add "email" field to exclude the email of fields that get updated on the Setup > In8Sync > RESTlet Parameters > In8Sync RESTlet Parameters, so NetSuite won't throw that error. Needs fixed in Bundle but we can ignore as is not causing issues.

INVALID_KEY_OR_REF - Details: Invalid couponcode reference key <#> for entity <#>.

NetSuite Coupon Code not found that is being used on WC and on the order being synced.

  • Create a Saved Search in NetSuite and check if the Coupon Code with the ID exists.

  • Go to the Promotion and check if the coupon code is available to all customers.

  • Check if the promotion period is still valid.

  • If a Partner is selected, make sure the partner on the Customer record is selected.

  • If the NetSuite account is multi subsidiary, check if the Discount Item is available to the Order subsidiary.

INVALID_KEY_OR_REF - Details: Invalid shipmethod reference key <#> for entity <#>

Most likely the Shipping Item has not Account configured on it for GL account

Edit the Shipping Item and make sure the Account is Set under the Shipping Rate SubTab

INVALID_KEY_OR_REF - Details: Invalid item reference key <#>.

This occurs when the product internal id does not exist in NetSuite (deleted) or if the product is inactive.

Check if the product in the website has the correct internal id.

Check if the product is set to Inactive in NS (Go to Item in NS > Under the System Information Sub tab), set to active if needed

INVALID_KEY_OR_REF - Details: Invalid entity reference key <#>.

This occurs when trying to sync an order with an entity internal id that does not exist in NetSuite or it's inactive.

In order to resolve, change the customer to active in NetSuite.

This can also occur If the customer is deleted/merged, in that case in NetSuite > Under the User > Send to WooCommerce, then remove the "customerinternalid" custom field from the Order and User in the website.

INVALID_KEY_OR_REF - Details: Invalid sourcewebsite reference key 

Possible someone else is testing

Check to see if someone was testing something and caused this error

INVALID_KEY_OR_REF - Details: Invalid subsidiary reference key 55

Setup for testing to stop from syncing into Netsuite systems.upstatecoins.com

That prevents orders and customers from syncing into NetSuite. They are not live yet, and do not want the orders and customer syncing. But those plugins must be on because they are syncing products from NetSuite to the website.

We can ignore that

 INVALID_KEY_OR_REF - Details: Invalid parent reference key

When the Customer is the Doctor and tries to associate with itself

In process

INVALID_KEY_OR_REF - Details: Invalid billaddresslist reference key <#> for entity <#>.

INVALID_KEY_OR_REF - Details: Invalid creditcardprocessor reference key 2 for paymentmethod <NULL>.

There is no Credit Card saved under the Users record on NetSuite

ONLY if the WC order already has the authorization and paid already with Transaction ID for payment, can you then in NetSuite under the user Financial add a invalid credit card 4111 1111 1111 1111 valid expiration and mark as VISA and default. Than sync the order again.

INVALID_KEY_OR_REF - Details: Invalid authcode reference key <#> for currency <#>.

Gift Certificate being used that has no Balance left

Contact Client to see about the Gift Card being Taken off or the client adding the amount to the Gist Card for the customer order to go through.

INVALID_KEY_OR_REF - Details: Invalid custcol_so_ws_customer reference key <#> for entity <#>

The Customer being Sync with Sales Order have Contacts under the NetSuite Customer records that have different Internal ids that the Website has listed for the customer in the Database

We will need to change the Website Database to update all the existing Sub Contacts Internal ids from NetSuite.

  1. Go to the Customer Record on NetSuite

  2. Go to all Contacts that are not the contact on the customer record itself, get their internalid

  3. Go to the Website Database (we can generally use ARI Adminer)

  4. Once in Database take the WC order Internal ID from URL and Search DB

    1. Click on woocommerce_order_items

      1. search for the with order_id #

      2. Copy the order_item_id #

    2. click to woocmmerce_order_itemmeta

      1. search for the order_item_id #

      2. search for  the item_contact field

        1. click edit on item_contact

        2. update the meta_filed Value to the correct Contact NetSuite internal ids (separated by comma, without space...)

          1. i.e. 15009912,15009913

        3. click save

  5. Sync the Order again and it should not give that error anymore.

CODE : E004_2, MESSAGE : An error occurred updating the record. Details: Error: It was not possible to apply the gift certificate. Check if the coupon id being sent to NetSuite is correct. Error: \nCode: INVALID_KEY_OR_REF\nDetails: Invalid authcode reference key 9 for currency 1.

The Original order that purchased a Gift Certificate has not been billed so the order that is using it on WooCommerce cannot sync to NetSuite.

Bill the NetSuite order that the Gift Certificate was purchased on and the Next orders that use that Certificate will be able to Sync.

 INVALID_KEY_OR_REF - Details: Invalid custrecord_in8_wc_ids_setting reference key 0.

The Sync to NetSuite Reporting the following on Customer Sync

Settings were not found.

Code: INVALID_KEY_OR_REF - Details: Invalid custrecord_in8_wc_ids_setting reference key 0.

PLease Make sure that the Site Settings in In8sync > Settings URL is what is on the source website being sent

RCRD_HAS_BEEN_CHANGED - Details: Record has been changed

This occurs when the record is being saved and another process tries to save the same record. Usually this error occurs when the cron job on the website is triggered twice (it happens sometimes)

This error usually can be ignored.

RCRD_DSNT_EXIST – Details: That record does not exist.

Customer Internal ID On WooCommerce does not exit on NetSuite.

Can be ignored if Order is synced to NetSuite

If no Synced, check the user Email to find account on NS and check the Internal ID against the one in WooCommerce. If different, delete the Internal ID row from the DB from the user in WC to have the sync go find it fresh in NS.

On 3.0 and later in8sync plugins, this can be deleted on the Users record on WC as there is a field with that on Newer Plugins

You must also delete the custom field on the Sales Order for their "customerInternalid"

Then Sync Sales Order Again

UNIQUE_CUST_ID_REQD - Details: A customer record with this ID already exists. You must enter a unique customer ID for each record you create

This occurs when the sync tries to create a new customer with an entity id that already exists, under a different email address.

The latest version of the NetSuite bundle already fixes that.

Another way to fix is to change the existing customer entity id to a different one.

USER_ERROR - Details: Please choose a shipping method to account for the shipping cost.

It occurs when the shipping method is not mapped in the website (In8Sync tab / Sales Order mappings).

Check the shipping method being used on the order and make sure it's mapped. 

Check under the WooCommerce > Plugins > that Adminer is running

Go to Adminer > Run in New window > Find wp_woocommerce_order_items > Search Order_id

-Find the Shipping ID

Go to Adminer > Run in New window > Find wp_woocommerce_order_itemsmeta > search for shipping order_id

USER_ERROR - Details: Please choose a child matrix item.

It occurs when trying to sync an order to NetSuite and the internal id is from the matrix parent item.

Make sure that the variation in the website has the NetSuite internal id and this is a matrix sub-item.

USER_ERROR - Details: You must enter at least one line item for this transaction.

No internalid on product in wooCommerce

CAUSE#2: There is already a Sales Order with the WC order # and the sync is not updating the line items on that already existing order:

Normally would find product in NetSuite and update the internalid for product in WooCommerce

Special use case with Jack Mason with gift cards, being no product in NetSuite

Cause # Solution:

List the Sales Order number and its internalid on the WC order Data "Custom Field:

USER_ERROR - Details: Please enter a valid expiration date

If the order is Synced to NetSuite we should be okay. More than likely they did not have expiration correct on initial submission.

Unless they are Showing Billing expiration on fields and they are different on NetSuite?

USER_ERROR - Details: You may only change the name from the CustJob version of this record ! No log file found associated with this record

USER_ERROR - Details: Could not calculate cost for the selected Realtime rate. The requested service is unavailable between the selected locations.

Usually the Shipping Zip Code is not correct for address or the Shipping address is not filled in.

Correct the Zip or copy in from Billing address if was left blank:

USER_ERROR - You must specify asset and COGS account for this inventory Item

WooCommerce trying to create a new Item in NetSuite

If the Item is already created and exists, search for SKU, in NetSuite and the website Item does not have "internalid" create new customer field with that "internalid" and sync Item then WC order again.

USER_ERROR - Details: Please enter value(s) for: Address

Generally this is caused by Amazon Pay or other payment type not yet having address entered into the order when WooCommerce Tries to Sync with NetSuite.

Check the order in WooCommerce and make sure it has synced.

DUP_RCRD - Details: This record already exists ! No log file found associated with this record

Special Mappings for externalid found in Woocommerce to NetSuite does not allow duplicates. Order probably tried to sync second time with NetSuite but already existed externalid

Make sure orders are sync and see if you can find the order in Netsuite to make sure it all looks good. Confirming in WooCommerce that all orders have Netsuite ID should mean we are ok.

ERROR :: Customer can't be created in NetSuite so forcing to select another payment gateway

WITH

INVALID_FLD_VALUE - Invalid credit card number.

Nothing we can do about these, Ignore please

RCRD_HAS_BEEN_CHANGED - Details: Record has been changed

This is just notification update error. Please ignore

Wrong Customer Internal ID

In the past we had an issue that was caused by wordpress cronjobs, when 2 orders were being synced at the same time it would sometimes mess up the customer ids and the wrong customer would get assigned to the wrong order.

To fix that we've added a piece of code and that will double check if the correct user is assigned to the order just before sending the order to NS and this notification along with it so we know the error is still sometimes taking place.

Latest In8sync Plugin should have newer fix to not get this error message anymore

Level 1 :: API RESPONSE NULL

OR

API REQUEST CURL ERROR : Failed to connect to rest.eu2.netsuite.comport 443: Connection timed out

This error occurs when NetSuite is not accessible for some reason. Usually this happens at night when NetSuite is doing some maintenance

We can ignore this

UNEXPECTED_ERROR - Details: An unexpected SuiteScript error has occurred

Error happening when creating order in NetSuite there is conflict between order creation and their workflow

Manual Sync and make sure it syncs

UNEXPECTED_ERROR - Details: null

When Credit Card order and we send the ccapproved=T but there is not transaction ID sent in pnrefnum

Get pnrefnum sent, if there is no transaction id we cannot send order since no valid payment id transaction identifier seen.

Level 2 :: Unexpected Response 

It appears that when it happens, the user submits the record again and it works

At this time we can ignore this as it does work after re-submit by customer

SSS_REQUEST_LIMIT_EXCEEDED, MESSAGE : Request Limit Exceeded!

NetSuite Sync queue is full at this time. Can only sync so many SO at a time

We an ignore this

EXCEEDED_MAX_FIELD_LENGTH - Details: The field message contained more than the maximum number ( 999 ) of characters allowed.

Customer Note on order exceeds 999 Characters and cannot be synced to NetSuite

Delete the Characters to below 999. Preferably have the customer limit the customer comments on the site to below 999 characters to never cause the error. 

Error Code: woocommerce_api_product_sku_already_exists

When sync products from NetSuite to WooCommerce and products are already on WooCommerce

Ignore

An error occurred updating the record. Details: TypeError: Cannot call method "join" of null

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.