NetSuite Script Error: 'You must enter at least one line item for this transaction'

NetSuite Script Error: 'You must enter at least one line item for this transaction'


In the context of SuitePOS, this (somewhat misleading) error can can experienced when a return (or sale) is made and the script SPOS Return (or SPOS Sale) is executed. This occurs because the "Customer (or Anonymous Customer)" for which the refund/sale is being created against has open payments (payments that have not been applied) or open invoices that have reached the 10,000 limit NetSuite imposes on the "Apply" tab of the Customer Refund/Payment forms.  

If the 10,000 limit is reached for a "Customer", then the most recent Credit Memo (or Invoice) is not displayed and therefore cannot be applied and saved. 

This error can also be experienced directly in the NetSuite UI. For example:

It is important to understand that in order for this to happen there must be either a lot of unapplied payments (or open invoices) for a particular "Customer (typically the Anonymous Customer)" and the root cause needs to be immediately determined and fixed to prevent this from occurring again. Once this occurs, the record will be written to the local Failed Queue.

If this happens, then: 
  • Resolved the unapplied payments and/or open invoices for that "Customer" in NetSuite.
  • a new 'Anonymous Customer" must be set up and referenced from the POS Settings record (this quickly fixes things moving forward).
  • a Sync must be performed at the terminal.  Note: the Failed Queue may need to be emailed and cleared because recovery may not be feasibly possible and fixes must be made manually by a qualified System Administrator.