Salto for
NetSuite
Articles
SHARE
Sonny Spencer, BFP, ACA
December 20, 2024
11
min read
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
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:
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!”
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.
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.
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.
Link to the 2024.2 NetSuite Release Notes
Link to the 2024.1 NetSuite Release Notes
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.
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.
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.
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.
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!
Salto for
NetSuite
NetSuite
SHARE
Sonny Spencer, BFP, ACA
December 20, 2024
11
min read
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
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:
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!”
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.
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.
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.
Link to the 2024.2 NetSuite Release Notes
Link to the 2024.1 NetSuite Release Notes
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.
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.
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.
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.
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!