How to Create Custom Fields in NetSuite: Step-by-Step

Custom fields let you capture business-specific data that NetSuite doesn't track out of the box. This guide covers every field type, how to add them to forms, set up validation rules, and best practices for maintaining clean data.

Every business has unique data requirements that NetSuite's standard fields don't cover. Custom fields allow you to extend NetSuite records with additional data points tailored to your specific workflows. Whether you need to track a customer's preferred shipping method, an item's compliance certification, or a transaction's internal project code, custom fields are the solution.

Understanding Custom Field Types

NetSuite offers several categories of custom fields, each designed for a different record type:

Field CategoryWhere It AppearsExample Use
Entity FieldCustomer, Vendor, Employee, Contact recordsCustomer industry code, employee T-shirt size
Transaction Body FieldHeader of transactions (SO, PO, Invoice, etc.)Internal approval code, project reference
Transaction Column FieldLine items on transactionsWarranty period per line item
Item FieldItem records (inventory, service, etc.)Compliance certification, hazard classification
CRM FieldOpportunities, Cases, Tasks, EventsLead source detail, case priority level
Other Record FieldCustom records, other record typesAny field on a custom record type

Step 1: Navigate to Custom Fields

Go to Customization > Lists, Records, & Fields > [Field Category]. For example, to create a transaction body field, go to Customization > Lists, Records, & Fields > Transaction Body Fields > New.

Step 2: Configure the Field

Fill in the following key settings:

Label and ID

  • Label – The display name users will see (e.g., "Project Code")
  • ID – Auto-generated internal ID (e.g., custbody_project_code). You can customize this, but once saved, it cannot be changed. Use a clear naming convention.

Field Type

Choose the appropriate data type:

  • Free-Form Text – Any text input (up to 300 characters)
  • Text Area – Longer text (up to 4,000 characters)
  • Integer / Decimal / Currency – Numeric values
  • Date / Date/Time – Date fields with calendar picker
  • List/Record – Dropdown that references another record or custom list
  • Multiple Select – Select multiple values from a list
  • Checkbox – Boolean true/false
  • Rich Text – HTML-formatted text
  • Image – File upload for images
  • Inline HTML – Read-only HTML content (useful for displaying calculated content)
  • Hyperlink – URL field

Step 3: Set Applies To

For entity and transaction fields, specify which record subtypes the field should appear on. For example, a transaction body field can be set to appear only on Sales Orders and Invoices, not on Purchase Orders.

Use the Applies To tab to check/uncheck the relevant transaction types, entity types, or item types.

Step 4: Configure Validation and Defaults

  • Mandatory – Check this to require the field before saving the record
  • Default Value – Set an automatic default when a new record is created
  • Help Text – Add a description that appears when users hover over the field label
  • Display Type – Normal, Hidden, Inline Text, or Disabled
  • Store Value – Whether the value is stored in the database (uncheck for display-only fields)

Step 5: Configure Sourcing and Filtering

For List/Record fields, you can set up:

  • Sourcing – Automatically populate this field based on a related record. For example, source a customer's "Account Manager" field into a sales order body field when the customer is selected.
  • Filtering – Limit the dropdown values based on another field. For example, show only items that belong to a specific category.

Step 6: Assign to Forms

After saving the custom field, you need to add it to your transaction or entry forms. Go to Customization > Forms > Transaction Forms (or Entry Forms), edit the relevant form, and drag your new custom field into the desired position.

You can also control:

  • Which tab the field appears on
  • Whether it's mandatory on a specific form
  • The field's display width and position

Best Practices

  • Use a naming convention – Prefix custom field IDs with your company abbreviation (e.g., custbody_yrk_project_code)
  • Don't over-create fields – Each custom field adds overhead. Consider whether a standard field or custom list could serve the same purpose.
  • Use List/Record fields instead of free-form text when you need consistent, reportable values
  • Set Store Value carefully – Fields with Store Value unchecked are sourced in real-time and cannot be searched on. Use stored fields for data you need to report on.
  • Document your fields – Maintain a spreadsheet or document listing all custom fields, their purpose, and their IDs for future reference.
  • Consider role-based visibility – Use the Access tab to control which roles can see or edit the field.

Next Steps

Custom fields work hand-in-hand with custom records, workflows, and saved searches. Once you've created your fields, you can use them in search criteria, workflow conditions, and SuiteScript logic to build powerful business automation.

Need help designing your custom field architecture? Contact YRK Consulting for expert NetSuite customization services.