Discussions
Join us for complimentary one-day events around the world and step into a future fueled by AI and limitless potential. Explore new breakthroughs, sharpen your skills, and connect with experts who are shaping what’s next. Experience bold keynotes, interactive learning, and connections that span the global NetSuite community. Discover what's next at SuiteConnect Tour 2026.
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.