Creating a Custom Segment

For information specific to Not-for-Profit (NFP), see Custom Segments for NFP Financials.

When you create a custom segment, you can choose a label for the segment, define its values, and configure other settings. Of the available fields, only Label is required for the segment to be saved.

To create a segment, you must have the appropriate permissions. Authorized users include the following:

A completely defined custom segment must contain one custom record component, and one each of the following five custom field component types: Body, Column, Entity, Event, and Item. For more information, see Custom Records and Custom Field Categories.

To create a custom segment:

  1. Go to Customization > Lists, Records, & Fields > Custom Segments > New.

  2. In the Label field, enter a label for the segment. This text will be used as the segment’s label when it appears on records or as a transaction column.

    The name of the custom segment cannot be the same as any existing custom field name.


    This value must be unique across all classifications in your system. Consider the following restrictions when entering a label for your custom segment.

    • The label cannot be a duplicate of an existing segment label.

    • The label cannot be a duplicate of an existing custom record label.

    • The label cannot be a duplicate of an existing custom field label.

    • If you have classifications called Class, Department, Location, and Subsidiary, you cannot use any of those words as labels.

    • You cannot name a segment Account.

  3. In the ID field, enter a unique alphanumeric ID for the transaction type. For information about best practices and naming conventions, see Conventions for Naming Custom Objects. This value cannot be changed after the new segment is saved.

  4. As of 2019.1, any new custom segments that you create automatically use the unified ID, and the Use as Field ID box is not visible.

    If you are editing a custom segment definition that was created before 2019.1, the Use as Field ID box is available.

    To use a unified ID for the entire custom segment definition, check the Use as Field ID box. When the box is checked, no field ID fields or columns are shown on the Application & Sourcing subtabs because one ID is used for all fields.


    If you change the Use as Field ID setting on existing custom segments, your scripting solutions can stop working, or may not work as expected. Verify SuiteScripts, CSV imports, SOAP web services, workflows, formula fields, bundles, SDF, searches, printing templates, and any other customizations that include custom segments. SuiteAnalytics Connect does not use the unified ID.

  5. After the new custom segment is saved, the Custom Record Type field displays the custom record type associated with the custom segment. You can click the custom record type name to open the configuration page. For information see Custom Record Types Associated with a Custom Segment.

  6. Optionally, change the Type list from its default of List/Record to Multiple Select. This choice determines whether a user setting a value for the segment can save multiple selections, as follows:

    • List/Record – The user can save only one selection.

    • Multiple Select – The user can save multiple selections.

    Some limitations exist with Multiple Select. For details, see Custom Segment Types.

  7. If a custom segment is no longer needed, you can inactivate it by checking the Inactive box. For details, see Inactivating a Custom Segment.

  8. Select the Display Type. Display types let you specify how your custom segments behave in NetSuite. You can use display types to make fields for informational purposes only that are not stored in your account. You can also create custom segments that are not editable or that have default information or custom code calculations.

    • Normal: A normal segment can be edited and can be used in defaulting and sourcing information.

    • Disabled: A disabled segment cannot be edited. You can use the custom segment with defaulting and sourcing information only. Any segment with a display type of disabled that does not have default or sourced information does not appear on forms.


      You cannot disable a mandatory custom segment unless the segment has a default value.

    • Hidden: A hidden segment cannot be seen on the record or transaction you apply it to. You can perform a search to display the value of the segment. The information in the segment is the result of defaulting information. You must set a default for the field.

      If a custom segment is marked as hidden, it is not available to add to custom forms.

      Be aware that in SuiteScript, only user event, scheduled, and Suitelet scripts can set the value of a custom segment that has a display type of hidden.


      Hiding a custom segment is a display convenience only and is not field level security. Hidden custom segments are embedded in the page output and can be viewed in the page source.

  9. Optionally, check the Show In List box to display the custom segment column on a custom record list or sublist.

    Custom segment visibility example.
  10. In some cases, you may want to set up filtering for a segment’s values. With this option, you can specify that, for any of the segment’s values, the value’s availability is conditional based on selections the user made in other classification fields on the same record. For full details about filtering, see Filtering for a Custom Segment.

    If you want to use this capability, in the Filtered by list, select the classifications you will use to filter this segment’s available values. Hold down Ctrl to select more than one option.

    Segment filtering multi-select example.

    Later, you must manage the exact filtering configuration for each value by using the Set Filters button, as described later in this procedure.

  11. If appropriate, check the GL Impact box. Checking this box means that, when the segment is used on a transaction, the segment’s value is displayed on the GL Impact page.


    After the segment is created, the value of the GL Impact option cannot be changed. For more details about GL impact, see Configure a Segment to Appear on the GL Impact Page.

  12. Enter field-level help for the segment in the Help field. When you enter help information, a user working with the segment can click the segment’s label to display a popup window containing your help text.

  13. If required, enter notes about the segment in the Description field. This text is visible only on this page, for people who have permission to view or edit the segment.

  14. Optionally, enter additional configuration settings on the segment’s subtabs, as follows:

    • Values – Create values for the custom segment by adding lines to the Values sublist. Note that if you made a selection in the Filtered by box, you must populate the Filtering column for each value that you want to be available to users. For full details on configuring filtering for a value, see Setting Filters for Each of the Segment’s Values. For more details about each column in the Values sublist, see Creating Values Within the Segment Definition.

    • Application & Sourcing – On this subtab, you can do both of the following:

      • Apply the segment to one or more record types by checking the record types. You can also make the segment available on another custom segment or as a column in a transaction sublist. For more details, see Applying a Custom Segment to Record Types.

      • If the segment applies to more than one record type, you can set up dynamic defaulting using the Source List field. With this approach, you can make the segment value on one record default to the segment value saved on another record. For full details on configuring dynamic defaulting, see Dynamic Default Value Sourcing for Custom Segments.

    • Validation & Defaulting – On this subtab, you can do both of the following:

      • Make the segment mandatory when it appears on a record type by checking the Mandatory box. Be aware, however, that a custom form for the record type can be designed to prevent the field from being visible (and therefore prevent it from being mandatory). For more details, see Making a Custom Segment Mandatory.

      • Choose a static default value for the segment by using the Default Selection list. If you have configured dynamic defaulting using the Source List field on the Application & Sourcing subtab, the dynamic defaulting overrides the default selection value specified. For more details, see Configuring Static Defaults for Custom Segments.

    • Permissions – Grant roles permission to work with this segment. You can configure the following:

    • Dependent Segments — When editing an existing segment, use this subtab to see a list of the segments that use the current segment for filtering their values.


      The Dependent Segments subtab lists custom segments that are configured to have their values filtered by the current segment. When you create a new segment, this subtab is empty.

    • Display Order – Specify the order in which custom segments appear in the body and lines of transactions, on other records, and on the GL Impact page, if applicable. You can set the display order to reflect the priority and dependencies of custom segments. For details see Setting Display Order of All Custom Segments.

    • Translation – Define translations for the segment’s label and help text. Be aware that the Translation subtab is displayed only if the Multi-Language option is enabled, at Setup > Company > Enable Features, on the Company subtab.

  15. Click Save.

    The custom segment and an associated custom record type are created. The custom record type has the same name as the custom segment and is available on the Custom Record Types list page. You can edit the custom record type directly to add values to the custom segment.

    You can use SuiteCloud Development Framework (SDF) to manage custom segments as part of file-based customization projects. For information about SDF, see SuiteCloud Development Framework Overview. You can use the Copy to Account feature to copy an individual custom segments to another of your  accounts. Each custom segment page has a clickable Copy to Account option in the upper right corner. For information about Copy to Account, see Copy to Account Overview.

Related Topics

Custom Segment Creation
Custom Segment Types
Configuring GL Impact for a Custom Segment
Filtering for a Custom Segment
Applying a Custom Segment to Record Types
Apply to Kit or Assembly Components Setting for Custom Segments and Transaction Line Custom Fields
Dynamic Default Value Sourcing for Custom Segments
Validation and Static Default Values for Custom Segments
User Permissions for a Custom Segment
Dependent Segments
Setting Display Order of All Custom Segments

General Notices