Troubleshooting: Update A Transaction but Met the Overdue Issue

By Steven Chao
Calendar scheduling printout with dates and days, related to time management and planning.

Sometimes, errors in NetSuite are not very clear and may mislead you in the wrong direction. Today we are going to discuss this error message: Error Code: USER_ERROR Error Message: Customer is XXX days overdue.

In this post...

Back to Blog

Recently, I encountered this error when I tried to update a transaction record. If I update the body fields, the error won’t block me. But if I update the item fields, the error shows up and PREVENTS me from saving the record.

As the error message indicates, it means the customer is overdue and may be on hold status.

To check this, go to the customer record and verify whether the customer has a credit hold. If you are doing data migration between environments, you can temporarily disable the credit hold and turn it back on after you finish the update.

You can also use a saved search to check the credit hold status of customers.

If you decide to turn off the credit hold for a specific customer, you can do so with the following steps: 1. Go to the customer record. 2. Check the Financial subtab. 3. Update the field Hold (fieldId: creditholdoverride) to OFF. Possible values are: ON, OFF, AUTO. If it is already OFF and you are still blocked, then this may not be the cause of the error. 4. Save the record.

I know some people may use SuiteScript to update the record, but if your record encounters the above “overdue” issue, you must ensure your instance is reloaded after you update the customer record. For example:

let tranRec = record.load({type: record.Type.SALES_ORDER, id: salesOrderId});
const customerRec = record.load({type: record.Type.CUSTOMER, id: tranRec.getValue({fieldId: ‘entity’})});
customerRec.setValue({fieldId: ‘creditholdoverride’, value: ‘OFF’});
customerRec.save();

// You should reload the transaction record again after updating the customer record!

tranRec = record.load({type: record.Type.SALES_ORDER, id: salesOrderId});
.
.
.

If you do not reload the tranRec and instead use the old instance, the error will still block you even though the customer record field was updated.

Another good practice is to update all the customer records first, and then update the transaction records. This way, you don’t need to change the customer record every time you update a transaction record. After you finish all updates, you can revert the credit hold settings to their original state.

Hope this helps when you encounter the same issue.

We Are Experts at Generating ROI for our Clients Through Custom Integration of ERP Software