NetSuite Record Types : What They Are and How to Access Them

Everything in NetSuite is held on a record. In database terms the record is the table storing the information. To complicate things further, a record is often made up of data from multiple other records.

Each record falls under a record type. There are many NetSuite record types including countless ones you will never come across. There are also custom records that become their own type so the list is really endless.

NetSuite also likes to keep you on your toes by grouping records in different ways depending on where you are in the system. In this article I will explain the importance of understanding NetSuite record types, how they are grouped in different parts of the system and how to access them for various functions and developments.

NetSuite Record Types and the Data Cube

NetSuite Record Types

NetSuite Record Types are the different categories of record that hold data in your system. They are largely assembled in the following way –

  • Entities: Entity records are the profiles of business units. These businesses could be internal (Subsidiaries) or external (Customers, Vendors and Partners). With the exception of Subsidiary records, entity records are often the source platform for vast amounts of associated data such as transactions, tasks and activities.
  • Transactions: For most organizations the transaction records will make up the majority of data in the system. Transaction records include anything with a GL Impact. That includes non posting records such as Sales Orders, Estimates and Purchase Orders.
  • Items: Item records facilitate sales and purchasing. They store all the data necessary to populate an invoice, provide inventory levels and trigger re-ordering. They can hold standard pricing, preferred vendors and more.
  • Employees: These records facilitate access to the system. Employee records can be used for human resource management but also govern access to NetSuite.
  • Activities: There are various types of activity record, but all are used for event and task management.
  • Custom Records: This group is large and varies across different organizations. This will include any custom record types created internally, but also those deployed in your system as part of managed bundles and add-ons.
  • Searches and Reports: Often referred to as Analytics, these records are tools for visualizing data from elsewhere in the system but also hold an amount of primary data themselves.

The above list, of course, does not cover every possible record type. It begins to build, however, an image of how NetSuite record types are structured in your system and introduces some of the terminology used when talking about this subject.

In the following sections we will analyze how record types are referred to and used in various analytical, functional and development scenarios in NetSuite

NetSuite Record Types for Saved Searches

When creating a new search in NetSuite you will navigate to Reports > New Search. You will then be directed to a list of all the available search types. This list is fairly extensive and for the most part it is ungrouped.

What that means is that most individual record types can be selected as the primary data source for a new search. Here are the important exceptions –

Transaction: There is a Transaction search type which allows access to data on all transaction records. Most individual transaction types do not have their own search so it is the only way to access this data. The Opportunity record is a notable deviation from this rule. It can be accessed via a specific Opportunity search or through the transaction search. Be aware though that the data that can be accessed in each of these is slightly different.

Entity: There is an Entity search type that covers data associated with customers, vendors, employees, contacts and many more entity type records. Most of these can also be accessed via their own individual search types. The granularity of available data may, however, be different, as well as the available joins.

Joined Records in NetSuite Saved Searches

After selecting the search type, you are required to add the criteria and results fields to configure your search. On the criteria tab you can click the Field column to open the drop down of available fields. If you scroll to the bottom of this list you will see the available join records

Join records are values from your source record entry that lead to a further data table.

For example, on an invoice record there is a value for the customer name. I could use the customer record as a join in an invoice search to pull further detail about the customer. This would make available customer information that is not present on the actual invoice record.

An example of using record joins on a saved search in NetSuite

Remember that you can only join one degree out from your source record. For this reason you sometimes need to reconsider what you are using as your source to allow you to view all the information necessary for your dataset.

NetSuite Record Types for CSV Import

When using the CSV Import feature in NetSuite, the record types are grouped in to import types. On the first page of the Import assistant you will see the following two fields.

NetSuite Record Types and Import Types as used in the CSV Import assistant.

The import types group similar records to make for an easier selection process. The available import types will vary slightly depending on your set up but the below table shows the grouping for all basic NetSuite record types.

Import TypeRecord Type
AccountingBudget Exchange Rates Import
Chart of Accounts Import
Consolidated Exchange Rates Import
Currency Exchange Rates Import
Expense Categories Import
Fair Value Price CSV Import
Global Account Mapping Import
Item Account Mapping Import
Item Collection Import
Item Collection Item Map Import
ActivitiesEvents Import
Phone Calls Import
Resource Allocations Import
Tasks Import
ClassificationClass Import
Custom Segment Value Import
Department Import
Location Import
Merchandise Hierarchy Node Import
CommunicationsMessages Import
Notes Import
Custom RecordsThis will vary depending on your chosen add-ons, bundles and custom developments
CustomizationCustom List Import
EmployeesBonus Import
Employees Import
Expense Report Import
Imported Employee Expense Import
Job Import
Time-Off Change CSV Import
Track Time Import
Payment Instruments
RelationshipsBilling Account Import
Contacts Only Import
Customer-Subsidiary Relationship Import
Customers Only Import
Customers and Contacts Together Import (See Importing Entities and Contacts Together)
Group Import
Projects (Jobs) Import
Leads Only Import
Leads and Contacts Together Import (See Importing Entities and Contacts Together)
Partners Import
Prospects Only Import
Prospects and Contacts Together Import (See Importing Entities and Contacts Together)
Sales Channel Import
Vendor-Subsidiary Relationship Import
Vendors Import​
Rules SetupForeign Currency Variance Posting Rule Import
Subscription BillingPrice Book Import
Price Plan Import
Subscription Import
Subscription Change Order Import
Subscription Line Import
Subscription Plan Import
Usage Import
Supply ChainBill of Materials Import
Bill of Materials Revision Import
Bin Import
Item Location Configuration Import
Item Process Family Import
Item Process Group Import
Item Revision Import
Manufacturing Cost Template Import
Manufacturing Routing Import
Order Type Import
Pick Strategy Import
Zone Import
SupportIssues Import
Solutions Import
Support Cases Import
Topics Import​
​TransactionsAdvanced Intercompany Journal Entry Import
Cash Sale Import
Check Import
Credit Card Charge Import
Credit Card Refund Import
Credit Memo Import
Custom Transactions Import
Customer Payment Import
Estimate Import
Fixed Assets Import
Inventory Details on an Inbound Shipment
Inventory Adjustment Import
Inventory Cost Revaluation Import
Inventory Transfer Import
Invoice Import
Item Demand Plan Import
Item Supply Plan Import
Journal Entry Import and Intercompany Journal Entry Import
Opportunity Import
Order Reservation Import
Paycheck Import
Period End Journal Entry Import
Purchase Order Import
Return Authorization Import
Sales Order Import
Statistical Journal Entry Import
Transfer Order Import
Vendor Bill Import
Vendor Credit Import
Vendor Payment Import
Vendor Prepayment Import
Vendor Return Authorization Import​
​Website​Site Category Import
CMS Page Import
Commerce Category Import

NetSuite Record Types for SuiteScript

When writing SuiteScript, the naming of records may vary from any of the lists mentioned above. You are also going to need the record ID which until now we have not discussed.

Every object in NetSuite has an id and that includes standard record types. Outside of scripting the only time you might need to use the record id is in formula fields of a saved search.

There are a number of resources available on the public Oracle Help Center site. Your primary source of information though will be the Records Browser.

The NetSuite Records Browser.

In the Records Browser you can search for the record type you need using the alphabetic categories at the top of the screen. Click the desired record from the left hand panel and then view the Internal ID as displayed in the center panel.

For more information about using record types in SuiteScript, start with this article on the Oracle Help Center.

NetSuite Custom Records

Sometimes there is a unique business case that doesn’t fit the format or features of any of the standard NetSuite record types. In these scenarios, businesses can develop a bespoke object known as a custom record.

A custom record can hold data in entirely custom fields on a form designed for a specific need with it’s own unique tabs and sublists.

Custom records become their own unique record type. They are listed individually on the saved search types list and appear under Custom Records on the import assistant.

When using SuiteScript you will need to reference the custom record ID as shown in the example below.

Where to find the NetSuite custom record id

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *