Invoices and Credit Memos Now Support Third-Party Entity Assignment
NetSuite adds a Third Party Record sublist on invoices and credit memos, backed by a new checkbox on entity records and a new Third Party Role record type. Scripts and integrations touching these transactions may need to account for the new subtab and fields.
What changed
NetSuite now supports attaching multiple third-party entities (e.g., payees, tax representatives) to Invoice and Credit Memo transactions. The implementation spans three areas:
1. Entity record — new checkbox
A new boolean field, Available as Third-Party on Transactions, has been added to entity records (vendor, customer, etc.). Only entities with this box checked appear in the third-party entity picker on transactions. The internal ID of this field is not documented in the source — verify via Records Browser or nlapiGetField/record.getField.
2. Invoice / Credit Memo — new sublist
A new Invoice Configuration subtab contains a Third Party Record child subtab. This subtab exposes a sublist with at least two columns:
- Third-Party Entity — select-type column referencing entities where the new checkbox is checked.
- Third-Party Role — select-type column referencing the new Third Party Role record.
Multiple third-party rows can be added per transaction.
3. Third Party Role — new record type
A new Third Party Role record can be created inline from the transaction or (presumably) via the customization/setup area. It has at minimum a Name field with multi-language support. The internal record type ID is not stated — check the Records Browser or attempt record.create({ type: 'thirdpartyrole' }) to confirm the type constant.
What Oracle didn't tell you
This source is a how-to help article, not a formal release note. Key details are missing:
- Release version — not stated. Check the "New Features" list for your target release to confirm when this went GA.
- Internal field/sublist IDs — none provided. You will need to inspect the transaction form in the UI (via browser dev tools or the Records Browser at
Setup > Records Catalog) to find the sublist ID and column IDs for scripting. - SuiteScript support level — unclear whether the sublist is fully scriptable (add/remove/get line) or UI-only. Test with
N/recordin a sandbox. - REST/SOAP coverage — no mention of whether the Third Party Record sublist is exposed via
/services/rest/record/v1/invoiceor the SOAPTransactionBodyfields. Verify by GETting an invoice with theexpand=sublistsquery parameter or checking the WSDL. - Permissions — no role/permission requirements are mentioned. If the subtab does not appear, check the transaction form customization and role permissions.
What to do
- Identify the release. Search your NetSuite account's release notes or the SuiteAnswers article ID
0324073602to confirm which release introduced this feature and whether it requires enablement. - Inspect internal IDs. Open an Invoice in your sandbox, add a third-party row, save, then use
record.loadandrecord.getSublists()to discover the sublist ID. Log column field IDs withrecord.getSublistFields. - Audit existing scripts. Any SuiteScript or workflow on Invoices/Credit Memos that iterates sublists or validates before save should be reviewed — the new sublist may trigger unexpected behavior in
beforeSubmit/afterSubmituser-event scripts if they assume a fixed set of sublists. - Test integrations. If you push or pull invoices/credit memos via REST, SOAP, or CSV import, confirm whether third-party data round-trips correctly. If you rely on saved searches for invoice reporting, check whether the new fields are available as search columns/filters.
- Set the entity checkbox. For any entity that should be selectable as a third party, enable Available as Third-Party on Transactions. Consider scripting this in bulk via a mass-update or CSV import if you have many entities.
Source: Oracle NetSuite Release Notes