Custom Fields
What are Custom Fields?#
Custom fields allow you to add additional data capture points to standard NetSuite records. They extend NetSuite's functionality to meet your specific business requirements.
Types of Custom Fields#
| Category | Field | Features | Use For |
|---|---|---|---|
| Free-Form Fields | Text Field | - Single-line text input Maximum 300 characters | Names, codes, short descriptions |
| Free-Form Fields | Long Text Field | - Multi-line text area - Maximum 4,000 characters | Comments, notes, detailed descriptions |
| Free-Form Fields | Email Field | - Validates email format - Creates mailto links | Email addresses |
| Free-Form Fields | Phone Field | - Formats phone numbers | Phone contacts |
| Free-Form Fields | URL Field | - Creates clickable hyperlinks | Website addresses, external links |
| Numeric Fields | Integer Field | - Whole numbers only | Quantities, counts |
| Numeric Fields | Decimal Field | - Numbers with decimal places - Configure precision (number of decimal places) | Measurements, percentages |
| Numeric Fields | Currency Field | - Formatted as currency with symbol - Respects subsidiary currency settings | Monetary amounts, pricing |
| Numeric Fields | Percent Field | - Displays as percentage with % symbol | Rates, margins, discounts |
| Selection Fields | List/Record Field | - Dropdown selection - Can reference custom or standard lists | Predefined categories, classifications |
| Selection Fields | Checkbox Field | - True/False boolean value | Yes/No questions, flags |
| Selection Fields | Multi-Select Field | - Select multiple values from a list | Tags, multiple categories |
| Date and Time Fields | Date Field | - Date picker interface - Store dates without time | Deadlines, milestones |
| Date and Time Fields | DateTime Field | - Date and time picker - Stores both date and time | Appointments, timestamps |
| Advanced Fields | Image Field | - Upload and display images | Photos, logos, visual references |
| Advanced Fields | Document Field | - Attach files and documents | Contracts, specifications |
| Advanced Fields | Rich Text Field | - HTML editor with formatting | Formatted content, HTML emails |
| Advanced Fields | Help Field | - Display-only informational text - Provides guidance on forms | Instructions, field explanations |
Creating Custom Fields#
Step-by-Step Process#
Navigate to Field Setup
- Go to Customization > Lists, Records, & Fields > [Record Type] Fields > New
Configure Basic Settings
- Label: User-facing name (e.g., "Project Code")
- ID: System identifier (auto-generated or custom)
- Type: Select appropriate field type
- Description: Document the field's purpose
Set Display Properties
- Applies To: Select record types where field appears
- Display Tab: Choose which subtab shows the field
- Display Type: Field, Inline Text, or Hidden
- Default Value: Set if applicable
Configure Validation
- Mandatory: Require value before saving
- Validation Formula: Add custom validation rules
- Help Text: Provide user guidance
Set Access Level
- Determine which roles can view/edit the field
Example: Creating a Customer Risk Rating Field#
Label: Risk RatingID: custentity_risk_ratingType: List/RecordList/Record: Custom List (Low, Medium, High)Applies To: CustomerDisplay Tab: ClassificationMandatory: YesDefault Value: MediumHelp: Internal risk assessment for credit approvalCustom Field Formulas#
Formula Basics#
Custom fields can use formulas to calculate values dynamically.
Syntax Example:
{amount} * {quantity}Common Formula Functions#
Mathematical:
{field1} + {field2}- Addition{field1} - {field2}- Subtraction{field1} * {field2}- Multiplication{field1} / {field2}- DivisionROUND({field}, 2)- Rounding
Conditional:
CASE WHEN {amount} > 1000 THEN 'High' WHEN {amount} > 500 THEN 'Medium' ELSE 'Low' ENDDate Functions:
{today}- Current date{trandate}- Transaction dateROUND(({duedate} - {today}), 0)- Days until due
Example Formulas#
Profit Margin Calculation:
ROUND((({amount} - {custbody_cost}) / {amount}) * 100, 2)Days Overdue:
CASE WHEN {duedate} < {today} THEN {today} - {duedate} ELSE 0 ENDField Dependencies#
Make fields appear or become required based on other field values.
Creating Dependencies#
- Navigate to the field's configuration
- Go to Validation & Defaulting tab
- Use the "Display" subtab to set display formulas
Example: Show field only for specific customer types
{custentity_customer_type} = 'Wholesale'Best Practices#
Naming Conventions#
- Use clear, descriptive labels
- Keep IDs consistent with a prefix (e.g.,
custbody_,custentity_) - Document field purpose in Description
Performance Considerations#
- Limit fields on heavily used records
- Use List fields instead of Free-Form when possible
- Avoid complex formulas on transaction lines
User Experience#
- Group related fields on the same subtab
- Provide help text for complex fields
- Use default values to speed data entry
- Make fields mandatory only when truly required
Maintenance#
- Document all custom fields in a spreadsheet
- Review and remove unused fields periodically
- Test field behavior across different scenarios
- Consider impact on reports and searches
Common Use Cases#
Customer Record Extensions#
- Customer classification fields
- Credit limit and terms
- Industry-specific identifiers
- Relationship manager assignments
Transaction Customizations#
- Project or job references
- Approval status indicators
- Custom pricing calculations
- Delivery instructions
Item Record Enhancements#
- Technical specifications
- Vendor part numbers
- Quality certifications
- Marketing descriptions