Sort by Topics, Resources
Clear
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Salto for

NetSuite

Articles

SHARE

NetSuite Customization - Custom Form Best Practices

Sonny Spencer, BFP, ACA

December 20, 2024

11

min read

Introduction

Customizing your NetSuite forms is one of the simplest and yet most effective ways to streamline your end user experience with the platform. Have you ever taken the time to look at a record in the system to see how many fields are populated vs not populated? NetSuite Administrators have complete control over the page layout for the vast majority of records in the system and yet this customization feature is generally underutilized.

Part of the reason is that custom form changes take time and sometimes some trial and error is needed to get the layout just right. Once you finally have your custom form the way you want it, the last thing you want to do is manually migrate those changes between environments. In this blog post we will explore some of the options you have to streamline this process.

Did you know?: There are different display types for fields on custom forms.

Normal - The default display type that is used for adding data to the record.

Disabled - These fields cannot be edited and only displayed if they have a default value or have a value sourced from another record/custom code. For this reason, you cannot disable a required field unless the field has a default value.

Inline Text - These fields are generally used to provide the end user with information, as the value cannot be directly edited. Values are generally derived from formulas, calculations and other field values. Having many inline fields on any given record can have an impact on system performance.

Hidden - As you would expect, these fields cannot be viewed on the record it applies to. The value however can still be reported on e.g. via saved search. Note this feature should not be used in place of field level security - hidden custom fields are embedded in the page layout. As such, their values can be found in the page source.

Screenshot showing the display type options for a custom field

Experience the Ease & Confidence of NetSuite Customizations with Salto

Automate the way you migrate Jira configurations from sandbox to production

STAY UP TO DATE

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Importance of getting your Custom Forms right in NetSuite

The difference between a negative and positive experience for NetSuite end users will sometimes come down to how simple or complex the custom forms they interact with have been configured.

As you start to think about customizing forms in NetSuite here are a few considerations:

Keep it simple

Start with the basics. Think about the key attributes you need to capture for the given record. For an invoice record, at the header you need to capture the customer, the transaction date and the currency (if applicable). Are other fields necessary? Due date can be derived from the customer terms and the posting period can be derived from the transaction date. Exchange rate is derived from the currency selected and the functional currency of the subsidiary the transaction is being booked to.

In short, you may only have a handful of input fields that drive the values of a larger group of fields. Make sure that you have the input fields at the top of the page and not mixed in with derived field values. This can cause confusion for your end users and slow them down. If your end users are processing large volumes of data, the difference between 30 seconds to process an invoice and 60 seconds is the equivalent of a full working day per month assuming you are generating around 1,000 invoices/month. Over the course of a year you’d be looking at 12 full working days saved, just by simplifying the form for your end users. So ask yourself, is the ROI there to justify spending time on customizing your forms? Your answer should be a resounding “yes!”

Lock down forms

The “Custom Form” field on a record should generally be locked down. Asking your end users to pick from the dropdown menu not only opens the risk of human error, but takes longer as the page will refresh once a new form is selected.

Custom forms can be locked down on user roles by restricting the user to a specific form for a specific record type. You should not be using the “Standard” form, as these have no customization applied to them, nor should you want your end users populating a record with this form as a result.

Screenshot showing the ability to restrict a custom transaction form to a custom user role

Salto Tip: If you don’t set a specific form to be “restricted” on a user role, future custom forms will become available to the role unless you remember to revisit the roles and disable the form.

Leverage subtabs and sublists

You have the ability to create new subtabs and sublists to simplify the page layout as well as overall system navigation in NetSuite. The “Custom” subtab is often a catch all for custom fields created in the system when there is an argument to hide it altogether. Custom fields that need to be populated on a form should be displayed in the appropriate header section or subtab.

Create new subtabs to group related fields for ease of reference on the record itself. Fields that require data entry should be kept at the header section, save for transaction records with line level data to be captured. Do not have fields to be populated hidden in the 6th subtab to the left. Users will forget to populate them and if those fields are mandatory they will only become a point of frustration for your end users when they attempt to save a given record.

Salto Tip: Adjust the order of the subtabs on a form to make sure that the most frequently used subtab is always displayed on the far left i.e. it is the tab that displays by default. For some record types e.g. transactions, this is pretty self-explanatory, but for entity records it can make a big difference to your end users.

NetSuite continues to innovate across all key areas of the platform. Let’s explore some of the latest enhancements to these features in 2024.

STAY UP TO DATE

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

New NetSuite Features

With the ability to customize forms in NetSuite being long established and relatively straightforward to use, there is not much in the way of system enhancements in this area. There are a couple of things to note from the 2024 releases tied to custom forms.

  • Related to revenue recognition field mapping enhancements, a new optional field for “Custom Form” was added to the revenue recognition field map page. This field lets you specify the custom form you want to create the mapping from based on the selected transaction type.
  • Related to India localization SuiteTax engine enhancements, there is now support to view the related pages in your preferred language, however this does not apply to your custom forms or custom lists.

Link to the 2024.2 NetSuite Release Notes

Link to the 2024.1 NetSuite Release Notes

Challenges with Managing Customization Manually

Customizing NetSuite forms is generally done in bulk and so the volume of changes made can be significant and difficult to keep track of. If you tried to manually replicate the form changes from one environment to another it would not only take a very long time (even if you have multiple screens), but you will almost certainly miss something. Some missed customization changes will be relatively benign, while others could have a significant impact to the extent a field is tied to a key process and was accidentally omitted from the form.

Missing fields is one of the potential issues. Another issue to think about would be populating the incorrect display type for a given field. Say you have an external suitelet that your customers interact with and the associated form in NetSuite is updated to set a field type from “Normal” to “Disabled”, this could result in errors processing the customer’s data and have a direct impact on your customers’ experience with your business.

To mitigate some of the risk of human error, some NetSuite Administrators will perform additional checks and balances to ensure everything has been migrated completely and accurately. Sometimes this will involve having multiple members of the NetSuite Team on a call to oversee the process, so now not only is the development process time-consuming, but the deployment process is even more time consuming when the NetSuite Admin Team could (really should) be focused on other value-add initiatives.

Not sure how impactful this is to your business? Check out the cost of getting deployments wrong (with a calculator) here.

Now, let’s explore solutions to these challenges.

Solutions for Managing NetSuite Customizations

Have you tried to migrate your NetSuite form customizations from one environment to another? If so, you will know how painfully time consuming it can be, even for a single form and especially when creating a brand new form.

The process is not only time consuming, but the risk of error is HIGH just given the almost infinite number of configuration options available.

Example custom form configuration options available on a custom transaction form

NetSuite provides a number of out of the box tools to help manage the customization migration process for custom forms in NetSuite. These native solutions include Copy to Account, Suitebundler and SuiteCloud Development Framework (SDF). These solutions support specific migrations well, so you’ll have to review each option and confirm which one will work best for the customization you are attempting to migrate from your NetSuite Sandbox (or Development account) to Production.

NetSuite Administrators are also exploring alternative solutions. One such solution is Salto. Salto is a SuiteApp helping NetSuite teams in a number of different ways. It allows you to perform environment comparisons across all of your NetSuite environments. This is a game changer for quickly identifying potential deployment conflicts in advance.

Salto also provides the flexibility to execute deployment rollbacks quickly and seamlessly. Hopefully this is not commonplace in your business, but when a rollback is needed it is usually a top priority to execute. Without detailed written instructions it can be challenging the perform the rollback and know that you have executed it completely and accurately. This is a big safety net for any NetSuite Admin Team, during critical periods.

Now that you have successfully deployed your custom forms to Production, let’s consider some best practices in this area.

Best Practices When Working With NetSuite Custom Forms

  1. Take a targeted approach - Meet with your end users to understand their biggest pain points and tailor form layout changes to optimize their experience.
  2. Field order matters - Carefully sequence the fields so that end users can tab through and quickly populate all required input fields. This applies at both the header and line level.
  3. Restrict form access - Keep your end users focused by enforcing specific entry forms for each record type they engage with.
  4. Design first - It is easy to get carried away and jump into form customization. Take the time to design the ideal page layout first, with input from your end users.
  5. Streamline customization migration - Stop migrating custom form changes manually and take advantage of the tools at your disposal to make this process seamless and repeatable.
  6. Leverage sublists - Enhance system navigation by creating your own sublists and making them available to your end users on dedicated subtabs.
  7. Perform regular reviews -  Conduct periodic audits of your custom forms. As time goes by and more custom fields are added to the environment it doesn’t take too long before the forms start to cause challenges for end users again.
  8. Naming conventions - Consistent naming conventions are important to support the ongoing maintenance of these customizations and ease of understanding for new users and new Administrators to the NetSuite environment.
  9. Confirm field necessity - Ask yourself the question “why is this field needed?” and if you don’t have a good answer, it should likely be removed from the form altogether. It can always be added back at a later date.
  10. Link your forms - For process flows that have related data fields e.g. Opportunity > Sales Order > Invoice > Credit Memo, make sure custom forms are connected to ensure data consistency across the entire process.

Salto Tip: Check out this FREE NetSuite Administrator training course on Salto Leap for a detailed review of NetSuite custom layouts, including how to work with custom subtabs and sublists.

Useful references

For more Best Practices to manage your NetSuite customizations, check out Salto’s blog posts that explore some of the things that NetSuite Developers and NetSuite Administrators should be leveraging within the NetSuite ecosystem.

Final thoughts

The ability to customize your NetSuite custom forms in a point and click manner is one of the best customization features that NetSuite has to offer. NetSuite is giving you the key to completely modify the look and feel of the application, so make sure you take the time to do just that. Before jumping in, take the time to connect with your end users to understand their pain points and come prepared with data that supports which fields have been populated vs those that are consistently left blank.

If you haven’t looked at your custom form page layouts in a while - what are you waiting for? Your end users will thank you for it later!

WRITTEN BY OUR EXPERT

Sonny Spencer, BFP, ACA

Director of Finance Operations

Sonny is a seasoned NetSuite veteran, with more than 7 years experience implementing NetSuite and architecting NetSuite solutions for a wide variety of public and private companies, on a global scale. He leverages his background both as a Chartered Accountant and Certified NetSuite Administrator to design and build NetSuite solutions that solve real world problems. Sonny is an active member of the NetSuite community, participating in local NetSuite meetups, NetSuite forums and groups focused on financial system optimization.

Sort by Topics, Resources
Clear
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Salto for

NetSuite

NetSuite

SHARE

NetSuite Customization - Custom Form Best Practices

Sonny Spencer, BFP, ACA

December 20, 2024

11

min read

Introduction

Customizing your NetSuite forms is one of the simplest and yet most effective ways to streamline your end user experience with the platform. Have you ever taken the time to look at a record in the system to see how many fields are populated vs not populated? NetSuite Administrators have complete control over the page layout for the vast majority of records in the system and yet this customization feature is generally underutilized.

Part of the reason is that custom form changes take time and sometimes some trial and error is needed to get the layout just right. Once you finally have your custom form the way you want it, the last thing you want to do is manually migrate those changes between environments. In this blog post we will explore some of the options you have to streamline this process.

Did you know?: There are different display types for fields on custom forms.

Normal - The default display type that is used for adding data to the record.

Disabled - These fields cannot be edited and only displayed if they have a default value or have a value sourced from another record/custom code. For this reason, you cannot disable a required field unless the field has a default value.

Inline Text - These fields are generally used to provide the end user with information, as the value cannot be directly edited. Values are generally derived from formulas, calculations and other field values. Having many inline fields on any given record can have an impact on system performance.

Hidden - As you would expect, these fields cannot be viewed on the record it applies to. The value however can still be reported on e.g. via saved search. Note this feature should not be used in place of field level security - hidden custom fields are embedded in the page layout. As such, their values can be found in the page source.

Screenshot showing the display type options for a custom field

What if Zendesk was 4x less work?

Request a Demo Get started with Salto

Importance of getting your Custom Forms right in NetSuite

The difference between a negative and positive experience for NetSuite end users will sometimes come down to how simple or complex the custom forms they interact with have been configured.

As you start to think about customizing forms in NetSuite here are a few considerations:

Keep it simple

Start with the basics. Think about the key attributes you need to capture for the given record. For an invoice record, at the header you need to capture the customer, the transaction date and the currency (if applicable). Are other fields necessary? Due date can be derived from the customer terms and the posting period can be derived from the transaction date. Exchange rate is derived from the currency selected and the functional currency of the subsidiary the transaction is being booked to.

In short, you may only have a handful of input fields that drive the values of a larger group of fields. Make sure that you have the input fields at the top of the page and not mixed in with derived field values. This can cause confusion for your end users and slow them down. If your end users are processing large volumes of data, the difference between 30 seconds to process an invoice and 60 seconds is the equivalent of a full working day per month assuming you are generating around 1,000 invoices/month. Over the course of a year you’d be looking at 12 full working days saved, just by simplifying the form for your end users. So ask yourself, is the ROI there to justify spending time on customizing your forms? Your answer should be a resounding “yes!”

Lock down forms

The “Custom Form” field on a record should generally be locked down. Asking your end users to pick from the dropdown menu not only opens the risk of human error, but takes longer as the page will refresh once a new form is selected.

Custom forms can be locked down on user roles by restricting the user to a specific form for a specific record type. You should not be using the “Standard” form, as these have no customization applied to them, nor should you want your end users populating a record with this form as a result.

Screenshot showing the ability to restrict a custom transaction form to a custom user role

Salto Tip: If you don’t set a specific form to be “restricted” on a user role, future custom forms will become available to the role unless you remember to revisit the roles and disable the form.

Leverage subtabs and sublists

You have the ability to create new subtabs and sublists to simplify the page layout as well as overall system navigation in NetSuite. The “Custom” subtab is often a catch all for custom fields created in the system when there is an argument to hide it altogether. Custom fields that need to be populated on a form should be displayed in the appropriate header section or subtab.

Create new subtabs to group related fields for ease of reference on the record itself. Fields that require data entry should be kept at the header section, save for transaction records with line level data to be captured. Do not have fields to be populated hidden in the 6th subtab to the left. Users will forget to populate them and if those fields are mandatory they will only become a point of frustration for your end users when they attempt to save a given record.

Salto Tip: Adjust the order of the subtabs on a form to make sure that the most frequently used subtab is always displayed on the far left i.e. it is the tab that displays by default. For some record types e.g. transactions, this is pretty self-explanatory, but for entity records it can make a big difference to your end users.

NetSuite continues to innovate across all key areas of the platform. Let’s explore some of the latest enhancements to these features in 2024.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

New NetSuite Features

With the ability to customize forms in NetSuite being long established and relatively straightforward to use, there is not much in the way of system enhancements in this area. There are a couple of things to note from the 2024 releases tied to custom forms.

  • Related to revenue recognition field mapping enhancements, a new optional field for “Custom Form” was added to the revenue recognition field map page. This field lets you specify the custom form you want to create the mapping from based on the selected transaction type.
  • Related to India localization SuiteTax engine enhancements, there is now support to view the related pages in your preferred language, however this does not apply to your custom forms or custom lists.

Link to the 2024.2 NetSuite Release Notes

Link to the 2024.1 NetSuite Release Notes

Challenges with Managing Customization Manually

Customizing NetSuite forms is generally done in bulk and so the volume of changes made can be significant and difficult to keep track of. If you tried to manually replicate the form changes from one environment to another it would not only take a very long time (even if you have multiple screens), but you will almost certainly miss something. Some missed customization changes will be relatively benign, while others could have a significant impact to the extent a field is tied to a key process and was accidentally omitted from the form.

Missing fields is one of the potential issues. Another issue to think about would be populating the incorrect display type for a given field. Say you have an external suitelet that your customers interact with and the associated form in NetSuite is updated to set a field type from “Normal” to “Disabled”, this could result in errors processing the customer’s data and have a direct impact on your customers’ experience with your business.

To mitigate some of the risk of human error, some NetSuite Administrators will perform additional checks and balances to ensure everything has been migrated completely and accurately. Sometimes this will involve having multiple members of the NetSuite Team on a call to oversee the process, so now not only is the development process time-consuming, but the deployment process is even more time consuming when the NetSuite Admin Team could (really should) be focused on other value-add initiatives.

Not sure how impactful this is to your business? Check out the cost of getting deployments wrong (with a calculator) here.

Now, let’s explore solutions to these challenges.

Solutions for Managing NetSuite Customizations

Have you tried to migrate your NetSuite form customizations from one environment to another? If so, you will know how painfully time consuming it can be, even for a single form and especially when creating a brand new form.

The process is not only time consuming, but the risk of error is HIGH just given the almost infinite number of configuration options available.

Example custom form configuration options available on a custom transaction form

NetSuite provides a number of out of the box tools to help manage the customization migration process for custom forms in NetSuite. These native solutions include Copy to Account, Suitebundler and SuiteCloud Development Framework (SDF). These solutions support specific migrations well, so you’ll have to review each option and confirm which one will work best for the customization you are attempting to migrate from your NetSuite Sandbox (or Development account) to Production.

NetSuite Administrators are also exploring alternative solutions. One such solution is Salto. Salto is a SuiteApp helping NetSuite teams in a number of different ways. It allows you to perform environment comparisons across all of your NetSuite environments. This is a game changer for quickly identifying potential deployment conflicts in advance.

Salto also provides the flexibility to execute deployment rollbacks quickly and seamlessly. Hopefully this is not commonplace in your business, but when a rollback is needed it is usually a top priority to execute. Without detailed written instructions it can be challenging the perform the rollback and know that you have executed it completely and accurately. This is a big safety net for any NetSuite Admin Team, during critical periods.

Now that you have successfully deployed your custom forms to Production, let’s consider some best practices in this area.

Best Practices When Working With NetSuite Custom Forms

  1. Take a targeted approach - Meet with your end users to understand their biggest pain points and tailor form layout changes to optimize their experience.
  2. Field order matters - Carefully sequence the fields so that end users can tab through and quickly populate all required input fields. This applies at both the header and line level.
  3. Restrict form access - Keep your end users focused by enforcing specific entry forms for each record type they engage with.
  4. Design first - It is easy to get carried away and jump into form customization. Take the time to design the ideal page layout first, with input from your end users.
  5. Streamline customization migration - Stop migrating custom form changes manually and take advantage of the tools at your disposal to make this process seamless and repeatable.
  6. Leverage sublists - Enhance system navigation by creating your own sublists and making them available to your end users on dedicated subtabs.
  7. Perform regular reviews -  Conduct periodic audits of your custom forms. As time goes by and more custom fields are added to the environment it doesn’t take too long before the forms start to cause challenges for end users again.
  8. Naming conventions - Consistent naming conventions are important to support the ongoing maintenance of these customizations and ease of understanding for new users and new Administrators to the NetSuite environment.
  9. Confirm field necessity - Ask yourself the question “why is this field needed?” and if you don’t have a good answer, it should likely be removed from the form altogether. It can always be added back at a later date.
  10. Link your forms - For process flows that have related data fields e.g. Opportunity > Sales Order > Invoice > Credit Memo, make sure custom forms are connected to ensure data consistency across the entire process.

Salto Tip: Check out this FREE NetSuite Administrator training course on Salto Leap for a detailed review of NetSuite custom layouts, including how to work with custom subtabs and sublists.

Useful references

For more Best Practices to manage your NetSuite customizations, check out Salto’s blog posts that explore some of the things that NetSuite Developers and NetSuite Administrators should be leveraging within the NetSuite ecosystem.

Final thoughts

The ability to customize your NetSuite custom forms in a point and click manner is one of the best customization features that NetSuite has to offer. NetSuite is giving you the key to completely modify the look and feel of the application, so make sure you take the time to do just that. Before jumping in, take the time to connect with your end users to understand their pain points and come prepared with data that supports which fields have been populated vs those that are consistently left blank.

If you haven’t looked at your custom form page layouts in a while - what are you waiting for? Your end users will thank you for it later!

WRITTEN BY OUR EXPERT

Sonny Spencer, BFP, ACA

Director of Finance Operations

Sonny is a seasoned NetSuite veteran, with more than 7 years experience implementing NetSuite and architecting NetSuite solutions for a wide variety of public and private companies, on a global scale. He leverages his background both as a Chartered Accountant and Certified NetSuite Administrator to design and build NetSuite solutions that solve real world problems. Sonny is an active member of the NetSuite community, participating in local NetSuite meetups, NetSuite forums and groups focused on financial system optimization.