If implementing an ERP software is like building a new house, the general ledger is the pillar of your new home. Let’s face it, what’s the point of building a new house if it’s not going to stand on a stronger, sturdier foundation? Remember those General Ledger (GL) accounts that were out of sync because you ran out of numbers in the account range? How about those 10 “Travel Expense” accounts that your A/P clerk kept miscoding? It’s time to fix all these things and start fresh. Here is a guide to properly set up your Chart of Accounts for NetSuite General Ledger.
The fundamental difference between NetSuite and other financial systems is that NetSuite’s Chart of Accounts only requires the list of natural accounts. NetSuite General Ledger handles the rest of the string using separate records such as Subsidiary, Class, Department, and Location. This means for each ledger line, you can post to any combination of GL string without predefining each permutation. In addition to the standard classifications, NetSuite also supports Custom Segments which allow businesses to further slice and dice their financial reports while retaining most functionality of a standard segment. This means you no longer need the same expense account duplicated multiple times for each General Ledger segment combination.
For businesses with separate legal entities, Subsidiary record at the highest level allows transactions to be posted in the correct legal entity. The Department record is often used to represent cost centers so that expenses can be coded to the correct department. Class record is usually used to report on business units and product lines to track profitability. Location record is used for inventory business to specifically to track and manage physical location of inventory.
The key to designing proper segmentation is to ask questions like:
- Do you have separate legal entities that require separate financial statements as well as consolidated financials with another legal entity? E.g. Canadian Subsidiary rolling up to US Subsidiary
- Do you track inventory at a specific warehouse or virtual location? (e.g. New York Warehouse, Toronto Warehouse, Third Party Warehouse)
- How do you need your financial statements and OPEX reports to be segmented? (e.g. OPEX by cost center, P&L by product line, P&L by business unit)
- Do you have scenarios where you need a transaction to hit or be credited to more than one profit center simultaneously? (e.g. Professional Service team & Cloud Software team)
- Does your current cost center structure have the same sub-department under multiple departments? (e.g. Marketing (Field), Marketing (Business Dev), Sales (Field), Sales (Business Dev))
NetSuite can manage multiple currencies natively and maintain the source currency value and the functional value (converted at the transaction exchange rate) for each transaction. For A/R and A/P transactions, NetSuite also manages the aging in the source transaction amount and automatically calculates the unrealized and realized gain or loss against the functional currency. In fact, designating currency on NetSuite General Ledger accounts creates a lot of system restrictions which often leads to re-implementation of the Chart of Accounts. Therefore, the only accounts which you should designate currency for are, your Bank type accounts, as required by NetSuite.
3. Account Types
Account types in NetSuite define the default position of the account on the financial statements. However, some account types serve specific purposes within the system and have significant consequences if set up incorrectly.
- Bank type is designed for cash deposits or disbursement and perform functions such as bank reconciliation.
- Accounts Receivable and Payable types are designed for posting a customer invoice or vendor bill to create the sub-ledger. Additionally, any transactions posted to these account types will by default be added to the corresponding aging report even if a customer or vendor is not identified (e.g. on a journal entry). Therefore, it’s best to set up accounts such as Allowance for Doubtful Accounts and Other Receivables as Other Current Asset so they do not impact the aging report.
- Deferred Revenue type is designed to be a deferral account for items when using the Revenue Management or Advanced Revenue Management modules.
In addition, by enabling certain NetSuite features, certain system accounts will be created. These system accounts cannot be replaced by manually created accounts.
- Sales tax accounts (receivables and payables) are created using tax setup. Only tax control accounts created through tax setup can be assigned to tax codes to record taxes and generate tax reports.
- Unrealized and realized gain/loss are system accounts that automatically manage currency revaluation.
- Cumulative translation adjustment is a system account that automatically manages foreign currency translation on subsidiary consolidation
- Accrued purchase account is a system account that automatically manages A/P accrual on item receipts, if you choose to use that NetSuite feature.
NetSuite allows a high degree of flexibility on numbering. It is worth noting that the tradeoff for flexibility is that NetSuite stores the account number as text to accommodate special characters like dashes and period (for clients that segment their sub-accounts). This means while NetSuite General Ledger is presented chronologically, the concept of account ranges does not exist physically. It is still possible to design financial reports to grab specific set of accounts with statement such as “Account number starts with 11” rather than “Account number between 11000 to 11999”
To leverage the “Automated Inter-company Elimination” feature, inter-company accounts must be designated with the “Eliminate Inter-company Transaction” checkbox upon creation, as this can no longer be selected once transactions are posted against the account. Inter-company receivables and payables should only be created as Accounts Receivable or Accounts Payable type accounts if there is a business need to generate physical invoices. If you use inter-company journals to process transfer pricing, management fees etc. it is best to create these accounts as Other Current Asset and Other Current Liability in order to bypass the need of setting up each subsidiary as a customer and vendor.
Parent/children roll up exists in NetSuite but with some limitations. For example, only accounts with the same account type can be rolled up in a parent/children hierarchy. However, parent/children accounts are purely a preference and are not essential as accounts can be grouped together at the reporting level using the NetSuite financial report.
7. Merging General Ledger Accounts
When migrating your NetSuite General Ledger from another accounting system, it is important to keep in mind that NetSuite only requires one natural account so a proper GL mapping exercise needs to take place prior to migrating historical balances into NetSuite. Keep in mind that NetSuite also has record types such as Projects, Purchase Items, Expense Categories etc. to facilitate operational reports so if the existing General Ledger accounts are very granular, it is the perfect time to merge and clean up.
If for some reason, the data that was populated in Netsuite has duplicate accounts, they can be merged under a single account, keeping your ledger clean. Keep in mind that only similar account types can be merged. Additionally, if you are trying to merge two accounts of which one is a system account then you have to merge the second account into the system account, as system accounts cannot be deleted from the system.
As you see, implementing a new Chart of Accounts is not as simple as recreating the old set of accounts in NetSuite. There are still many more considerations when building your NetSuite Chart of Accounts. Therefore, it is best to engage a NetSuite partner with accounting experts to help you define your GL.