8 Common mistakes made when working with your NetSuite chart of accounts

Written by
Sonny Spencer, BFP, ACA
Director of Finance Operations
August 27, 2023
min read

Table of Contents

View all guides


Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

This is some text inside of a div block.


It is all too easy to expand and overcomplicate your NetSuite chart of accounts. With a few clicks or a single CSV import, you can have many new accounts ready for users to start allocating transactions to. The complexity lies in keeping the chart of accounts simple, which may sound counterintuitive, but is the reality.

In a previous blog post we reviewed the process for setting up your chart of accounts in NetSuite. In this article we will focus on both the creation and maintenance of the chart of accounts through the lens of common mistakes I have seen during my time as a NetSuite user. These mistakes are all too common and too easy to fall into, so we will wrap up with some best practices that you can use as a checklist next time you think about creating a new chart of accounts in NetSuite or simply adding new accounts to the existing chart of accounts.

Experience the Ease & Confidence of NetSuite Customizations with Salto

Mistake 1 - Creating too many accounts and account hierarchies

When building your chart of accounts, it is important to stay disciplined with your structure. Data and reporting requests will change over time and it is all too easy to create new GL accounts to meet some of these reporting needs. If you find yourself deviating from your chart of accounts overall structure or starting a new layer of numbering, take a step back and consider whether the business reporting requirements would be better served with a separate reporting segment.

In some cases it will just make sense to create new accounts, e.g. establishing a new overseas entity will likely require some sort of investment in a subsidiary account and related intercompany accounts. Other cases may require a different approach, e.g. establishing a new business division that requires separate income statement reporting. In this example, the use of departments or classes (or a new custom segment) would be more appropriate.

Keep your chart of accounts as simple as possible. Don’t forget that the larger your chart of accounts is, the more challenging it will be for your end users to find the account they need when creating transactions in the system, such as journal entries.

Salto Tip: To have the ability to create custom segments in your NetSuite account you must first enable the functionality.

Navigate: Setup > Company > Enable Features > SuiteCloud > SuiteGL > Custom Segments

Once this feature has been enabled in your NetSuite account you can create a new custom segment.

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

Mistake 2 - Trying to manage multiple charts of accounts

This mistake is related to the first mistake we just discussed. If you try to manage multiple charts of accounts in NetSuite you will inevitably end up creating too many accounts and hierarchies to accommodate. If you are managing multiple charts of accounts today across different systems and entities, you should consider the effort it would take to get to a single chart of accounts operated globally. Again, keeping it as simple as possible.

If you are using the NetSuite multi-book accounting functionality and you would still like regional specific account naming conventions then think about leveraging the global account mapping feature to meet your statutory reporting requirements.

Mistake 3 - Starting off with the wrong consolidated rate types

For NetSuite OneWorld customers, consolidated exchange rate types directly impact your consolidated financial results. If just one account is set up with the incorrect rate type you can end up in a situation where your consolidated income statement does not roll up to retained earnings.

This should not happen very often as NetSuite will set the correct default rate type, in most cases, based upon the account type that was selected when the account was first set up. Income statement accounts default to the “Average” rate type, so you shouldn’t run into the retained earning issue mentioned above, but it is certainly possible.

For each account in your chart of accounts you should review the consolidated rate type to confirm if the value is appropriate. NetSuite may default a balance sheet account to use the “Current”, i.e. month end spot rate, when in fact you have deemed this particular account to be measured at the “Historical” rate. It is important to get this right the first time. You can change this value after the fact, but it is not advised, as it will impact historical reporting even in closed accounting periods!

Screenshot of the Generate Rate Type section for an account in the chart of accounts

Mistake 4 - Incorrect subsidiary permissions

Setting subsidiary level permissions on accounts within your chart of accounts is a great way to ensure users do not inadvertently record a transaction to the incorrect account. In some cases, such as bank accounts, NetSuite will force you to select a single subsidiary (because a bank account can only belong to a single entity). It is also practical to limit subsidiary access when working with intercompany accounts that should only have transactions recorded to them when associated with a specific subset of subsidiaries.

One of the challenges NetSuite Administrators run into is forgetting to grant access to all of the elimination subsidiaries when creating intercompany accounts. If the elimination subsidiaries do not have access to intercompany accounts, how can the system record the appropriate elimination entities? It cannot, and as a result when you run your NetSuite elimination process you can expect to see a processing error.

This processing error is also very common when working with CSV imports for transactional data. If there is reference to an “entity” error, a good place to start is reviewing the subsidiary level access for all fields and objects in the import.

Salto Tip: Where possible, keep the subsidiary access to accounts consistent and simple. Bank accounts and credit cards require a 1:1 mapping to subsidiaries, but other accounts are flexible, so use the “Include Children” check box wherever possible. That way, when you create new subsidiaries in future, you should not need to be too concerned with subsidiary access to the chart of accounts.

Mistake 5 - Not creating parent accounts

Earlier we discussed the importance of not creating too many accounts or account hierarchies, but that is not to say that account hierarchies should be eliminated entirely. On the contrary, it is important to create parent account records in order to group accounts for reporting purposes.

If you do not group your GL accounts, you will be forced into some heavy reporting customizations when building custom financial reports to meet your business reporting needs—especially when you are adding new accounts to the chart of accounts and need to maintain those financial reports.

With the appropriate chart of accounts structure, new accounts can be automatically mapped to their respective parent account and therefore roll up where they need to for all related financial reporting. This should always be the goal. Remembering to update specific financial reports when a new account is added is one thing, but then finding the right place to update those report layouts is another, so always plan to avoid this whenever possible by creating parent accounts.

Mistake 6 - Not creating summary accounts

As a follow up to the previous mistake, you may have taken the time to create the best parent/child hierarchy in your chart of accounts, but then you forget to mark the parent accounts as “summary” accounts.

When an account is marked as a “summary” account, users will not be able to post directly to that account. Instead, users post to the related child accounts and the account totals roll up to the parent account; the parent is the sum of its children. If you allow users to post transactions directly to the parent account, things can get confusing from a financial reporting standpoint where parent accounts include both child account roll ups and transactions of their own.

The way that NetSuite prohibits users from posting directly to a “summary” account is to make that account inactive. As such, the account is available for reporting purposes, but will not be available in account drop down selections when users are creating transaction records in the system.

Screenshot of the error message received when attempting to uncheck the “inactive” check box for a summary account

Having gone through the effort of establishing a great parent/child hierarchy in your NetSuite chart of accounts, it is important to take the time to review and ensure the parent accounts have been designated as “summary” accounts. There are of course exceptions to this rule, so use your judgment based upon your business reporting needs.

Mistake 7 - Not revaluing when you should and vice versa

The “Revalue Open Balance For Foreign Currency Transactions” check box has a significant impact on your NetSuite financials, so you need to take extra care when deciding whether to check this box or not. For monetary accounts (e.g. bank accounts, accounts receivable, etc.), they should be revalued at the month end spot rate (the “current” rate) and therefore should have this check box checked. For non-monetary accounts (e.g. PPE), this check box should be unchecked.

Checking or unchecking the box doesn’t directly impact your financials. Instead, when checked, it presents that particular account for revaluation during the period close revaluation process. All accounts presented will be subject to revaluation by default, but the check box can be unchecked if necessary.

The good news here is that if the checkbox value is set incorrectly it can be updated prospectively in the future without any impact to your historical financials, which is different behavior from the consolidated exchange rate field we reviewed earlier.

Screenshot of the month end currency revaluation process showing the checkbox checked for Accounts Payable - notice that the checkbox can be unchecked

Mistake 8 - Overcomplicating your numbering system

Maintaining a simple and consistent numbering convention in your chart of accounts is important for the long term scalability of your NetSuite environment, from both a data entry and financial reporting perspective.

It is generally recommended to keep the numbering system to 4-6 characters. NetSuite allows for more characters than this, but that does not mean you have to (or should) use those additional characters.

As new reporting requirements come to light, users may be quick to propose new accounts to separately report on a subset of transactional data. Well, what happens when you run out of numbers? One conclusion is to expand the numbering system. That may be necessary, especially if starting with 4 characters. However, another conclusion would be to capture the reporting via a different method by leveraging other reporting segments that are available (think class, department, location).

Before going ahead and creating new accounts in your chart of accounts, be prepared to challenge the request, especially if it would require making exceptions to your numbering convention.

Screenshot of an example account number that keeps the numbering system simple

Screenshot of an example account number that typically comes from an overcomplicated chart of accounts

Best practices when working with your NetSuite chart of accounts

  1. Create separate reporting segments to support business reporting requirements. Keep your chart of accounts as simple as possible, without too many layers. If you have too many accounts or too many layers, perhaps you need to revisit your reporting structure and consider a new reporting segment separate for the chart of accounts.
  2. Aim for one global chart of accounts rather than trying to manage more than one chart of accounts. Simplicity is best. If you are using the NetSuite multi-book accounting functionality, consider using the global account mapping to meet statutory reporting requirements.
  3. Double check your consolidated exchange rate types. NetSuite will set the correct default, in most cases, based upon the account type selected, but you may have a use case that requires historical measurements of an account vs remeasurement at each period end. You can change after the fact, but it will impact historical reporting, which is not advised.
  4. Make sure to review your subsidiary level access for each GL account in your chart of accounts. In particular, ensure that all elimination subsidiaries have access to intercompany GL accounts, otherwise you run the risk of having your automated elimination process in NetSuite run into a processing error. This is also a common CSV import error.
  5. Group accounts by creating parent accounts for reporting purposes. Without groupings, you will be forced to customize your financial reports even more heavily, especially when adding new GL accounts to the chart of accounts.
  6. Set parent accounts as “summary” accounts. This will ensure users cannot post directly to these accounts and instead post to the child accounts. The parent account balance will just be the sum of all related child accounts without the confusion of the parent account itself also having its own balance.
  7. Review your chart of accounts settings for “Revalue Open Balance For Foreign Currency Transactions”. If a particular account is “monetary” then it should have this check box checked; otherwise,  it is “non-monetary” and should be unchecked. You can update prospectively if you need to in the future without any impact to historical financial reporting.
  8. Do not create your chart of accounts (or future groups of accounts) one by one. Have a NetSuite CSV import template ready that captures all required fields and produces the correct import format within seconds. With this process the new accounts will be created in minutes, whether there are 50 accounts or 500 accounts.
  9. Give each account a description. The out of the box field has a 60 character limit, so consider creating a customer field in order to give a more descriptive value that will be meaningful to all existing (and future) NetSuite users. This will take some time to complete initially, but will be simple to maintain going forward.
  10.  Keep the account numbering convention small (4-6 characters). While the character limit exceeds 6 characters, you should plan on keeping the numbering convention as simple and consistent as possible for financial reporting purposes.

For more information on these best practices, check out Salto’s blog post that explores some of the things NetSuite Developers and NetSuite Administrators should consider when working with the NetSuite Chart of Accounts. By following these best practices, you can build a simple and effective Chart of Accounts in NetSuite that supports your business reporting requirements.

Final thoughts

The chart of accounts is the backbone for all of your financial reporting with NetSuite. Given NetSuite’s vast customization capabilities, it is easy to jump in and start customizing your chart of accounts to accommodate more complex business reporting needs. This is perhaps one area of NetSuite where customization should be limited intentionally. Keeping a single consistent chart of accounts that is simple and easy to work with will set NetSuite Administrators (and users alike) up for success with straightforward transaction coding and custom financial reports that can be easily maintained.

If you have just one take away from this article it should be this: keep it simple!

Lastly, if you are looking to learn more about NetSuite financial data or other functional areas, you should check out SaltoLeap. SaltoLeap is a learning platform that gives you access to carefully crafted—yet completely free—video courses and resources designed to take your skills to the next level.

Written by
Sonny Spencer, BFP, ACA

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.

Written by