Custom Forms
Forms are the pages used to enter information into the NetSuite database. The standard set of forms provided with your NetSuite account can be customized to better suit your business needs. For example, you may want to reorganize subtabs or rename fields to better match your business workflow and terminology. After you have created a custom form, it can be set as the preferred or default form for a page or selected as needed from a custom form list.
Note the following:
-
Form preferences are controlled by settings on the custom forms page as well as settings defined for each role.
-
The Manage Translations feature enables you to manage your language translations using translation collections. You should edit translations for custom forms using a translation collection because it is more efficient than making the edits on the Translation subtabs in the user interface. For more information, see Editing a Translation Collection.
Translations used in custom forms are primarily taken from custom field and custom segment definitions. You can override a field label on the custom form definition page, but it is often not the best approach. When you translate a field label on the Translation subtab of a custom field, the translated label overrides the language set up in Home > Set Preferences. Language changes will be visible only to users with the same language preference. For example, if you change the language from English (US) to English (International), only users with the English (International) language preference will see the changes. For more information about translations, see Configuring Multiple Languages.
-
If you use SDF and the Multi-Language feature is enabled, you can enter translations in forms in SDF XML. You should define translations using a translation collection. For more information, see Translation Collections as XML Definitions.
If you modify a form and enter a translation string directly in the form, the translations are not connected to terms or translations collections and are visible only to users with the same language preference. If you change your language preference, then you must also define the translations for that language.
-
Any settings defined for a specified role override the preferred form settings on the forms page. For Employee Center roles, only one form is ever made available to this type of role.
SuiteScript does not support direct access to the NetSuite UI through the Document Object Model (DOM). You should access the NetSuite UI only by using SuiteScript APIs. For information about using SuiteScript APIs to customize the UI, see SuiteScript 2.x Custom Pages.
Custom forms are supported in SuiteCloud Development Framework (SDF). SDF is a development framework that you can use to create SDF SuiteApps, or to customize NetSuite accounts, using an integrated development environment (IDE) on your local computer. SuiteCloud projects are file-based and use XML definitions of custom NetSuite objects. For more information, see SDF Custom Object and File Development in SuiteCloud Projects.
Custom Entry Forms
You use entry forms to enter information into NetSuite. To create your own custom entry forms, start with an existing standard form and customize it. On the custom form, you can rearrange, rename, hide, or disable fields, subtabs, and buttons. You can also make specific fields required, add custom fields, or apply custom code.
For detailed information about how to customize an entry form, see Creating Custom Entry and Transaction Forms and Customizing Address Forms.
After you have created a custom entry form, you can set it as the default form or preferred form for specific user roles. For more information, see Defining Preferred Forms and Setting Default Forms for Roles.
Custom Transaction Forms
You use transaction forms to enter and print transactions in NetSuite. To create your own custom transaction form, start with an existing standard form and customize it. On your custom form, you can rearrange, rename, hide, or disable fields, subtabs, and buttons. You can also make specific fields required, add custom fields, or apply custom code.
For detailed information about how to customize a transaction form, see Creating Custom Entry and Transaction Forms.
After you have created a custom transaction form, you can set it as the default form or preferred form for specific user roles. For more information, see Defining Preferred Forms and Setting Default Forms for Roles.
You can also link transaction forms together to create transaction workflows. For more information, see Linking Transaction Forms.
Important Note about New Fields and Custom Forms
Be aware that as part of a new release, new fields are sometimes added to NetSuite standard record types. Newly added fields for a record type are automatically added to any forms that you have customized for this record type. These fields are set to show on customized forms. If you do not want new fields to show on any of your customized forms, after your upgrade you need to modify these forms to remove or hide these fields. Keep in mind that newly created fields are typically coupled with forms and can be needed for some forms to function properly. You should test any customized forms where you remove or hide fields, to ensure that the forms still function properly.
Optimizing Custom Form Performance
To optimize form performance, use a minimalist approach with your custom forms. Ensure that you:
-
Limit the number of fields and sublists.
-
Minimize client scripts and workflows on forms and manage them carefully. For more information, see SuiteScript 2.x Client Script Type.
-
Implement server callbacks only as required.
-
Use the browser built-in code inspection tools to audit the scripts on a form page.
For information about form templates for customizing entry and transaction forms, see Form Templates.