NewNetSuite 2026.1 — What's new

NetSuite Schema Browser: Records, Fields & Joins

NetSuite Schema Browser explained — how to find record types, fields, and join paths for SuiteScript, SuiteAnalytics, and SuiteTalk integration development.

8 min read
Celigo Partner · NetSuite ExpertsClutch-Verified ReviewsSenior Team · Since 2017

What is the NetSuite Schema Browser?

TL;DR: The NetSuite Records Browser (often called Schema Browser) is the canonical reference for every record type, field, and relationship in NetSuite — used by SuiteScript developers, SuiteAnalytics analysts, and integration engineers to find internal IDs, data types, and join paths. It exists in two flavors: the SuiteTalk Schema Browser (for SOAP/REST API) and the Records Browser (for SuiteScript). Both are essential references when building anything custom on NetSuite.

The Schema Browser is Oracle's official documentation of NetSuite's data model. Whenever you're writing SuiteScript, building a saved search, designing a SuiteAnalytics Workbook, or integrating NetSuite via API, you need to know the exact record type identifier, field internal IDs, data types, and how records relate to each other. The Schema Browser tells you all of that.


SuiteTalk Schema Browser vs Records Browser

NetSuite ships two distinct schema reference tools and developers regularly confuse them.

SuiteTalk Schema Browser

The SuiteTalk Schema Browser documents the SOAP/REST web services API surface. It shows record types as exposed via SuiteTalk, including which fields are queryable, writable, and what filters work for each.

Use SuiteTalk Schema Browser when:

  • Building SOAP integrations (legacy)
  • Developing REST web services integrations
  • Writing external code that calls NetSuite's API

Access: NetSuite includes a link inside the platform under Setup → Integration → Web Services Documentation → Records Browser, or you can find the public version on Oracle's website.

Records Browser (SuiteScript)

The Records Browser documents what's available inside SuiteScript — internal IDs of every record type, field internal IDs, sublist field structures, and search join columns. It's larger and more detailed than the SuiteTalk version because SuiteScript runs server-side and has access to more fields.

Use Records Browser when:

  • Writing SuiteScript (UserEvents, ScheduledScripts, MapReduce, Suitelets, RESTlets)
  • Building saved searches with formula columns
  • Developing SuiteAnalytics Workbook datasets
  • Designing custom records and fields

Access: NetSuite Help Center → SuiteCloud Platform → SuiteScript → Records Browser.


What you'll find in the Schema Browser

For every record type (Customer, Sales Order, Item, Vendor, Custom Record, etc.), the browser lists:

Internal ID — the programmatic identifier you use in SuiteScript and saved searches. The Customer record's internal ID is customer; Sales Order is salesorder; an item with an Items - Lot Numbered sublist appears under that name.

Body fields — every field on the record header with its internal ID, label, type (text, integer, date, decimal, list/record), and any field-level constraints (mandatory, read-only, default value).

Sublist fields — the line-level fields. A sales order has item sublist with line item, quantity, rate, and amount. The browser shows each sublist's internal ID and the fields on each line.

Search filters — which fields can be used as criteria in saved searches, with their search filter internal IDs.

Search columns — which fields can be returned in saved search results, including formula-friendly columns.

Join paths — the relationships between records. From a Sales Order, you can join to Customer, Item, Subsidiary, Department, etc. Each join shows what record type it connects to and the field internal ID for the join.


Common workflow: finding a field internal ID

A typical SuiteScript task: "Update the customer's primary email when a sales order saves." You need the Customer record's email field internal ID.

  1. Open Records Browser → navigate to Customer
  2. In the Body fields list, find Email (label) → the internal ID is email
  3. In your SuiteScript: record.load({type: record.Type.CUSTOMER, id: customerId}).getValue({fieldId: 'email'})

For a saved search task: "Show all open sales orders by customer with their primary contact email." You need the join path from sales order to contact.

  1. Open Records Browser → navigate to Sales Order
  2. Find Customer join → click through → find Customer's Contact join → the email field
  3. In saved search: criteria on Sales Order, results column = customer.contact.email

Schema Browser vs SuiteQL

For SuiteAnalytics Workbook and SuiteQL queries, the data model exposed is similar but not identical to SuiteScript. SuiteQL uses lowercase table names and slightly different join semantics. The Records Browser still helps but you should also check the SuiteAnalytics Connect schema (or use the Catalog view inside Workbook) for the exact SuiteQL field names.

A common gotcha: SuiteScript's internalid field becomes id in SuiteQL. SuiteScript's customer table is customer in SuiteQL too — but a sales order body field like entity (the customer reference) joins differently in SuiteQL than the SuiteScript customer field internal ID suggests.

For deeper context on SuiteQL queries, see our NetSuite REST API guide.


How to find a record type's internal ID quickly

Three methods that work depending on context:

Method 1: Schema Browser navigation. Most reliable but slowest — navigate the alphabetical list of record types.

Method 2: URL inspection. Open the record in the NetSuite UI. The URL contains t=<recordtype> for transactions and e=<recordtype> for entities. Example: a sales order URL contains salesorder.

Method 3: SuiteScript record.Type enum. In SuiteScript 2.x, record.Type enum lists every standard record type. Hover in your IDE or check the SuiteScript documentation to see them all.

For custom records, the internal ID follows the pattern customrecord_<scriptid> where scriptid is what you set when creating the custom record type.


Custom records and the Schema Browser

When you create a custom record type via Setup → Customization → Record Types, NetSuite generates an internal ID following the pattern customrecord_<your_script_id>. The Schema Browser doesn't show your custom records — instead, look at the custom record type definition itself in NetSuite.

For programmatic access, the Records Catalog inside SuiteAnalytics Workbook does show custom records alongside standard ones. The Catalog is increasingly the canonical reference for both standard and custom records.


Schema Browser limitations

Doesn't show role-based field access. Some fields are only available to specific roles. The Schema Browser shows the field exists but doesn't indicate whether your script will have access to it.

Doesn't show feature dependencies. Many fields only appear when specific NetSuite features are enabled. The Schema Browser shows them all; your account may not have access.

Lags behind new releases. NetSuite ships features twice a year (2026.1, 2026.2). The Schema Browser updates after the release goes live, so during release preview you may need to consult release notes for new fields.

SuiteApp fields not always documented. Custom fields added by SuiteApps you've installed may not appear in the public Schema Browser — check the SuiteApp's documentation directly.


Frequently asked questions

Frequently Asked Questions

Share:

See if NetSuite fits your business

Share a bit about your business. We'll give you an honest take on whether NetSuite is the right call.

We respond within 24 hours.

BrokenRubik

BrokenRubik

NetSuite Development Agency

Expert team specializing in NetSuite ERP, SuiteCommerce development, and enterprise integrations. Oracle NetSuite partner with 10+ years of experience delivering scalable solutions for mid-market and enterprise clients worldwide.

10+ years experienceOracle NetSuite Certified Partner +2
NetSuite ERPSuiteCommerce AdvancedSuiteScript 2.xNetSuite Integrations+4 more

Get More Insights Like This

Join our newsletter for weekly tips, tutorials, and exclusive content delivered to your inbox.

Get in Touch