Salto for
NetSuite
Articles
SHARE
Sonny Spencer, BFP, ACA
December 6, 2023
12
min read
One of the primary reasons companies implement NetSuite is because of the ability to customize the system to meet the specific needs of the business. That includes some of the basics: custom fields, custom forms, custom PDFs, etc. One customization type that often gets overlooked and you should be using is custom records.
NetSuite custom scripts and workflows allow for the processing of business logic in complex and innovative ways. Custom records allow for the building of brand new database tables to write data to.
So why is this such an important customization type? It allows any business using NetSuite the ability to capture data that they care about the most. Yes, customer data, vendor data, project data, etc. are all mission critical data points, but what about data that cannot be captured natively in the system or data that is typically captured in an external system? NetSuite allows its customers to bring their data into a single source of truth or “Suite”, giving end users access to required data points within seconds.
Custom records are a customization type offered by NetSuite that allows users to capture a dataset that is unique to their business. Custom records effectively stand up new tables in the NetSuite database. The join between custom records and existing system records is established through parent/child relationships.
To an end user, they are simply another area of NetSuite upon which they need to capture the relevant data to perform their jobs. They can appear in standard NetSuite navigation menus, so that they appear to be native solutions, when in fact they have been customized to meet business needs.
Custom records are designed to capture various types of information. They offer flexibility by enabling users to add and modify fields (table columns) based upon changing business needs, allowing for more tailored approaches to be taken toward data management.
You can navigate to the existing custom records in your NetSuite environment as follows:
Customization -> Lists, Records, & Fields -> Record Types
Screenshot that lists all custom records in a specific NetSuite environment
If you are wondering why some custom records have a lock icon next to them and others don’t, it is because those particular custom records have been intentionally locked by the bundle owner to ensure that NetSuite users do not modify the contents of the custom records. Modifying these custom records could result in inadvertent system behavior, so they are locked and managed centrally.
As already discussed, custom records are created to support business-specific processes and related reporting . They can be created standalone or combined with other NetSuite customizations to build a more advanced solution. Depending upon the complexity of the solution, these solutions can be created by the NetSuite Administrators without the need for development work.
Many NetSuite partners build their custom solutions by leveraging custom records. Have you ever noticed that when you install the bundle of a NetSuite partner that new saved search options appear? Or perhaps new role permissions? This is because when a custom record is added to the system, the record is tied to other areas of the NetSuite environment, including reporting and role permission functionality. Custom records allow NetSuite partners to create innovative and intricate solutions for NetSuite customers.
Custom records can be joined with other records in a hierarchical manner. You can create a child record of any existing NetSuite record type, such as customer survey record attached to the customer record. You can also create a child record of any existing NetSuite custom record type. We will explore this further when we consider some practical examples.
Have you ever been asked to “track” certain data points that you don’t have today, or consider a solution external to NetSuite to track said data points? When those questions are inevitably raised, you should at least consider whether the request can be solved with a NetSuite custom record, or multiple custom records.
In some cases, the data and related processes can be managed and maintained directly within NetSuite. This is beneficial for many reasons. First, cost. Why pay for a separate database when you can manage within the powerful one you already have? Administration becomes easier, as you are managing and maintaining a single platform vs multiple. As a result it avoids the need for system integrations to keep your data and records in sync across platforms. User adoption is simpler, especially for users who are already familiar with NetSuite.
You cannot solve every business challenge with custom records, but it is something you should be thinking about before jumping to a pre-built solution that sits outside the NetSuite ecosystem, especially for smaller business requests.
Let’s explore some practical examples that may apply to your business or at least spark some ideas as to where custom records could be leveraged in the future.
If you are managing multiple bank accounts you know it can be a pain to track all of the important details in one place. Bank account numbers are easy enough, but what about signatories, effective dating, signature limits, etc? What about storing the associated documentation with that same data, in a secure manner?
This is a great example where a simple NetSuite custom record can be created to capture all of the required information. You could create a child custom record to track signatories on the bank account record itself and link documentation that is stored securely (via static/dynamic groups) in the NetSuite file cabinet.
Don’t forget to tie the bank account custom record back to the corresponding General Ledger account with a custom List/Record field!
If you are looking to manage simple projects, there are many different options to consider. If you are looking to manage them within NetSuite then a hierarchy of custom records could be something to explore.
The parent custom record would contain all of the key project details. Related child custom records would track key deliverables and milestones along with associated start and end dates. You could then leverage a simple NetSuite workflow to manage an approval process that confirms when a project milestone is complete. Don’t be restricted to custom records only - explore how the solution can be enhanced with other NetSuite customizations such as SuiteScript and SuiteFlow.
If you would like more insight into what this lightweight project management solution could look like, check out this blog post that goes into more detail.
Similar to bank accounts, if you are managing multiple legal entities it can be challenging to keep track of all of the important details and associated documentation. Think about all of the data points you need to capture and maintain for each legal entity, such as company number, tax ID, date of incorporation, company type, directors, tax return deadlines, audit deadlines, etc. the list goes on.
Again, the point here is that all of these data points can be captured within a simple NetSuite custom record. The same holds true for entity formation documents and other important files. These can be securely attached to the custom record and stored in the file cabinet.
There are entity management systems that can track all of this and much more, but if you just need to capture and track the basics, why not build a simple solution directly within NetSuite?
Don’t forget to tie the entity custom record back to the corresponding subsidiary record with a custom List/Record field!
In order to make better use of custom records, here are some useful references:
Dos - Leverage NetSuite functionality to migrate custom records. Consider alternative solutions, such as Salto, a SuiteApp that empowers NetSuite Administrators and Developers with faster deployment of custom developments.
Don’ts - Migrate NetSuite customizations (including custom records) manually from Sandbox to Production. This is time consuming and error prone. Spend your time building custom solutions for your business, not manually moving those solutions between NetSuite environments.
Dos - Plan your custom records. Decide upon the custom fields, form design and parent/child relationships that will best serve the business requirement.
Don’ts - Jump right in and start building custom records. This will typically result in oversight of key functionality and a lack of system documentation.
Dos - Set the “Access Type” field to “Require Custom Record Entries Permission”. This will ensure your user access to custom records is consistent with other areas of the system - tied to user role permissions.
Don’ts - Set the “Access Type” field to “Use Permission List” or “No Permission Required”. While the former can achieve the desired outcome, it is more difficult to manage and maintain. The latter is generally not recommended.
Dos - Take the time to think about which parent record type, if any, a new custom record should be associated with e.g. a child record of the “Customer” record type or perhaps a child record of another custom record.
Don’ts - Ignore parent/child relationships. Yes, some custom records should be standalone without an associated hierarchy, but typically the custom record is associated with other system records in some capacity.
Dos - Custom records have the flexibility to be as simple or as complex as needed. Plan to keep them as simple as possible. This will better enable user adoption and ensure only key data elements are captured for reporting.
Don’ts - Build complex custom records with many custom fields, related workflows and scripts. If you find yourself building a larger solution, perhaps check the SuiteApp marketplace to see if an existing NetSuite partner has already created a similar solution that could be implemented.
For more information on Custom Records, check out Salto’s blog posts that explore some of the things that NetSuite Developers and NetSuite Administrators should consider when working with them within the NetSuite ecosystem. By following these dos and don’ts, you can manage your NetSuite Custom Records efficiently and effectively.
All NetSuite users should be thinking about the applicability of custom records to their respective uses of NetSuite. Yes, they are typically build, managed and maintained by NetSuite Administrators and Developers, but it is usually the end users that identify relevant business use cases.
Custom records offer unparalleled flexibility, enabling businesses to tailor their system interactions in a way that aligns with their unique requirements. If you are not actively working with custom records today, it would be beneficial to explore the potential business scenarios that require additional data elements captured in the NetSuite database itself.
Don’t forget to explore other solutions offered by NetSuite and the SuiteApp marketplace before jumping in and building out a complex, custom solution with custom records. Many business requirements are unique, but many are also consistent across industries. The SuiteApp marketplace is an excellent resource when considering solutions that you expect to be needed more broadly across other NetSuite customers.
If you’re not using NetSuite custom records today - it’s time to start!
Salto for
NetSuite
NetSuite
SHARE
Sonny Spencer, BFP, ACA
December 6, 2023
12
min read
One of the primary reasons companies implement NetSuite is because of the ability to customize the system to meet the specific needs of the business. That includes some of the basics: custom fields, custom forms, custom PDFs, etc. One customization type that often gets overlooked and you should be using is custom records.
NetSuite custom scripts and workflows allow for the processing of business logic in complex and innovative ways. Custom records allow for the building of brand new database tables to write data to.
So why is this such an important customization type? It allows any business using NetSuite the ability to capture data that they care about the most. Yes, customer data, vendor data, project data, etc. are all mission critical data points, but what about data that cannot be captured natively in the system or data that is typically captured in an external system? NetSuite allows its customers to bring their data into a single source of truth or “Suite”, giving end users access to required data points within seconds.
Custom records are a customization type offered by NetSuite that allows users to capture a dataset that is unique to their business. Custom records effectively stand up new tables in the NetSuite database. The join between custom records and existing system records is established through parent/child relationships.
To an end user, they are simply another area of NetSuite upon which they need to capture the relevant data to perform their jobs. They can appear in standard NetSuite navigation menus, so that they appear to be native solutions, when in fact they have been customized to meet business needs.
Custom records are designed to capture various types of information. They offer flexibility by enabling users to add and modify fields (table columns) based upon changing business needs, allowing for more tailored approaches to be taken toward data management.
You can navigate to the existing custom records in your NetSuite environment as follows:
Customization -> Lists, Records, & Fields -> Record Types
Screenshot that lists all custom records in a specific NetSuite environment
If you are wondering why some custom records have a lock icon next to them and others don’t, it is because those particular custom records have been intentionally locked by the bundle owner to ensure that NetSuite users do not modify the contents of the custom records. Modifying these custom records could result in inadvertent system behavior, so they are locked and managed centrally.
As already discussed, custom records are created to support business-specific processes and related reporting . They can be created standalone or combined with other NetSuite customizations to build a more advanced solution. Depending upon the complexity of the solution, these solutions can be created by the NetSuite Administrators without the need for development work.
Many NetSuite partners build their custom solutions by leveraging custom records. Have you ever noticed that when you install the bundle of a NetSuite partner that new saved search options appear? Or perhaps new role permissions? This is because when a custom record is added to the system, the record is tied to other areas of the NetSuite environment, including reporting and role permission functionality. Custom records allow NetSuite partners to create innovative and intricate solutions for NetSuite customers.
Custom records can be joined with other records in a hierarchical manner. You can create a child record of any existing NetSuite record type, such as customer survey record attached to the customer record. You can also create a child record of any existing NetSuite custom record type. We will explore this further when we consider some practical examples.
Have you ever been asked to “track” certain data points that you don’t have today, or consider a solution external to NetSuite to track said data points? When those questions are inevitably raised, you should at least consider whether the request can be solved with a NetSuite custom record, or multiple custom records.
In some cases, the data and related processes can be managed and maintained directly within NetSuite. This is beneficial for many reasons. First, cost. Why pay for a separate database when you can manage within the powerful one you already have? Administration becomes easier, as you are managing and maintaining a single platform vs multiple. As a result it avoids the need for system integrations to keep your data and records in sync across platforms. User adoption is simpler, especially for users who are already familiar with NetSuite.
You cannot solve every business challenge with custom records, but it is something you should be thinking about before jumping to a pre-built solution that sits outside the NetSuite ecosystem, especially for smaller business requests.
Let’s explore some practical examples that may apply to your business or at least spark some ideas as to where custom records could be leveraged in the future.
If you are managing multiple bank accounts you know it can be a pain to track all of the important details in one place. Bank account numbers are easy enough, but what about signatories, effective dating, signature limits, etc? What about storing the associated documentation with that same data, in a secure manner?
This is a great example where a simple NetSuite custom record can be created to capture all of the required information. You could create a child custom record to track signatories on the bank account record itself and link documentation that is stored securely (via static/dynamic groups) in the NetSuite file cabinet.
Don’t forget to tie the bank account custom record back to the corresponding General Ledger account with a custom List/Record field!
If you are looking to manage simple projects, there are many different options to consider. If you are looking to manage them within NetSuite then a hierarchy of custom records could be something to explore.
The parent custom record would contain all of the key project details. Related child custom records would track key deliverables and milestones along with associated start and end dates. You could then leverage a simple NetSuite workflow to manage an approval process that confirms when a project milestone is complete. Don’t be restricted to custom records only - explore how the solution can be enhanced with other NetSuite customizations such as SuiteScript and SuiteFlow.
If you would like more insight into what this lightweight project management solution could look like, check out this blog post that goes into more detail.
Similar to bank accounts, if you are managing multiple legal entities it can be challenging to keep track of all of the important details and associated documentation. Think about all of the data points you need to capture and maintain for each legal entity, such as company number, tax ID, date of incorporation, company type, directors, tax return deadlines, audit deadlines, etc. the list goes on.
Again, the point here is that all of these data points can be captured within a simple NetSuite custom record. The same holds true for entity formation documents and other important files. These can be securely attached to the custom record and stored in the file cabinet.
There are entity management systems that can track all of this and much more, but if you just need to capture and track the basics, why not build a simple solution directly within NetSuite?
Don’t forget to tie the entity custom record back to the corresponding subsidiary record with a custom List/Record field!
In order to make better use of custom records, here are some useful references:
Dos - Leverage NetSuite functionality to migrate custom records. Consider alternative solutions, such as Salto, a SuiteApp that empowers NetSuite Administrators and Developers with faster deployment of custom developments.
Don’ts - Migrate NetSuite customizations (including custom records) manually from Sandbox to Production. This is time consuming and error prone. Spend your time building custom solutions for your business, not manually moving those solutions between NetSuite environments.
Dos - Plan your custom records. Decide upon the custom fields, form design and parent/child relationships that will best serve the business requirement.
Don’ts - Jump right in and start building custom records. This will typically result in oversight of key functionality and a lack of system documentation.
Dos - Set the “Access Type” field to “Require Custom Record Entries Permission”. This will ensure your user access to custom records is consistent with other areas of the system - tied to user role permissions.
Don’ts - Set the “Access Type” field to “Use Permission List” or “No Permission Required”. While the former can achieve the desired outcome, it is more difficult to manage and maintain. The latter is generally not recommended.
Dos - Take the time to think about which parent record type, if any, a new custom record should be associated with e.g. a child record of the “Customer” record type or perhaps a child record of another custom record.
Don’ts - Ignore parent/child relationships. Yes, some custom records should be standalone without an associated hierarchy, but typically the custom record is associated with other system records in some capacity.
Dos - Custom records have the flexibility to be as simple or as complex as needed. Plan to keep them as simple as possible. This will better enable user adoption and ensure only key data elements are captured for reporting.
Don’ts - Build complex custom records with many custom fields, related workflows and scripts. If you find yourself building a larger solution, perhaps check the SuiteApp marketplace to see if an existing NetSuite partner has already created a similar solution that could be implemented.
For more information on Custom Records, check out Salto’s blog posts that explore some of the things that NetSuite Developers and NetSuite Administrators should consider when working with them within the NetSuite ecosystem. By following these dos and don’ts, you can manage your NetSuite Custom Records efficiently and effectively.
All NetSuite users should be thinking about the applicability of custom records to their respective uses of NetSuite. Yes, they are typically build, managed and maintained by NetSuite Administrators and Developers, but it is usually the end users that identify relevant business use cases.
Custom records offer unparalleled flexibility, enabling businesses to tailor their system interactions in a way that aligns with their unique requirements. If you are not actively working with custom records today, it would be beneficial to explore the potential business scenarios that require additional data elements captured in the NetSuite database itself.
Don’t forget to explore other solutions offered by NetSuite and the SuiteApp marketplace before jumping in and building out a complex, custom solution with custom records. Many business requirements are unique, but many are also consistent across industries. The SuiteApp marketplace is an excellent resource when considering solutions that you expect to be needed more broadly across other NetSuite customers.
If you’re not using NetSuite custom records today - it’s time to start!