Adding Custom Fields to Transaction Forms: A Step-by-Step Guide
Adding Custom Fields to Transaction Forms: A Step-by-Step Guide
Adding Custom Fields to Transaction Forms: A Step-by-Step Guide
This guide provides a clear, fact-checked process for adding your custom fields to the appropriate transaction forms, along with critical best practices for naming and managing them.
This guide provides a clear, fact-checked process for adding your custom fields to the appropriate transaction forms, along with critical best practices for naming and managing them.
This guide provides a clear, fact-checked process for adding your custom fields to the appropriate transaction forms, along with critical best practices for naming and managing them.
8 min read
One of the most common points of confusion when working with NetSuite customizations is the two-step process required to make a new custom field visible to users. Creating a custom field defines it in the database, but it does not automatically add it to any forms. This guide provides a clear, fact-checked process for adding your custom fields to the appropriate transaction forms, along with critical best practices for naming and managing them.
Best Practice: Naming Conventions for Custom Fields
Before you create a single field, establish a clear and consistent naming convention. This is arguably the most important best practice for maintaining a scalable and manageable NetSuite instance, especially when multiple administrators or consultants are involved.
A robust naming convention prevents confusion and makes it easy to identify the purpose and origin of a field.
The Recommended Syntax: __{customer_acronym}_{field_name}__
Component | Description | Example |
|---|---|---|
| The standard NetSuite prefix for all custom field IDs. This is added automatically. |
|
| A short, unique acronym for your company or project (e.g., |
|
| A clear, descriptive name for the field in lowercase with underscores. |
|
Why this is critical:
Clarity: Anyone can immediately see that
_ss_project_idis a custom field specific to your company, not a standard NetSuite field or a field from a managed bundle.Consistency: It enforces a uniform structure that makes fields easy to find and reference in scripts, workflows, and searches.
Prevents Conflicts: It avoids naming collisions with fields from third-party bundles or future NetSuite updates.
The Two-Step Process: Data vs. Presentation
NetSuite separates the data layer from the presentation layer:
Creating the Custom Field: This action creates a new data container in the NetSuite database. You define its type, ID (following your naming convention), and behavior. At this point, the field exists but is not visible on any user interface.
Adding the Field to a Form: This action makes the existing field visible on a specific form. It controls the field's position, label, and whether it is mandatory or read-only for users viewing that particular form.
Forgetting the second step is the primary reason why newly created custom fields do not appear on transactions.
How to Add a Custom Field to a Form
Navigate to Transaction Forms: Go to Customization > Forms > Transaction Forms.
Select the Form: Find the specific form you wish to modify. If you are editing a standard form for the first time, you will click Customize. If you are editing a form you have already customized, you will click Edit.
Go to the Screen Fields Subtab: This is where you control the visibility and layout of fields on the main part of the form.
Locate Your Custom Field: Your custom field will be in the list, identified by the label you gave it during creation. Use your naming convention to find it quickly.
Enable the Field: Check the Show checkbox next to your custom field. This is the critical step to make it visible.
Customizing Field Display and Behavior
Once you have located your field, you can configure its behavior specifically for this form.
Setting | Description |
|---|---|
Show | The master switch. If checked, the field is visible on this form. |
Mandatory | If checked, a user cannot save the transaction without filling in this field. |
Display Type | Controls user interaction: |
Label | Allows you to override the default field name with a different label that will only appear on this specific form. |
Body Fields vs. Column Fields
It is crucial to know where to look for your field on the form customization page:
Body Fields (`custbody_...`): These appear once per transaction (e.g., a "Project ID" in the header). You will find these on the Screen Fields subtab.
Column Fields (`custcol_...`): These appear on each line item of a transaction (e.g., a "Special Discount" on an item line). You will find these on the Sublist Fields subtab, typically under the "Items" section.
Additional Best Practices
Immediate Configuration: As a rule, immediately after creating a new custom field, navigate to your relevant forms and add it. This prevents you from forgetting this crucial step.
Test Your Changes: After saving the form, create a new transaction (or edit an existing one) that uses that form to verify the field appears correctly and its mandatory/display settings are behaving as expected.
Multiple Forms: Remember that if different roles use different custom forms, you must add the new field to each form where it needs to be visible.
One of the most common points of confusion when working with NetSuite customizations is the two-step process required to make a new custom field visible to users. Creating a custom field defines it in the database, but it does not automatically add it to any forms. This guide provides a clear, fact-checked process for adding your custom fields to the appropriate transaction forms, along with critical best practices for naming and managing them.
Best Practice: Naming Conventions for Custom Fields
Before you create a single field, establish a clear and consistent naming convention. This is arguably the most important best practice for maintaining a scalable and manageable NetSuite instance, especially when multiple administrators or consultants are involved.
A robust naming convention prevents confusion and makes it easy to identify the purpose and origin of a field.
The Recommended Syntax: __{customer_acronym}_{field_name}__
Component | Description | Example |
|---|---|---|
| The standard NetSuite prefix for all custom field IDs. This is added automatically. |
|
| A short, unique acronym for your company or project (e.g., |
|
| A clear, descriptive name for the field in lowercase with underscores. |
|
Why this is critical:
Clarity: Anyone can immediately see that
_ss_project_idis a custom field specific to your company, not a standard NetSuite field or a field from a managed bundle.Consistency: It enforces a uniform structure that makes fields easy to find and reference in scripts, workflows, and searches.
Prevents Conflicts: It avoids naming collisions with fields from third-party bundles or future NetSuite updates.
The Two-Step Process: Data vs. Presentation
NetSuite separates the data layer from the presentation layer:
Creating the Custom Field: This action creates a new data container in the NetSuite database. You define its type, ID (following your naming convention), and behavior. At this point, the field exists but is not visible on any user interface.
Adding the Field to a Form: This action makes the existing field visible on a specific form. It controls the field's position, label, and whether it is mandatory or read-only for users viewing that particular form.
Forgetting the second step is the primary reason why newly created custom fields do not appear on transactions.
How to Add a Custom Field to a Form
Navigate to Transaction Forms: Go to Customization > Forms > Transaction Forms.
Select the Form: Find the specific form you wish to modify. If you are editing a standard form for the first time, you will click Customize. If you are editing a form you have already customized, you will click Edit.
Go to the Screen Fields Subtab: This is where you control the visibility and layout of fields on the main part of the form.
Locate Your Custom Field: Your custom field will be in the list, identified by the label you gave it during creation. Use your naming convention to find it quickly.
Enable the Field: Check the Show checkbox next to your custom field. This is the critical step to make it visible.
Customizing Field Display and Behavior
Once you have located your field, you can configure its behavior specifically for this form.
Setting | Description |
|---|---|
Show | The master switch. If checked, the field is visible on this form. |
Mandatory | If checked, a user cannot save the transaction without filling in this field. |
Display Type | Controls user interaction: |
Label | Allows you to override the default field name with a different label that will only appear on this specific form. |
Body Fields vs. Column Fields
It is crucial to know where to look for your field on the form customization page:
Body Fields (`custbody_...`): These appear once per transaction (e.g., a "Project ID" in the header). You will find these on the Screen Fields subtab.
Column Fields (`custcol_...`): These appear on each line item of a transaction (e.g., a "Special Discount" on an item line). You will find these on the Sublist Fields subtab, typically under the "Items" section.
Additional Best Practices
Immediate Configuration: As a rule, immediately after creating a new custom field, navigate to your relevant forms and add it. This prevents you from forgetting this crucial step.
Test Your Changes: After saving the form, create a new transaction (or edit an existing one) that uses that form to verify the field appears correctly and its mandatory/display settings are behaving as expected.
Multiple Forms: Remember that if different roles use different custom forms, you must add the new field to each form where it needs to be visible.
Ready to Work Together?
Ready to Work Together?
Ready to Work Together?
Let us talk about your NetSuite challenges and how we can help. No pressure, no sales pitch. Just a straightforward conversation.
Let us talk about your NetSuite challenges and how we can help. No pressure, no sales pitch. Just a straightforward conversation.
Author


Michael Strong
Michael Strong
Founder & Principal Architect
Founder & Principal Architect
Tags
Read More
Read More


