Skip to main content

Entity Fields (SuiteBuilder)

Comprehensive guide to creating and configuring custom entity fields for customers, vendors, employees, contacts, and other entity types.


Overview

Entity fields extend NetSuite's standard entity records with additional data capture. These fields appear on entity forms and are available in searches, reports, and integrations.

ENTITY FIELD SCOPE
═══════════════════════════════════════════════════════════════════════════════

Custom Entity Field


┌───────────────────────────────────────────────────────────────────────────┐
│ APPLIES TO (select one or more): │
│ │
│ ☑ Customer ☑ Vendor ☑ Employee ☐ Contact │
│ ☐ Partner ☐ Prospect ☐ Lead ☐ Other Names │
│ ☐ Project ☐ Group ☐ Department ☐ Location │
│ │
│ Field appears on all selected entity types │
└───────────────────────────────────────────────────────────────────────────┘

Creating Entity Fields

Customization → Lists, Records, & Fields → Entity Fields → New

Configuration Options

ENTITY FIELD CONFIGURATION
═══════════════════════════════════════════════════════════════════════════════

┌─────────────────────────────────────────────────────────────────────────────┐
│ BASIC SETTINGS │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ Label*: [Customer Tier ] │
│ ID*: [custentity_customer_tier ] │
│ Type: [List/Record ▾] │
│ List/Record: [Customer Tier List ▾] │
│ │
│ Description: [Segmentation tier for pricing and │
│ service level assignment ] │
│ │
└─────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────┐
│ APPLIES TO │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ☑ Customer ☐ Partner │
│ ☐ Vendor ☐ Prospect │
│ ☐ Employee ☐ Lead │
│ ☐ Contact ☐ Other Names │
│ │
│ Note: Select only relevant entity types to avoid form clutter │
│ │
└─────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────┐
│ VALIDATION & DEFAULTING │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ☐ Mandatory Require value on save │
│ ☐ Unique Value No duplicates across records │
│ │
│ Default Value: [Standard ▾] │
│ │
│ Help Text: [Select customer's service tier ] │
│ (Appears as tooltip) │
│ │
└─────────────────────────────────────────────────────────────────────────────┘

Common Entity Field Use Cases

Customer Fields

Field PurposeTypeExample
SegmentationList/RecordIndustry, Customer Tier, Market Segment
ClassificationCheckbox/ListIs Strategic, Account Type
ComplianceDate/TextTax Exempt Date, Certification ID
IntegrationTextExternal CRM ID, Legacy System Code
RelationshipList/RecordParent Company, Account Manager

Vendor Fields

Field PurposeTypeExample
ClassificationListVendor Type, Risk Rating, Certification
ComplianceDate/DocumentInsurance Expiry, W-9 Received
PaymentList/TextPreferred Payment Method, Bank Details
PerformanceIntegerQuality Score, On-Time Delivery %
IntegrationTextERP Vendor Code, EDI ID

Employee Fields

Field PurposeTypeExample
HR DataDate/TextStart Date, Emergency Contact
SkillsMulti-selectCertifications, Languages
Org StructureList/RecordDivision, Cost Center, Supervisor
ComplianceCheckbox/DateBackground Check, License Expiry
SystemTextBadge ID, Active Directory ID

Field Types for Entities

FIELD TYPE SELECTION GUIDE
═══════════════════════════════════════════════════════════════════════════════

DATA TYPE BEST FOR EXAMPLE
─────────────────────────────────────────────────────────────────────────────
Free-Form Text Short text, codes, IDs Customer Code
Text Area Long descriptions, notes Special Instructions
Integer Whole numbers Employee Count
Decimal Precise numbers Credit Score (750.5)
Currency Money values Credit Limit
Date Single dates Contract Start Date
Date/Time Date with time Last Contact
Phone Number Formatted phone Alt Phone
Email Address Email with validation AP Contact Email
URL Web links Company Website

List/Record Select from list Industry
Multiple Select Multiple list values Product Interests
Checkbox Yes/No boolean Is Active
Document File attachment Contract Document
Image Logo/photo Employee Photo
Rich Text HTML formatted text Bio

Sourcing and Filtering

Sourcing from Parent Entity

FIELD SOURCING EXAMPLE
═══════════════════════════════════════════════════════════════════════════════

Scenario: Default Sales Rep on Contact from Customer

Contact Entity
┌─────────────────────────────────────────────────────────────────────────────┐
│ Field: Default Sales Rep │
│ Type: List/Record (Employee) │
│ │
│ Sourcing: │
│ Source From: Company (Customer) │
│ Source Field: Sales Rep │
│ │
│ Result: When contact is linked to customer, │
│ Sales Rep auto-populates from customer record │
└─────────────────────────────────────────────────────────────────────────────┘

Filtering List Values

FILTERED LIST EXAMPLE
═══════════════════════════════════════════════════════════════════════════════

Scenario: Show only Active Locations for Customer

Customer Entity
┌─────────────────────────────────────────────────────────────────────────────┐
│ Field: Service Location │
│ Type: List/Record (Location) │
│ │
│ Filtering: │
│ List Source: Location │
│ Filter Criteria: Is Inactive = False │
│ │
│ Result: Only active locations appear in dropdown │
└─────────────────────────────────────────────────────────────────────────────┘

Display and Access

Display Type Options

Display TypeBehaviorUse Case
NormalEditable fieldStandard data entry
DisabledVisible but not editableCalculated/system values
HiddenNot visible on formScript-only fields
Inline TextDisplay only (no input)Reference labels
Show as ListDisplay list field valuesMulti-select display

Role-Based Visibility

FIELD ACCESS CONFIGURATION
═══════════════════════════════════════════════════════════════════════════════

Field: Credit Limit (custentity_credit_limit)

Access Level by Role:
┌─────────────────────────────────────────────────────────────────────────────┐
│ Role Access Level │
├─────────────────────────────────────────────────────────────────────────────┤
│ Administrator Edit │
│ Credit Manager Edit │
│ Sales Manager View │
│ Sales Representative None (Hidden) │
│ Customer Service View │
└─────────────────────────────────────────────────────────────────────────────┘

Configure via:
1. Form-level: Show/Hide field per form
2. Field-level: Access subtab on field definition
3. Role-level: Permission lists and role configuration

Reporting and Integration

Saved Search Usage

-- Entity fields in saved searches
SELECT
c.entityid AS customer_id,
c.companyname,
BUILTIN.DF(c.custentity_customer_tier) AS tier,
c.custentity_credit_limit AS credit_limit
FROM
customer c
WHERE
c.custentity_customer_tier IS NOT NULL

SuiteScript Access

// Reading entity fields
var customer = record.load({
type: 'customer',
id: customerId
});

var tier = customer.getValue('custentity_customer_tier');
var creditLimit = customer.getValue('custentity_credit_limit');

// Setting entity fields
customer.setValue('custentity_customer_tier', 3); // List value ID
customer.save();

Best Practices

Naming Conventions

ElementConventionExample
Field IDcustentity_[prefix]_[name]custentity_acme_tier
PrefixCompany code (2-4 chars)acme, abc
NameDescriptive, snake_casecredit_limit, account_manager

Design Checklist

ConsiderationRecommendation
Applies ToSelect only needed entity types
TypeChoose appropriate field type for data
ValidationUse mandatory only when truly required
Help TextAlways provide clear instructions
DefaultSet sensible defaults to speed entry
SourcingAuto-populate from related records when possible
DisplayHide from roles that don't need it