NetSuite

The full guide to Netsuite chart of accounts, with an import template

Written by
Sonny Spencer, BFP, ACA
Director of Finance Operations
September 11, 2022
7
min read

Table of Contents

View all guides

Heading

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.

The NetSuite chart of accounts lives at the very core of the system. It is integral to most NetSuite functional areas. While important to every business working with NetSuite, the chart of accounts will be unique to each of those businesses. This is key. The chart of accounts should be structured to meet business reporting requirements and in some cases to support ERP functionality (think indirect tax reporting).

Get started with Salto

Track and document every SuiteCloud change so you’re always audit ready.

Try Salto free ≥

Why is it so important to get the chart of accounts right?

It is possible to modify NetSuite accounts both in terms of account name and account number but doing so creates challenges for referencing historical data. It is generally recommended that new accounts be created vs modifying existing accounts and in doing so typically leads to other administrative tasks, for example updates to existing custom financial reports.

This can be avoided altogether if the accounts are created correctly the first time around.


Exploring the fields

NetSuite allows users to create custom fields on their chart of accounts. We will focus on the key native fields and their purpose:

  • Number – Mandatory field, up to 60 alphanumeric characters
  • Name – Mandatory field, up to 60 alphanumeric characters
  • Subaccount of – Captures the parent account. Parent account must already exist

Salto Suite Tip – This field is straightforward to populate in the UI by simply selecting the correct value from the account dropdown list. For populating the field value via CSV import, the field value must be in a specific format. Specifically “[Account Number] [Account Name]” for example “1000 Bank” could be a parent/summary account for all bank accounts in the chart of accounts.

  • Type – Mandatory list field, select the appropriate type for each account
  • Currency – The NetSuite currency field in chart of accounts is only required (mandatory) for accounts where Type = Bank
  • General Rate Type – Determines which consolidated exchange rate NetSuite uses when converting balances in this account to re porting (functional) currency. Impacts income statement, balance sheet and other general reporting
  • Cash Flow Rate Type – Similar to General Rate Type, but this value impacts reporting on the cash flow statement (as well as some columns in the CTA Balance Audit report)
  • Revalue Open Balance For Foreign Currency Transactions – Checking this box makes this account eligible for revaluation as part of the “Revalue Open Currency Balances” process - Note even with this check box checked, a user can still manually force the account to not revalue
  • Eliminate Intercompany Transactions – Check this box makes the account eligible for elimination on consolidation, for example when creating advanced intercompany journal entries. This is critical when setting up intercompany accounts. Note even with this check box checked, a user can still manually force the account to not eliminate. Fortunately, NetSuite has some pre-build validation to prevent journal entries from being posted that would not appropriate eliminate on consolidation
  • Summary – Checking this box means users cannot post transactions to this account and instead it is used for grouping similar accounts under a single parent account. Summary accounts can be very useful for structuring the chart of accounts for streamlined maintenance and financial reporting

Salto Suite Tip – The “Summary” check box cannot be populated via CSV import as the field is not exposed. This is because the action of checking this box in the UI also triggers the “Inactive” check box to be checked. This ensures users cannot post transactions to Summary accounts.

  • Subsidiaries – Mandatory field, dictates which subsidiary(ies) can post transactions to it. Note there are certain account types such as “Bank” and “Credit Card” that are restricted to a single subsidiary given the nature of those accounts. This field allows you to add subsidiary updates to the chart of accounts.
  • External ID – Although not mandatory it is still recommended to assign an external ID value to each account to support NetSuite development work that takes place in other NetSuite environments where account internal ID’s may not match due to timing of creation. External ID’s overcome this challenge in their ability to be consistent across all NetSuite environments. Keep the External ID values consistent with a common prefix followed by a sequential number.

Salto Suite Tip – If managing NetSuite development work across multiple NetSuite environments becomes challenging, especially when working with NetSuite record internal ID’s, consider leveraging a tool, such as Salto, to compare NetSuite development across NetSuite environments. Doing so reduces the risk of production deployment errors. For example if a Suitescript deployment references an incorrect account ID in a script parameter (or hardcoded in the code directly) it can have a significant impact on production data, requiring hours of NetSuite Admin time to investigate and resolve the issue.

The CSV import process explained

The chart of accounts import template includes all columns necessary for a successful CSV import into NetSuite, but does not include a NetSuite sample chart of accounts as these are unique to each business. Many of these fields are mandatory (see above), while others are very useful despite not being a required field e.g. “Description”.

Simply populate the CSV import template file with the chart of accounts structure for your company and complete a CSV import to create the accounts.

Navigate: Setup – Import/Export – Import CSV Records

Import Type = Accounting

Record Type = Chart of Accounts

When you get to Field Mapping, do not forget to update the “Subsidiary” reference type from “Names” to “Internal ID”, by clicking the pencil icon to the left of “Subsidiary” and setting the appropriate value.

Once the import is successful, you can validate the data by navigating to the NetSuite chart of accounts. So if you are wondering where to find chart of accounts in NetSuite:

Navigate: Setup – Accounting – Chart of Accounts

Salto Suite Tip – If you have any mandatory fields already created on the account record in NetSuite, these fields must be added as new columns in the CSV import template file, otherwise the import will fail when validating mandatory custom fields.


Why order matters

The key reason the order of accounts is critical is because of parent/child relationships between accounts, in other words the chart of accounts reporting hierarchy in NetSuite. For example, if you had 2 accounts, parent account 1100 and child account 1101, you must first create parent account 1100 so that it can be referenced on child account 1101.

Salto Suite Tip – With this in mind, it is strongly recommended to not use multi-threading when completing your NetSuite chart of accounts CSV import, as the order does matter.

Learn how to compare your environments, and move changes between them seamlessly

Book a free demo ≥

NetSuite chart of accounts best practices

A few best practices to keep in mind when first establishing your NetSuite chart of accounts:

1. When first migrating to NetSuite, consider maintaining your existing chart of accounts. Some implementation partners may suggest this is a good opportunity to revamp your chart of accounts and it is, but you must exercise caution in making this decision. Revamping the chart of accounts typically requires a mapping table back to the legacy chart of accounts. Even if maintained directly in NetSuite via a custom field on the account record, it still makes for more painful reconciliations, especially during an audit focused on the transition period from legacy chart of accounts to newly revamped chart of accounts. With everything else to be achieved during a NetSuite implementation you are likely better off focusing attention elsewhere and maintain the existing chart of accounts.

2. When a company does decide to revamp their NetSuite chart of accounts numbering or change chart of accounts in NetSuite, thought should be given to the number of digits assigned to an account. Smaller companies tend to utilize 4-digit accounts, whereas larger companies typically work with 6 (or more) digits. There are of course exceptions. The point being to consider your business needs before deciding up the appropriate numbering convention for the chart of accounts.

3. Prior to creating your chart of accounts or creating new accounts for an existing chart of accounts, ensure you are not combining NetSuite segments. For example, combining accounts with departments:

  • Account 6001 – Salaries R&D
  • Account 6002 – Salaries Product
  • Account 6003 – Salaries Finance
  • Etc..

Instead, utilize the department dimension to keep the chart of accounts manageable. Some companies will do this with class and/or location. Start utilizing the individual NetSuite segments to better structure data for more dynamic reporting.


Final thoughts

When implemented appropriately, the NetSuite chart of accounts will allow for dynamic financial reporting, with limited maintenance needed. More expansive charts of accounts, require additional oversight and maintenance. Not only of the chart of accounts structure, but also of existing financial reports that rely upon the chart of accounts and groupings of accounts within.

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