Record Types (SuiteBuilder)
Comprehensive guide to working with record types in SuiteBuilder, including when to use custom records, configuration options, and best practices.
Overview
RECORD TYPES IN NETSUITE
-------------------------------------------------------------------------------
STANDARD RECORDS CUSTOM RECORDS
(Built-in by NetSuite) (Created by you)
--------------------- -----------------
+-- Entities +-- Business Entities
| +-- Customer | +-- Vehicle
| +-- Vendor | +-- Project Task
| +-- Employee | +-- Asset Location
| +-- Contact |
| +-- Linking Records
+-- Transactions | +-- Contact-Account Link
| +-- Sales Order | +-- Item-Vendor Mapping
| +-- Invoice |
| +-- Purchase Order +-- Configuration
| +-- Journal Entry +-- Price Rule
| +-- Approval Matrix
+-- Items +-- Integration Log
| +-- Inventory Item
| +-- Service Item
| +-- Assembly Item
|
+-- Supporting
+-- Message
+-- Note
+-- File
When to Create a Custom Record Type
| Need | Recommendation | Example |
|---|---|---|
| Store new business data with its own fields and forms | Create a custom record | Vehicle fleet, Quality inspection |
| Add a few fields to an existing record | Use custom fields instead | Add "Industry Tier" to Customer |
| Model many-to-many relationships | Use a linking custom record | Contact-to-Account assignments |
| Store integration logs or audit data | Custom record with date retention | API transaction logs |
| Create configuration/lookup tables | Custom record with list display | Approval thresholds by role |
| Replace a standard record | Not possible - customize existing | Cannot replace Customer record |
Creating a Custom Record Type
Navigation
Customization > Lists, Records, & Fields > Record Types > New
Main Tab Configuration
CUSTOM RECORD - MAIN TAB
-------------------------------------------------------------------------------
+-----------------------------------------------------------------------------+
| BASIC INFORMATION |
+-----------------------------------------------------------------------------+
| |
| Name*: [Company Vehicle ] |
| ID*: [customrecord_vehicle ] |
| (auto-generated, can customize) |
| |
| Description: [Track company fleet vehicles including |
| assignments, maintenance, and costs. ] |
| |
| Record Type: ( ) Custom Entry Form |
| ( ) Custom Transaction (for GL posting) |
| |
+-----------------------------------------------------------------------------+
+-----------------------------------------------------------------------------+
| DISPLAY OPTIONS |
+-----------------------------------------------------------------------------+
| |
| [x] Include Name Field Show name on record |
| [x] Show ID Display internal ID in lists |
| [ ] Allow Inline Editing Edit directly in search results |
| [x] Show Notes Enable notes tab |
| [x] Show Creation Date Track record creation |
| [x] Show Last Modified Track updates |
| |
+-----------------------------------------------------------------------------+
Access Tab Configuration
CUSTOM RECORD - ACCESS TAB
-------------------------------------------------------------------------------
+-----------------------------------------------------------------------------+
| PERMISSION LEVEL |
+-----------------------------------------------------------------------------+
| |
| ( ) No Permission Required |
| All users can view and edit |
| |
| (o) Use Permission List |
| Assign specific permissions per role |
| |
| ( ) Use Custom Record Permission |
| Leverage the global Custom Record permission |
| |
+-----------------------------------------------------------------------------+
| ROLE PERMISSIONS (when using Permission List) |
+-----------------------------------------------------------------------------+
| |
| Role Level |
| --------------------- ----------------- |
| Administrator Full |
| Fleet Manager Full |
| Operations Staff Edit |
| All Employees View |
| |
| Permission Levels: |
| None - Cannot access record |
| View - Read only |
| Create - Can create new, view existing |
| Edit - Can create, view, and modify |
| Full - All above plus delete |
| |
+-----------------------------------------------------------------------------+
Feature Options
CUSTOM RECORD - FEATURES
-------------------------------------------------------------------------------
+-----------------------------------------------------------------------------+
| ADVANCED OPTIONS |
+-----------------------------------------------------------------------------+
| |
| Scripting & Integration: |
| [x] Available for SuiteScript Use in scripts |
| [x] Available for Web Services Expose via SOAP/REST |
| [x] Available for SuiteQL Query via SuiteQL |
| |
| Hierarchy: |
| [ ] Is Ordered Support manual ordering |
| [ ] Hierarchical Enable parent-child relationships |
| |
| Numbering: |
| [x] Use Auto-Generated Number System assigns numbers |
| Prefix: VEH- |
| Minimum Digits: 5 |
| Example: VEH-00001 |
| |
| OR |
| [ ] Allow Numbering Override User can edit number |
| |
+-----------------------------------------------------------------------------+
Adding Fields to Custom Records
Fields Tab
Once the record is saved, add fields via the Fields subtab or by creating fields that apply to this record type.
CUSTOM RECORD FIELDS EXAMPLE
-------------------------------------------------------------------------------
Record: Company Vehicle (customrecord_vehicle)
+------------------------------------------------------------------------------+
| Label Type Internal ID Mandatory |
+------------------------------------------------------------------------------+
| Vehicle Number Text custrecord_veh_number Yes |
| Make Free-Form custrecord_veh_make Yes |
| Model Free-Form custrecord_veh_model Yes |
| Year Integer custrecord_veh_year Yes |
| VIN Text custrecord_veh_vin Yes |
| License Plate Text custrecord_veh_plate No |
| Assigned Employee List/Record custrecord_veh_employee No |
| Department List/Record custrecord_veh_dept No |
| Purchase Date Date custrecord_veh_purchased No |
| Purchase Price Currency custrecord_veh_price No |
| Status List custrecord_veh_status Yes |
| Notes Text Area custrecord_veh_notes No |
+------------------------------------------------------------------------------+
Custom Record Relationships
For detailed relationship patterns between custom records, see the dedicated Record Relationships guide.
Quick Reference
| Pattern | Description | Key Setting |
|---|---|---|
| 1-to-Many | Parent with sublist of children | ☑ Record is Parent |
| Many-to-1 | Simple lookup/reference | ☐ (lookup only) |
| Many-to-Many | Junction record between two | Two lookup fields |
| 1-to-1 | Exclusive pairing | Unique constraint |
Topics Covered in Record Relationships
- Record is Parent Configuration - Sublists on transactions and custom records
- Many-to-One (Lookup) Relationships - Reference/lookup patterns
- Many-to-Many (Junction Records) - Linking records between entities
- One-to-One Relationships - Exclusive pairings
- Cross-Record Lookups - Referencing other developers' custom records
- Line-Level Relationships - Transaction lines → Custom record sublists
- SuiteScript Examples - Working with relationships in code
- SuiteQL Examples - Querying across related records
Standard Record Types Reference
Common Standard Records by Category
| Category | Record Types |
|---|---|
| Entities | Customer, Vendor, Employee, Contact, Partner, Prospect, Lead |
| Transactions | Sales Order, Invoice, Cash Sale, Purchase Order, Vendor Bill, Journal Entry, etc. |
| Items | Inventory Item, Non-Inventory Item, Service Item, Assembly Item, Kit/Package |
| CRM | Opportunity, Case, Campaign, Event, Task, Phone Call |
| Project | Project, Project Task, Time Entry, Expense Report |
| Supporting | Message, Note, File, Folder |
Best Practices
Naming Conventions
| Element | Convention | Example |
|---|---|---|
| Record ID | customrecord_[prefix]_[name] | customrecord_fleet_vehicle |
| Field ID | custrecord_[prefix]_[field] | custrecord_veh_make |
| Prefix | 2-4 character company/module code | veh, crm, hr |
Design Checklist
| Item | Consideration |
|---|---|
| Purpose | Clear business need documented |
| Naming | Consistent ID naming convention |
| Permissions | Role-based access defined |
| Fields | Only essential fields (avoid bloat) |
| Relationships | Parent-child or linking records planned |
| Numbering | Auto-numbering with prefix if needed |
| Forms | Default form created and tested |
| Scripts | SuiteScript availability enabled if needed |
| Searches | Key saved searches created |
References
- Full list of standard record types: Record Types Reference
- SuiteBuilder overview: Suite Builder
- SDF custom records (XML deployment): Custom Records
- Custom fields guide: Custom Fields
- Record relationships: Record Relationships