When you become a NetSuite power user, you quickly learn that practically every NetSuite record has an Internal ID. The Internal ID is a unique integer number that is typically called the Table’s Primary Key. That integer never changes for the life of the record. It is often only visible in the URL as you work with the system.
Exposing the NetSuite Internal ID
In order to expose the NetSuite Internal ID, two switches must be activated:
- Enable at least one SuiteScript Service: as Administrator, go to Setup –> Company –> Enable Features. See image.
- Activate show internal ID: This is a user preference. Enable it by going to Home –> Set Preferences –> General Tab –> Set Defaults –> Show Internal IDs. One common confusion point is not performing the previous step. If your account has never had SuiteScript activated, you won’t be able to see this feature. See image.
View Field Names and Internal IDs
Once the switches are activated, you now can see internal NetSuite information:
- View field IDs: click on the label of any form field to reveal the underlying field ID name for that element. See image.
- Lists will now reveal Internal IDs: as you run searches and lists, the internal ID will automatically be exposed for you. See image.
Use Internal IDs for Export and Imports
One important use of Internal IDs is to use them for subsequent imports to act as an update. This way, NetSuite knows exactly which records you are referring to when you are attempting to bulk update the system. The trick is to export data first from a saved search. Be sure to include the Internal ID and keep the header field name information. Then, after you update your exported data, import it back through the CSV import utility. NetSuite will see the Internal ID and suggest you use that as a key to update the main system.
See Related Articles
- Update Unsupported NetSuite Records with CSV
- How To: Build and Upload a NetSuite Chart of Accounts
- How To: Quickly Update a NetSuite Read Only Field
- Interrogating NetSuite’s Advanced PDF / HTML Templates
- NetSuite Transaction Type Internal ID Numbers
- NetSuite SearchFilter Internal Transaction Type Codes
- How To: Leverage NetSuite’s Advanced PDF / HTML Generation Tools
- NetSuite SearchFilter Internal Account Type Codes
- NetSuite SearchFilter Transaction Internal Status List
I find that using internal IDs is much more reliable. I tend to think in these database terms all the time and I am generally nervous when we don’t have internal IDs in CSV imports (that’s just me). I suspect you are doing this but are you careful to change the options to make sure the name is being used for reference in the upload?
Thanks Marty for the reply. The team is currently using Name so the upload has ‘Name’ reference selected. We discussed about using internal ID and accounting pushed back on the idea as there is more room for error without seeing the actual name of the customer/vendor being used. For the short term we decided to rename some of the vendor names that are similar to customer names with a ‘(vendor)’ prefix at the end.
How can I show the internal ID of the component line in the BOM revisions when using advanced BOMs? I’m not talking about the internal ID of the component item. I’m talking about the internal ID of the component line itself. I need to show the internal ID on the form so I can do one line component substitutions/replacements easily by mapping to that particular component line.
Hi Nora,
It doesn’t appear you can do this out of the box. But our Query Renderer Tool can get this going for you. See this article:
https://blog.prolecto.com/2022/08/13/get-license-free-tools-to-link-netsuite-saved-search-sql-to-extend-data-reach/
We effectively can create another tab that will render the BOM revision with any data you need.
Marty