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 - Chart of Accounts Best Practices

Sonny Spencer, BFP, ACA

December 9, 2024

15

min read

Introduction

The NetSuite Chart of Accounts is the backbone for all financial reporting in the system. It’s essential you get the structure right to meet the financial reporting needs of the business. If there is not a clearly defined strategy for managing the Chart of Accounts it can quickly become a burden to maintain.

When was the last time you reviewed your Chart of Accounts structure? See how many accounts have never been used and ask yourself whether they should be made inactive or not. Think about how easy or difficult it is to manage your custom financial reports in NetSuite and whether a change to the Chart of Accounts could simplify the creation of new reports as well as the maintenance of existing reports.

Did you know?: Not all of the fields available in the Chart of Accounts UI are available to report on within an Account Saved Search. In fact, to access some of these fields you will instead need to create a SuiteAnalytics Dataset.

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 Chart of Accounts right

The simpler the Chart of Accounts, the easier it is going to be to manage and maintain any custom financial reports in NetSuite. Operationally it is also going to make life easier for the accounting team who need to record transactions (e.g. journal entries) to the Chart of Accounts. It is also going to reduce the time needed to reconcile accounts as part of the monthly / quarterly accounting close.

As you consider the best structure for your Chart of Accounts here are a few considerations:

Not utilizing all reporting segments

NetSuite allows you to create custom financial reporting segments in addition to those available out of the box e.g. accounts, subsidiaries, departments, locations and classes. Despite this, NetSuite Admins still leverage the Chart of Accounts to segment data by subsidiary, department and other reporting segments.

You can create a custom financial reporting segment by navigating to:

Customization > Lists, Records, & Fields > Custom Segments > New

Screenshot showing the page layout for the creation of a new custom segment

Salto Tip: Before creating additional accounts, take a moment to think through the reporting segmentation and ask yourself whether the desired reporting can be achieved by leveraging existing reporting segments.

Example 1:

6000 - Salaries & Wages

Example 2:

6001 - Salaries & Wages - Sales & Marketing

6002 - Salaries & Wages - Research & Development

6003 - Salaries & Wages - General & Administrative

In example 1, we can infer that the NetSuite customer is leveraging the Department reporting segment to report on salaries & wages by various business functions. In example 2, the NetSuite customer is looking to leverage the Chart of Accounts to achieve the same thing. Unless this company is not using the Department reporting segment (highly unlikely), they would be best to follow the practice in example 1.

Overcomplicating the hierarchy

It is important to establish a hierarchy in your Chart of Accounts. While it is possible to manage without a hierarchy, the result is that you will need to manage the hierarchy and account groupings manually on each and every financial report you create in NetSuite. This is not scalable and why you need to leverage the hierarchy functionality that is available. Fortunately, NetSuite offers multiple ways to manage the hierarchy.

Subaccount of

This field allows you to set the parent account for the account you are creating. The account being created is then grouped under the parent account in the Chart of Accounts.

Summary

When this checkbox is checked, the account is created for reporting purposes only. They are useful when you need to create a “wrapper” around a group of accounts, but do not want to post to the account itself. This is especially helpful when customizing NetSuite financial reports, as you can reference the summary account and the combined balances for all child accounts will be reported.

Screenshot showing the page layout for the creation of a new account

Check your check boxes

We have already looked at the “Summary” checkbox. There are other checkboxes on the account page layout that are even more important.

  • Revalue Open Balance For Foreign Currency Transactions - When checked, the account will be selected by default to revalue as part of the “Revalue Open Currency Balances” processes. Note the account can be manually unselected should that be required, although that should rarely be the case.
  • Eliminate Intercompany Transactions - When checked, the account will be subject to auto-elimination as part of the month close checklist. Similar to the previous checkbox the eliminate checkbox on transaction lines can be modified, but again that should rarely be the case.
  • Inactive - Standard NetSuite functionality to maintain the data for the account, but remove it from lists on transactions and records from that moment on.

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

The Chart of Accounts, by its nature, doesn't require much in the way of new features and functionality. In the 2024.2 release there was a minor update related to GL accounts.

  • Australia Bank Feeds Enhancement - Bank accounts can now be linked to GL accounts of type Credit Card with a currency of AUD.

Link to the 2024.2 NetSuite Release Notes

Link to the 2024.1 NetSuite Release Notes

Challenges with Managing Customization Manually

Establishing the Chart of Accounts in NetSuite is typically managed via a customized CSV import vs a specific NetSuite customization. That said, there are many NetSuite customizations developed that leverage the Chart of Accounts in some way, perhaps referencing the value of a custom field on the account record or custom NetSuite financial reports that rely upon the account hierarchy.

In any case, attempting to manage these customizations manually could lead to a significant financial impact given the company financials are driven directly from the balances allocated in the Chart of Accounts.

Perhaps you have a custom script that executes on accounts referenced in a script parameter. What would happen if the ID of those accounts differ between your NetSuite environments and you forget to update the references when migrating the custom solution manually from your Sandbox environment to your Production environment? It will depend on the process and accounts impacted, but the door is open for a significant financial impact all because a script parameter was not updated.

To mitigate some of the risk of human error in the migration process, some NetSuite Administrators will perform extra checks to ensure everything has been migrated as intended. This might include having someone make the changes manually while someone else watches the process live to make sure nothing is missed or overlooked. This makes for a painstakingly slow deployment of the solution, in turn slowing down the ability to deliver custom solutions to your end users quickly and efficiently.

The NetSuite Admin Team should be focused on value-add initiatives and problem solving, not double and triple checking manual deployments.

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

Attempting to manage your Chart of Accounts manually can be difficult. When it grows it becomes more challenging to maintain, especially when custom financial reports need to be updated simultaneously. This introduces a HIGH level of risk given the large number of configuration settings on any one account or financial report.

NetSuite provides several out of the box solutions to help you manage the migration process for your custom solutions. These solutions include Copy to Account, Suitebundler and SuiteCloud Development Framework (SDF). Each solution has its own merits and drawbacks. Make sure to take the time to review these options and determine the best approach for the customization you are looking to migrate from one NetSuite environment to another.

The migration of NetSuite customizations across multiple NetSuite environments is a consistent challenge for NetSuite Admin teams. With all of the active development work in flight and dependencies to consider, NetSuite Administrators are exploring alternative solutions. One solution is Salto. You can see more details about the Salto SuiteApp here. This SuiteApp is helping NetSuite teams in numerous ways. It allows you to perform environment comparisons across all of your environments, which makes it much simpler to identify any deployment conflicts prior to making the push to Production. In other words it is allowing the team responsible for these migrations to be proactive in their approach vs reactive.

In addition, Salto gives NetSuite Administrators the flexibility to execute deployment rollbacks quickly and seamlessly. Rollbacks are generally a top priority when they need to occur and having the tools available to manage this process in a matter of minutes is a huge asset for any NetSuite Admin Team.

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

Best Practices When Working With Your NetSuite Chart of Accounts

  1. Prioritize Simplicity - Keep your chart of accounts as streamlined as possible. If you need more complex structures, consider using reporting segments to achieve the desired level of detail.
  2. Leverage Parent Accounts for Reporting - Create parent accounts to group related accounts for effective reporting. This reduces the need for extensive report customization, especially when adding new accounts.
  3. Enforce Account Hierarchy - Designate parent accounts as "summary" accounts to prevent direct postings to them (make them inactive). This maintains a clear account hierarchy.
  4. Utilize CSV Imports for Efficiency - Make use of NetSuite's CSV import functionality to create and maintain your chart of accounts efficiently. This streamlines the process, whether you're adding a few accounts or many.
  5. Provide Clear Descriptions - Use descriptive names to each account and utilize custom fields if necessary to provide additional context. While this may require initial effort, it enhances end user understanding of the nature of the account.
  6. Maintain Concise Account Numbers - Adhere to a concise numbering convention (4-6 characters) to facilitate financial reporting and analysis. Although alphanumeric characters are acceptable, stick to numbers wherever possible.
  7. Embrace a Global Chart of Accounts -  Aim for a single, unified chart of accounts to simplify management and reporting. If multi-book accounting is necessary, leverage global account mapping to accommodate statutory requirements.
  8. Optimize Exchange Rate Types - Review and configure exchange rate types for each account. Ensure they align with your specific accounting needs and reporting preferences. NetSuite will typically default to the correct rate type, but always double check.
  9. Grant Appropriate Access - Verify subsidiary-level access to GL accounts, especially for intercompany accounts. This will prevent errors when running automated intercompany eliminations at month end and processing CSV imports.
  10. Configure Revaluation Settings - Configure the "Revalue Open Balance For Foreign Currency Transactions" setting for each account based on whether it is monetary or non-monetary in nature.

Salto Tip: Check out this FREE NetSuite Administrator training course on Salto Leap for a detailed review of NetSuite Financial data and reports, including how to build complex custom financial reports.

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

Getting your NetSuite Chart of Accounts strategy right the first time is going to make the lives of NetSuite Administrators and end users much easier. The good news is that if the Chart of Accounts is starting to grow too complex to manage, you are able to pivot and simplify in the future. Creating new accounts and making old accounts inactive is an effective way to do this, but only if you have the right strategy in place.

Leverage other reporting segments for what they are intended to report on. Don’t have accounts that reference subsidiaries, departments, locations or other internal reporting segments. One of the huge benefits of using NetSuite is the ability to report on custom segments, so make sure you are utilizing this functionality to report on your business to help run it effectively.

If you haven’t looked at your Chart of Accounts in a while, it might be time to perform a review and revisit the strategy to prevent any future complexity in your reporting structure.

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 - Chart of Accounts Best Practices

Sonny Spencer, BFP, ACA

December 9, 2024

15

min read

Introduction

The NetSuite Chart of Accounts is the backbone for all financial reporting in the system. It’s essential you get the structure right to meet the financial reporting needs of the business. If there is not a clearly defined strategy for managing the Chart of Accounts it can quickly become a burden to maintain.

When was the last time you reviewed your Chart of Accounts structure? See how many accounts have never been used and ask yourself whether they should be made inactive or not. Think about how easy or difficult it is to manage your custom financial reports in NetSuite and whether a change to the Chart of Accounts could simplify the creation of new reports as well as the maintenance of existing reports.

Did you know?: Not all of the fields available in the Chart of Accounts UI are available to report on within an Account Saved Search. In fact, to access some of these fields you will instead need to create a SuiteAnalytics Dataset.

What if Zendesk was 4x less work?

Request a Demo Get started with Salto

Importance of getting your Chart of Accounts right

The simpler the Chart of Accounts, the easier it is going to be to manage and maintain any custom financial reports in NetSuite. Operationally it is also going to make life easier for the accounting team who need to record transactions (e.g. journal entries) to the Chart of Accounts. It is also going to reduce the time needed to reconcile accounts as part of the monthly / quarterly accounting close.

As you consider the best structure for your Chart of Accounts here are a few considerations:

Not utilizing all reporting segments

NetSuite allows you to create custom financial reporting segments in addition to those available out of the box e.g. accounts, subsidiaries, departments, locations and classes. Despite this, NetSuite Admins still leverage the Chart of Accounts to segment data by subsidiary, department and other reporting segments.

You can create a custom financial reporting segment by navigating to:

Customization > Lists, Records, & Fields > Custom Segments > New

Screenshot showing the page layout for the creation of a new custom segment

Salto Tip: Before creating additional accounts, take a moment to think through the reporting segmentation and ask yourself whether the desired reporting can be achieved by leveraging existing reporting segments.

Example 1:

6000 - Salaries & Wages

Example 2:

6001 - Salaries & Wages - Sales & Marketing

6002 - Salaries & Wages - Research & Development

6003 - Salaries & Wages - General & Administrative

In example 1, we can infer that the NetSuite customer is leveraging the Department reporting segment to report on salaries & wages by various business functions. In example 2, the NetSuite customer is looking to leverage the Chart of Accounts to achieve the same thing. Unless this company is not using the Department reporting segment (highly unlikely), they would be best to follow the practice in example 1.

Overcomplicating the hierarchy

It is important to establish a hierarchy in your Chart of Accounts. While it is possible to manage without a hierarchy, the result is that you will need to manage the hierarchy and account groupings manually on each and every financial report you create in NetSuite. This is not scalable and why you need to leverage the hierarchy functionality that is available. Fortunately, NetSuite offers multiple ways to manage the hierarchy.

Subaccount of

This field allows you to set the parent account for the account you are creating. The account being created is then grouped under the parent account in the Chart of Accounts.

Summary

When this checkbox is checked, the account is created for reporting purposes only. They are useful when you need to create a “wrapper” around a group of accounts, but do not want to post to the account itself. This is especially helpful when customizing NetSuite financial reports, as you can reference the summary account and the combined balances for all child accounts will be reported.

Screenshot showing the page layout for the creation of a new account

Check your check boxes

We have already looked at the “Summary” checkbox. There are other checkboxes on the account page layout that are even more important.

  • Revalue Open Balance For Foreign Currency Transactions - When checked, the account will be selected by default to revalue as part of the “Revalue Open Currency Balances” processes. Note the account can be manually unselected should that be required, although that should rarely be the case.
  • Eliminate Intercompany Transactions - When checked, the account will be subject to auto-elimination as part of the month close checklist. Similar to the previous checkbox the eliminate checkbox on transaction lines can be modified, but again that should rarely be the case.
  • Inactive - Standard NetSuite functionality to maintain the data for the account, but remove it from lists on transactions and records from that moment on.

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

The Chart of Accounts, by its nature, doesn't require much in the way of new features and functionality. In the 2024.2 release there was a minor update related to GL accounts.

  • Australia Bank Feeds Enhancement - Bank accounts can now be linked to GL accounts of type Credit Card with a currency of AUD.

Link to the 2024.2 NetSuite Release Notes

Link to the 2024.1 NetSuite Release Notes

Challenges with Managing Customization Manually

Establishing the Chart of Accounts in NetSuite is typically managed via a customized CSV import vs a specific NetSuite customization. That said, there are many NetSuite customizations developed that leverage the Chart of Accounts in some way, perhaps referencing the value of a custom field on the account record or custom NetSuite financial reports that rely upon the account hierarchy.

In any case, attempting to manage these customizations manually could lead to a significant financial impact given the company financials are driven directly from the balances allocated in the Chart of Accounts.

Perhaps you have a custom script that executes on accounts referenced in a script parameter. What would happen if the ID of those accounts differ between your NetSuite environments and you forget to update the references when migrating the custom solution manually from your Sandbox environment to your Production environment? It will depend on the process and accounts impacted, but the door is open for a significant financial impact all because a script parameter was not updated.

To mitigate some of the risk of human error in the migration process, some NetSuite Administrators will perform extra checks to ensure everything has been migrated as intended. This might include having someone make the changes manually while someone else watches the process live to make sure nothing is missed or overlooked. This makes for a painstakingly slow deployment of the solution, in turn slowing down the ability to deliver custom solutions to your end users quickly and efficiently.

The NetSuite Admin Team should be focused on value-add initiatives and problem solving, not double and triple checking manual deployments.

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

Attempting to manage your Chart of Accounts manually can be difficult. When it grows it becomes more challenging to maintain, especially when custom financial reports need to be updated simultaneously. This introduces a HIGH level of risk given the large number of configuration settings on any one account or financial report.

NetSuite provides several out of the box solutions to help you manage the migration process for your custom solutions. These solutions include Copy to Account, Suitebundler and SuiteCloud Development Framework (SDF). Each solution has its own merits and drawbacks. Make sure to take the time to review these options and determine the best approach for the customization you are looking to migrate from one NetSuite environment to another.

The migration of NetSuite customizations across multiple NetSuite environments is a consistent challenge for NetSuite Admin teams. With all of the active development work in flight and dependencies to consider, NetSuite Administrators are exploring alternative solutions. One solution is Salto. You can see more details about the Salto SuiteApp here. This SuiteApp is helping NetSuite teams in numerous ways. It allows you to perform environment comparisons across all of your environments, which makes it much simpler to identify any deployment conflicts prior to making the push to Production. In other words it is allowing the team responsible for these migrations to be proactive in their approach vs reactive.

In addition, Salto gives NetSuite Administrators the flexibility to execute deployment rollbacks quickly and seamlessly. Rollbacks are generally a top priority when they need to occur and having the tools available to manage this process in a matter of minutes is a huge asset for any NetSuite Admin Team.

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

Best Practices When Working With Your NetSuite Chart of Accounts

  1. Prioritize Simplicity - Keep your chart of accounts as streamlined as possible. If you need more complex structures, consider using reporting segments to achieve the desired level of detail.
  2. Leverage Parent Accounts for Reporting - Create parent accounts to group related accounts for effective reporting. This reduces the need for extensive report customization, especially when adding new accounts.
  3. Enforce Account Hierarchy - Designate parent accounts as "summary" accounts to prevent direct postings to them (make them inactive). This maintains a clear account hierarchy.
  4. Utilize CSV Imports for Efficiency - Make use of NetSuite's CSV import functionality to create and maintain your chart of accounts efficiently. This streamlines the process, whether you're adding a few accounts or many.
  5. Provide Clear Descriptions - Use descriptive names to each account and utilize custom fields if necessary to provide additional context. While this may require initial effort, it enhances end user understanding of the nature of the account.
  6. Maintain Concise Account Numbers - Adhere to a concise numbering convention (4-6 characters) to facilitate financial reporting and analysis. Although alphanumeric characters are acceptable, stick to numbers wherever possible.
  7. Embrace a Global Chart of Accounts -  Aim for a single, unified chart of accounts to simplify management and reporting. If multi-book accounting is necessary, leverage global account mapping to accommodate statutory requirements.
  8. Optimize Exchange Rate Types - Review and configure exchange rate types for each account. Ensure they align with your specific accounting needs and reporting preferences. NetSuite will typically default to the correct rate type, but always double check.
  9. Grant Appropriate Access - Verify subsidiary-level access to GL accounts, especially for intercompany accounts. This will prevent errors when running automated intercompany eliminations at month end and processing CSV imports.
  10. Configure Revaluation Settings - Configure the "Revalue Open Balance For Foreign Currency Transactions" setting for each account based on whether it is monetary or non-monetary in nature.

Salto Tip: Check out this FREE NetSuite Administrator training course on Salto Leap for a detailed review of NetSuite Financial data and reports, including how to build complex custom financial reports.

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

Getting your NetSuite Chart of Accounts strategy right the first time is going to make the lives of NetSuite Administrators and end users much easier. The good news is that if the Chart of Accounts is starting to grow too complex to manage, you are able to pivot and simplify in the future. Creating new accounts and making old accounts inactive is an effective way to do this, but only if you have the right strategy in place.

Leverage other reporting segments for what they are intended to report on. Don’t have accounts that reference subsidiaries, departments, locations or other internal reporting segments. One of the huge benefits of using NetSuite is the ability to report on custom segments, so make sure you are utilizing this functionality to report on your business to help run it effectively.

If you haven’t looked at your Chart of Accounts in a while, it might be time to perform a review and revisit the strategy to prevent any future complexity in your reporting structure.

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.