Best Practices: Chart of Accounts in NetSuite
Effectively managing the Chart of Accounts (CoA) in NetSuite is essential for ensuring financial accuracy, compliance, and operational efficiency. As organizations transition from other ERP systems to NetSuite, understanding how to properly migrate and structure the CoA—while leveraging features such as Account Types and Multi-book Accounting—is key to long-term financial clarity and scalability.
This guide outlines the best practices across three major areas: CoA migration, account structuring, and multi-book mapping.
Migrating a Chart of Accounts (CoA) to NetSuite
Migrating a Chart of Accounts (CoA) to NetSuite is one of the most critical elements of a financial system transition. The Chart of Accounts serves as the foundational framework for recording and reporting financial data, and its design and implementation directly impact the efficiency, accuracy, and clarity of an organization’s financial processes. Whether you’re replacing a legacy ERP or streamlining a fragmented accounting environment, a well-executed CoA migration ensures that your organization leverages the full capabilities of NetSuite for financial clarity, operational control, and regulatory compliance.
To achieve a seamless and successful migration, it is essential to approach the process strategically and methodically. This involves more than simply transferring account numbers from one system to another. It requires thoughtful planning, stakeholder collaboration, detailed analysis, and robust testing to ensure that the new CoA aligns with business goals, supports reporting requirements, and enables future scalability.
Below is the list of common pitfalls to avoid in the Migration process:
Overcomplicating the CoA with too many accounts rather than using dimensions. Usual scenarios are when companies use different accounts for expenses with the same nature to identify transactions per Department. We can always leverage NetSuite’s native segmentations and Customization of reports to arrive at the same data needed without maintaining multiple accounts.
Failing to do parallel testing before going live. Issues from Audit and misstated reports are the usual effect of not properly testing reports upon migration.
Not involving end users early in the design phase. It is important to involve end users early in the migration to ensure that there will be no drastic changes to their processes upon changing ERP systems.
Ignoring reporting requirements when designing the structure. There are certain reporting requirements that need to be considered upon designing the migration like statutory/local requirements where we can leverage Accounting Context/Multibook Accounting to ensure that raw data from NetSuite will be used for reporting and will eliminate any additional manipulation of the reports outside the system.
For best practices, below is a Checklist to use with detailed steps in Migrating CoA into NetSuite:
1. Pre-Migration Planning
CoA Assessment
Review and document the existing CoA structure
Identify unused, redundant, or duplicate accounts
Determine reporting needs that influence account structure
Decide on account level granularity (summary vs. detailed)
Design New CoA for NetSuite
Align accounts with NetSuite’s account types (Income, Expense, etc.)
Determine use of NetSuite segments (Department, Location, Class)
Establish naming and numbering conventions
Define parent-child account relationships for hierarchy
Mapping Strategy
Create a detailed mapping sheet (Old -> New accounts). Ensure that COA from the previous ERP system is properly documented and stored in case of future requirements
Review mapping with accounting/finance stakeholders
Flag accounts for merge, rename, or deactivate
Validate account types and subledger compatibility
2. Data Preparation
Cleanse the legacy CoA (remove duplicates, fix inconsistencies)
Extract CoA and trial balances from the legacy system
Reconcile trial balances to ensure data accuracy
Lock period in legacy system before cutover
3. NetSuite Configuration & Migration
Environment Setup
Configure NetSuite chart of accounts structure
Set up account segments (e.g., departments, locations)
Review role-based access for finance users
Data Import
Prepare CSV files for CoA import (use NetSuite template)
Use NetSuite’s CSV Import Assistant or SuiteCloud tools
Validate data post-import (e.g., spot-check accounts and balances)
Load opening balances via journal entries
4. Testing & Validation
Run test transactions (journals, AP, AR) using new CoA
Compare reports (Trial Balance, P&L, Balance Sheet) between systems
Conduct parallel run if possible (legacy + NetSuite)
Document and resolve any discrepancies
5. Post-Migration Activities
Train users on the new CoA structure and account usage
Distribute updated documentation with mapped accounts
Monitor account usage in the first period for anomalies
Schedule review checkpoints (e.g., 30/60/90 days post go-live)
Archive legacy CoA documentation for audit/compliance
Updating Chart of Accounts in NetSuite After Mergers or Acquisitions
When mergers or acquisitions occur, updating the Chart of Accounts (CoA) in NetSuite becomes a critical process that ensures consistent financial reporting across newly combined entities. The integration of multiple subsidiaries—each possibly with its own CoA, currencies, and accounting standards—requires careful planning and execution.
Below is a detailed guide outlining the process and best practices for updating the CoA in NetSuite during M&A events:
Phase 1: Planning and Assessment
1. Conduct a CoA Audit Across All Subsidiaries
Review the existing CoAs of all involved subsidiaries.
Identify:
Duplicate accounts (e.g., multiple “Office Supplies” accounts with different names)
Conflicting account types (e.g., asset vs. expense)
Variations in currency, naming conventions, or hierarchy.
2. Establish a Global CoA Strategy
Decide whether to:
Standardize all subsidiaries under one global CoA, or
Maintain some localized accounts for statutory reporting needs
Consider business models, regional compliance needs, and segment reporting when defining the global structure.
Phase 2: Design and Mapping
3. Build a Unified CoA Structure in NetSuite
Use parent-child account hierarchy to group similar accounts (e.g., “Travel Expenses” → “Airfare,” “Lodging”).
Use NetSuite’s dimensions (Department, Location, Class) instead of duplicating accounts per entity or region.
4. Create a CoA Mapping Document
Map each old subsidiary-specific account to the new global account.
Indicate:
Which accounts to merge
Which accounts to retain uniquely
Any new accounts needed
Include account type alignment and functional equivalence checks (e.g., mapping AP to AP).
5. Determine Effective Date and Reporting Period
Choose a transition period (typically period-end) where data can be cut over cleanly.
Lock transactions during the migration to preserve data integrity.
Phase 3: Implementation
6. Update Accounts in NetSuite
Use NetSuite CSV Import Assistant or SuiteCloud tools to:
Add new accounts
Inactivate legacy accounts (do not delete)
Update account numbers/names
7. Remap Accounting Preferences
For each subsidiary, update:
Default GL accounts (e.g., bank, AP, AR, retained earnings)
Revenue and expense recognition rules
Inventory, asset, and tax account mappings
8. Recode Historical Transactions (Optional/Selective)
If full restatement is needed for comparative reporting, consider journal entries or reclassification scripts.
Otherwise, leave historicals under legacy CoA and start the new structure going forward.
Phase 4: Validation and Testing
9. Test in a Sandbox Environment
Simulate common transactions in each subsidiary under the new CoA.
Validate that:
Reports aggregate correctly
Segment breakdowns are preserved
FX and intercompany transactions behave as expected
10. Run Parallel Financial Reports
Run financials under both old and new mappings to ensure alignment.
Conduct variance analysis to catch any misclassifications.
Phase 5: Go-Live and Post-Migration
11. Communicate Changes Internally
Share updated CoA definitions and mapping guidelines with accounting and FP&A teams.
Train end users on how to use new account selections and dimensions.
12. Update Saved Searches, Scripts, and Reports
Adjust any saved searches, dashboards, or reports that reference old account IDs or names.
Update workflows or approval rules if tied to specific accounts.
Proper Use of Account Types and System Generated accounts in NetSuite
Understanding how NetSuite structures and uses accounts ensures clean reporting, accurate financial statements, and smooth transaction processing.
Understanding NetSuite Account Types
Account types in NetSuite form the foundation of how transactions are categorized and reported. Each Account Type defines how the system treats the account in terms of behavior, classification, and financial reporting.
Main Account Type Categories:
Best Practices for Using Account Types
Use the Correct Type When Creating Accounts
Choose the appropriate account type when creating a new GL account to ensure proper classification.
You cannot change an account’s type after creation, so select carefully.
Specific Examples:
Ensure to use Accounts Receivable/Accounts Payable type for Due to/from Intercompany Accounts to properly leverage the Automated Intercompany Management of NetSuite.
You may use the “Fixed Asset” Account type for all Fixed Asset Accounts if using the FAM Bundle of NetSuite.
When using Bank Accounts, you can only tag a specific Currency and Subsidiary to the Account. In case of multi-currency transactions, you may leverage more than. 1 Bank Account in a subsidiary.
Ensure that the Eliminate checkbox is checked for accounts to be used for Intercompany Transactions.
Use Parent-Child Hierarchies
Organize accounts into hierarchies for better roll-up reporting.
Example:
Parent: Travel Expenses
Child: Airfare
Child: Lodging
Note that we can only build hierarchies of Accounts of the same Account Type.
Avoid Redundancies
Use dimensions (Department, Class, Location) instead of creating separate GL accounts for each scenario (e.g., avoid “Salary - US”, “Salary - UK”).
System-Generated Accounts in NetSuite
NetSuite automatically creates or relies on several system-generated accounts that are essential for system operations and cannot be deleted. These accounts serve specific functions and are used by default in many automated processes.
Common System-Generated Accounts:
These accounts are required by NetSuite for core processes such as billing, receiving, inventory, and currency management. You should not modify or repurpose them for custom use.
General Recommendations:
It is best practice to avoid direct posting to the following accounts where the system automatically calculates for their balances for reporting purposes:
Retained Earnings
Rounding, Unrealized, Realized Gain/Loss accounts
In cases where there are requirements for a specific account for Currency Revaluations that are dependent on a Segment, we can leverage NetSuite’s native Transaction Mapping that can be dependent on rules that we can set instead of manual adjustments to the account.
Chart of Accounts using Multi-Book Accounting vs. Accounting Context
Managing the Chart of Accounts (CoA) in NetSuite requires a nuanced understanding when working in environments that use either Multi-Book Accounting or Accounting Contexts. While both features provide support for handling multiple financial standards or reporting structures, they do so in very different ways—with significant implications for how the CoA is managed, mapped, and used.
Below is a detailed comparison and guidance on Chart of Accounts Management in Multi-Book Accounting vs. Accounting Context in NetSuite.
Overview: Multi-Book Accounting vs Accounting Context
Chart of Accounts in Multi-Book Accounting
In Multi-Book, you manage multiple accounting books within the same NetSuite environment and define how transactions post to accounts across books. You do not duplicate the Chart of Accounts—instead, you use account mapping.
Key Principles:
Single CoA, Multiple Book Postings
Accounts are shared across books, but each transaction can post differently depending on the book.
Book-Specific Settings
Define posting rules per book: e.g., one revenue recognition rule for US GAAP, another for IFRS.
Certain records (such as Fixed Assets or Revenue Elements) can have book-specific attributes.
Account Mapping Table
Configure mapping to determine how a transaction posts in each book:
Book 1 → Account A
Book 2 → Account B
Revenue, Amortization, and Depreciation Rules
These rules can differ per book, which allows for parallel financial treatment.
Chart of Accounts in Accounting Contexts
Accounting Contexts are more about segmenting account access and structure per subsidiary or country, often used in OneWorld implementations for statutory localization.
Key Principles:
Separate CoA by Subsidiary (via Context)
Each Accounting Context can have a custom subset of the master CoA.
Context-Based Availability
Accounts can be enabled/disabled by context to limit visibility and usage.
Localization Use Cases
For example, China or France might require accounts to match local charts (e.g., Plan Comptable).
No Parallel Books
All financial results roll up into one primary accounting book.
You do not have separate posting records as in Multi-Book.
Side-by-Side Comparison: Chart of Accounts Behavior
Strategic Guidance
Use Multi-Book Accounting when:
You need true parallel accounting treatments.
You’re required to file under multiple GAAP standards.
You need per-book revenue recognition, depreciation, or FX handling.
Use Accounting Contexts when:
You have subsidiaries in countries with specific charting or reporting rules.
You want to limit or customize CoA visibility without impacting financial treatment.
You do not need full parallel books but still require localized structures.
Conclusion
A well-designed Chart of Accounts is one of the most powerful assets a finance organization can build in NetSuite. Whether migrating from a legacy system, consolidating entities after a merger, or optimizing for multi-book and global reporting, taking a structured and strategic approach ensures accuracy, compliance, and long-term scalability. By aligning account types, leveraging native dimensions, and applying disciplined mapping and validation processes, organizations can unlock cleaner reporting, reduce operational friction, and streamline financial close cycles. With the right CoA foundation in place, NetSuite becomes far more than an accounting system. It becomes a reliable, flexible financial engine that supports business growth, audit readiness, and confident decision-making.