Discussions
Join the NetSuite community to innovate, connect, and discover what’s next.
SuiteWorld brings thousands of innovators, builders, and leaders together to learn, connect, and shape what’s next. This October, explore how to build a stronger foundation for growth through inspiring keynotes, major product reveals, hands-on sessions, and unforgettable moments—all in one place for our biggest event of the year. Register now
Remove Item Group from invoice via SuiteScript
We have a custom scheduled script that automatically creates invoices from sales orders. Sometimes we need to invoice a sales order in separate pieces because some items are not fulfilled immediately.
The script starts out with
var invoice = nlapiTransformRecord('salesorder', id, 'invoice');
We then remove any unfulfilled (or previously-invoiced) line items, in descending order of line numbers, using
invoice.removeLineItem('item', item.line);
and finally
if (invoice.getLineItemCount('item') != 0)
nlapiSubmitRecord(invoice);
We recently started using item groups and we want to wait for the entire item group to be fulfilled so that it can be invoiced at once. This means that the script needs to be able to remove the line items corresponding to the item group.