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 Record Best Practices

Sonny Spencer, BFP, ACA

November 15, 2024

9

min read

Introduction

Custom records are one of the best NetSuite customization options available to NetSuite Administrators and NetSuite Developers. They allow NetSuite customers to tailor the application to meet their specific business needs. NetSuite is configured with a set of base tables used to gather and report on data. Through custom records, customers are able to add to these base tables to collect and report on additional data points that will help them run their business effectively.

Did you know?: NetSuite bundles and SuiteApps created by NetSuite’s partner ecosystem all use custom records as the backbone of their solutions? Next time you’re looking at your list of custom records, you should notice many of them are associated with a bundle and very likely locked down to maintain the integrity of the bundled solution.

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 Creating Custom Records

NetSuite really sets itself apart by giving users the ability to customize the application in a user friendly, point and click way. Yes, some customization requires integrations, scripting, etc. but many customization options don’t require any form of developer or coding experience at all. One of the most powerful customization options in NetSuite is the ability to create custom records.

By creating custom records, NetSuite Administrators can give their business the flexibility to capture data needed for day to day operations and introduce automation to processes that were previously manual and/or maintained externally to NetSuite.

Salto Tip: When creating a custom record in NetSuite, you can add it to the list of available saved search options by checking the “Include in Search Menu” checkbox as part of the custom record configuration. Also, the custom record will automatically be added as an available user role permission as part of the user role configuration.

Screenshot of custom record creation screen, with “Include in Search Menu” flagged

As you start planning to customize NetSuite with new custom record types here are a few considerations:

Plan Ahead

When you decide to start capturing new data points to help run your business, you need to ensure you are capturing the right data points and that the users populating the data understand exactly what they are populating. For each field on the custom record make sure the appropriate field type and validation are set. Changing them after the fact can lead to loss of data, so just because it is relatively straightforward to create a new custom record doesn’t mean you should do it without first making sure you deeply understand the requirements and outcomes needed by the business.

Keep it Simple

With all of the great flexibility NetSuite offers it is easy to get carried away and start building a solution that is far more complex than intended or desired. With any solution, first attempt to build a minimum viable product (MVP) before extending the solution. Taking this approach will force you to think about what is most critical to the business and deliver a solution that meets those requirements. Don’t forget that any customization you build needs to be managed and maintained, so the simpler the solution the better.

That being said, don’t forget that the most successful solutions generally combine custom records with workflows and Suitescripts. You will see many of them today in the form of SuiteApps in the SuiteApp Marketplace.

Parent/Child Relationships

As you think about the data structure for your new custom record make sure you consider parent/child relationships. Custom records can be child records to base NetSuite tables e.g. Customer Records, Invoice Records, Employee Records, etc. They can also be child records of other Custom Records. With that, you can establish a hierarchy of custom records to achieve creative solutions to business problems.

Screenshot shows a custom record from the NetSuite APM bundle with a parent/child relationship

For more information on parent/child record relationships see the NetSuite documentation here.

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 2024.2 release, NetSuite made an update on user security for custom records.

To provide more control over who can access custom record entries in your NetSuite environment, a more precise setup for users with required permissions has been introduced.

Specifically, the “No Permissions Required” access type has been renamed to “No Permissions Required for Internal Roles”. You can use this when you want to make a custom record available to internal roles without requiring permission. Further, additional configuration options become available to set access for external users. Additional details can be found here.

Link to the 2024.2 NetSuite Release Notes in SuiteAnswers.

Note: NetSuite account access is required to access these Release Notes.

Challenges with Managing Customization Manually

NetSuite custom records have many configuration options, so many in fact that it can be difficult to stay on top of all of them. Manually attempting to migrate them from one environment to another will not only take a huge amount of time, but is also prone to risk of error. If just one setting on the custom record is set incorrectly, it can have significant consequences in your Production environment.

For example, if the “Access Type” field value is set incorrectly as part of migration, this could result in end users having access to this record (and its underlying data) when they shouldn’t have that access. This might not be caught until it is too late. In the case where a custom record is created to capture employee feedback or some other confidential data point, not having the appropriate security in place on the custom record could have dire consequences for a business.

Another scenario to consider is when a custom record is part of a larger NetSuite customization that involves scripts, workflows, saved searches and even other custom records. Where a particular solution has this many related customizations, it can make the migration of this solution to Production very painful for NetSuite Administrators when performed manually. Not only would this be a labor intensive deployment process, but there is a significant possibility of running into environment dependency issues, which will only slow the process down further.

Having the ability to quickly compare NetSuite environments ahead of time would benefit the NetSuite Admin Team massively. As will the ability to deploy larger customizations to Production seamlessly.

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

As we have already discussed, it can be incredibly painful for any NetSuite Administrator to manage NetSuite custom records between different environments, especially if attempting to do it manually.

Attempting to migrate custom record solutions manually results in a HIGH level of risk given the large number of configuration settings on any one custom record, let alone all related customizations.

Fortunately, NetSuite does offer some native solutions to managing the migration of these solutions. Copy to Account, SuiteBundler and the SuiteCloud Development Framework (SDF) are options to consider, each with their own pros and cons. Review these native customization migration tools to see which would be the most effective for migrating your particular customized solution to the Production environment.

Many NetSuite Admin teams are working across numerous NetSuite environments, all of which contain active development and customization. With all these moving parts to accommodate, there are alternative solutions to consider. Salto is one such solution - check out the Salto SuiteApp. The Salto platform is going to allow you to perform environment comparisons across the various environments you manage, making for a much easier way to identify any potential deployment conflicts in advance vs finding out mid-deployment or even worse, post deployment!

When working with custom records the potential for deployment conflicts is higher due to their connectivity with many other customization areas in NetSuite. This will slow down any deployment process by forcing a more in-depth review of potential conflicts or even accepting the creation of duplicate customization components in Production and the need to clean up after the fact. Not ideal.

In addition, Salto gives NetSuite Administrators the flexibility to execute deployment rollbacks quickly and seamlessly in the situation where a deployment to Production was pushed and unexpected issues arose. While this should not be a frequent occurrence, it is generally a high priority when a rollback is needed, so having the ability to manage this within minutes and not hours is a game changer for any NetSuite Admin Team.

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

Best Practices When Working With NetSuite Custom Records

  1. Plan Your Custom Record Implementation - Before diving into development, carefully plan the design, functionality, and user experience of your custom record. Involve end users in the planning process to ensure their needs are met and the solution is simple and intuitive.
  2. Leverage Custom Record Permissions - Restrict access to your custom record by setting the "Access Type" field to "Require Custom Record Entries Permission." This ensures that only authorized users can interact with the record.
  3. Optimize Custom Record Design - Keep your custom record design simple and focused on essential fields. Avoid creating unnecessary fields that could clutter the interface and confuse your end users.
  4. Integrate Custom Records into Workflows - Utilize custom records to streamline scripting and workflow processes by passing parameters and reducing hardcoding. More complex approval routing could lend itself to a custom record solution, paired with a custom approval workflow.
  5. Consider Third-Party Solutions - Before embarking on significant custom development, explore the SuiteApp Marketplace for pre-built solutions that may address your specific business needs.
  6. Ensure Proper Training -  Provide comprehensive training to your end user on how to effectively use the custom record. Include clear instructions and helpful field-level notes to enhance user experience. Spend less time on managing your deployments and more time engaging your end users to increase adoption and satisfaction.
  7. Document Your Custom Record - Create detailed documentation that outlines the purpose, functionality, and any related scripts and workflows of your custom record. This will make life easier when considering future maintenance and troubleshooting.
  8. Establish Parent-Child Relationships - Link your custom records to appropriate parent records by creating custom fields with the "Record is Parent" option checked. This helps organize and structure your data in a more meaningful way.
  9. Utilize Deployment Tools - Leverage deployment tools to migrate your custom records from Sandbox to Production, reducing the risk of human error and ensuring a smooth transition.
  10. Understand Custom Record Functionality - Take the time to thoroughly understand the purpose and behavior of each checkbox and field available in the custom record configuration.

Salto Tip: Check out this FREE NetSuite Administrator training course on Salto Leap for a detailed review of custom record configuration.

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

All NetSuite users should consider the potential of custom records to streamline their specific business processes. While NetSuite Administrators and Developers are typically responsible for their technical implementation, end-users often identify the core business needs that custom records can address.

Custom records provide a powerful tool for tailoring NetSuite to unique business requirements. By creating custom fields and records, NetSuite customers can capture and store additional data that aligns precisely with their business reporting needs. If you haven't explored custom records yet, consider the various business scenarios where capturing extra data points within NetSuite could be beneficial.

Before diving into a complex custom record solution, it's worth investigating pre-built options available natively within NetSuite and the SuiteApp marketplace. While many business needs are unique, others are common across industries. The SuiteApp marketplace offers a wealth of solutions that can address common requirements, saving time and effort.

Lastly, if you’re a NetSuite Administrator, make sure to take advantage of the tools available to you to manage your custom record customizations seamlessly.

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 Record Best Practices

Sonny Spencer, BFP, ACA

November 15, 2024

9

min read

Introduction

Custom records are one of the best NetSuite customization options available to NetSuite Administrators and NetSuite Developers. They allow NetSuite customers to tailor the application to meet their specific business needs. NetSuite is configured with a set of base tables used to gather and report on data. Through custom records, customers are able to add to these base tables to collect and report on additional data points that will help them run their business effectively.

Did you know?: NetSuite bundles and SuiteApps created by NetSuite’s partner ecosystem all use custom records as the backbone of their solutions? Next time you’re looking at your list of custom records, you should notice many of them are associated with a bundle and very likely locked down to maintain the integrity of the bundled solution.

What if Zendesk was 4x less work?

Request a Demo Get started with Salto

Importance of Creating Custom Records

NetSuite really sets itself apart by giving users the ability to customize the application in a user friendly, point and click way. Yes, some customization requires integrations, scripting, etc. but many customization options don’t require any form of developer or coding experience at all. One of the most powerful customization options in NetSuite is the ability to create custom records.

By creating custom records, NetSuite Administrators can give their business the flexibility to capture data needed for day to day operations and introduce automation to processes that were previously manual and/or maintained externally to NetSuite.

Salto Tip: When creating a custom record in NetSuite, you can add it to the list of available saved search options by checking the “Include in Search Menu” checkbox as part of the custom record configuration. Also, the custom record will automatically be added as an available user role permission as part of the user role configuration.

Screenshot of custom record creation screen, with “Include in Search Menu” flagged

As you start planning to customize NetSuite with new custom record types here are a few considerations:

Plan Ahead

When you decide to start capturing new data points to help run your business, you need to ensure you are capturing the right data points and that the users populating the data understand exactly what they are populating. For each field on the custom record make sure the appropriate field type and validation are set. Changing them after the fact can lead to loss of data, so just because it is relatively straightforward to create a new custom record doesn’t mean you should do it without first making sure you deeply understand the requirements and outcomes needed by the business.

Keep it Simple

With all of the great flexibility NetSuite offers it is easy to get carried away and start building a solution that is far more complex than intended or desired. With any solution, first attempt to build a minimum viable product (MVP) before extending the solution. Taking this approach will force you to think about what is most critical to the business and deliver a solution that meets those requirements. Don’t forget that any customization you build needs to be managed and maintained, so the simpler the solution the better.

That being said, don’t forget that the most successful solutions generally combine custom records with workflows and Suitescripts. You will see many of them today in the form of SuiteApps in the SuiteApp Marketplace.

Parent/Child Relationships

As you think about the data structure for your new custom record make sure you consider parent/child relationships. Custom records can be child records to base NetSuite tables e.g. Customer Records, Invoice Records, Employee Records, etc. They can also be child records of other Custom Records. With that, you can establish a hierarchy of custom records to achieve creative solutions to business problems.

Screenshot shows a custom record from the NetSuite APM bundle with a parent/child relationship

For more information on parent/child record relationships see the NetSuite documentation here.

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 2024.2 release, NetSuite made an update on user security for custom records.

To provide more control over who can access custom record entries in your NetSuite environment, a more precise setup for users with required permissions has been introduced.

Specifically, the “No Permissions Required” access type has been renamed to “No Permissions Required for Internal Roles”. You can use this when you want to make a custom record available to internal roles without requiring permission. Further, additional configuration options become available to set access for external users. Additional details can be found here.

Link to the 2024.2 NetSuite Release Notes in SuiteAnswers.

Note: NetSuite account access is required to access these Release Notes.

Challenges with Managing Customization Manually

NetSuite custom records have many configuration options, so many in fact that it can be difficult to stay on top of all of them. Manually attempting to migrate them from one environment to another will not only take a huge amount of time, but is also prone to risk of error. If just one setting on the custom record is set incorrectly, it can have significant consequences in your Production environment.

For example, if the “Access Type” field value is set incorrectly as part of migration, this could result in end users having access to this record (and its underlying data) when they shouldn’t have that access. This might not be caught until it is too late. In the case where a custom record is created to capture employee feedback or some other confidential data point, not having the appropriate security in place on the custom record could have dire consequences for a business.

Another scenario to consider is when a custom record is part of a larger NetSuite customization that involves scripts, workflows, saved searches and even other custom records. Where a particular solution has this many related customizations, it can make the migration of this solution to Production very painful for NetSuite Administrators when performed manually. Not only would this be a labor intensive deployment process, but there is a significant possibility of running into environment dependency issues, which will only slow the process down further.

Having the ability to quickly compare NetSuite environments ahead of time would benefit the NetSuite Admin Team massively. As will the ability to deploy larger customizations to Production seamlessly.

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

As we have already discussed, it can be incredibly painful for any NetSuite Administrator to manage NetSuite custom records between different environments, especially if attempting to do it manually.

Attempting to migrate custom record solutions manually results in a HIGH level of risk given the large number of configuration settings on any one custom record, let alone all related customizations.

Fortunately, NetSuite does offer some native solutions to managing the migration of these solutions. Copy to Account, SuiteBundler and the SuiteCloud Development Framework (SDF) are options to consider, each with their own pros and cons. Review these native customization migration tools to see which would be the most effective for migrating your particular customized solution to the Production environment.

Many NetSuite Admin teams are working across numerous NetSuite environments, all of which contain active development and customization. With all these moving parts to accommodate, there are alternative solutions to consider. Salto is one such solution - check out the Salto SuiteApp. The Salto platform is going to allow you to perform environment comparisons across the various environments you manage, making for a much easier way to identify any potential deployment conflicts in advance vs finding out mid-deployment or even worse, post deployment!

When working with custom records the potential for deployment conflicts is higher due to their connectivity with many other customization areas in NetSuite. This will slow down any deployment process by forcing a more in-depth review of potential conflicts or even accepting the creation of duplicate customization components in Production and the need to clean up after the fact. Not ideal.

In addition, Salto gives NetSuite Administrators the flexibility to execute deployment rollbacks quickly and seamlessly in the situation where a deployment to Production was pushed and unexpected issues arose. While this should not be a frequent occurrence, it is generally a high priority when a rollback is needed, so having the ability to manage this within minutes and not hours is a game changer for any NetSuite Admin Team.

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

Best Practices When Working With NetSuite Custom Records

  1. Plan Your Custom Record Implementation - Before diving into development, carefully plan the design, functionality, and user experience of your custom record. Involve end users in the planning process to ensure their needs are met and the solution is simple and intuitive.
  2. Leverage Custom Record Permissions - Restrict access to your custom record by setting the "Access Type" field to "Require Custom Record Entries Permission." This ensures that only authorized users can interact with the record.
  3. Optimize Custom Record Design - Keep your custom record design simple and focused on essential fields. Avoid creating unnecessary fields that could clutter the interface and confuse your end users.
  4. Integrate Custom Records into Workflows - Utilize custom records to streamline scripting and workflow processes by passing parameters and reducing hardcoding. More complex approval routing could lend itself to a custom record solution, paired with a custom approval workflow.
  5. Consider Third-Party Solutions - Before embarking on significant custom development, explore the SuiteApp Marketplace for pre-built solutions that may address your specific business needs.
  6. Ensure Proper Training -  Provide comprehensive training to your end user on how to effectively use the custom record. Include clear instructions and helpful field-level notes to enhance user experience. Spend less time on managing your deployments and more time engaging your end users to increase adoption and satisfaction.
  7. Document Your Custom Record - Create detailed documentation that outlines the purpose, functionality, and any related scripts and workflows of your custom record. This will make life easier when considering future maintenance and troubleshooting.
  8. Establish Parent-Child Relationships - Link your custom records to appropriate parent records by creating custom fields with the "Record is Parent" option checked. This helps organize and structure your data in a more meaningful way.
  9. Utilize Deployment Tools - Leverage deployment tools to migrate your custom records from Sandbox to Production, reducing the risk of human error and ensuring a smooth transition.
  10. Understand Custom Record Functionality - Take the time to thoroughly understand the purpose and behavior of each checkbox and field available in the custom record configuration.

Salto Tip: Check out this FREE NetSuite Administrator training course on Salto Leap for a detailed review of custom record configuration.

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

All NetSuite users should consider the potential of custom records to streamline their specific business processes. While NetSuite Administrators and Developers are typically responsible for their technical implementation, end-users often identify the core business needs that custom records can address.

Custom records provide a powerful tool for tailoring NetSuite to unique business requirements. By creating custom fields and records, NetSuite customers can capture and store additional data that aligns precisely with their business reporting needs. If you haven't explored custom records yet, consider the various business scenarios where capturing extra data points within NetSuite could be beneficial.

Before diving into a complex custom record solution, it's worth investigating pre-built options available natively within NetSuite and the SuiteApp marketplace. While many business needs are unique, others are common across industries. The SuiteApp marketplace offers a wealth of solutions that can address common requirements, saving time and effort.

Lastly, if you’re a NetSuite Administrator, make sure to take advantage of the tools available to you to manage your custom record customizations seamlessly.

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.