Documentation Index
Fetch the complete documentation index at: https://docs.dualentry.com/llms.txt
Use this file to discover all available pages before exploring further.
Migrating from NetSuite
This guide covers the end-to-end process of moving from NetSuite to DualEntry. NetSuite migrations are more involved than single-entity migrations because you are typically mapping subsidiaries, multi-level classifications, and approval logic. Plan for four to eight weeks depending on scope.Prerequisites
Before you begin, confirm you have the following. NetSuite migrations involve more moving parts than single-entity migrations, so thorough preparation reduces rework.- SuiteAnalytics or saved-search access to export chart of accounts, customers, vendors, items, and trial balances by subsidiary. If your NetSuite access is restricted, coordinate with your NetSuite administrator to run the exports.
- A scoping decision - decide up front whether you are bringing across opening balances only, opening balances plus open AR/AP, or full transaction history. This choice drives every subsequent step and determines the migration timeline.
- A DualEntry tenant with admin access and your entity hierarchy already configured. If you operate multiple subsidiaries, create the corresponding companies in DualEntry first. See Multi-Entity Consolidation.
Step 1: Map your chart of accounts
NetSuite scopes account lists to subsidiaries. DualEntry scopes accounts to companies. Start by mapping each NetSuite subsidiary to a DualEntry company, then map the accounts within each. Export each subsidiary’s chart of accounts from NetSuite using a saved search or SuiteAnalytics report. For every account, record the NetSuite account number, name, and type alongside the target DualEntry account number and type. If multiple subsidiaries share the same account structure, you can reuse the same mapping across DualEntry companies. Pay attention to NetSuite’s statistical accounts and memo accounts - these do not post to the GL and have no direct equivalent in DualEntry. Decide whether to omit them or recreate them as classification dimensions. For details on account setup, see Chart of Accounts.Step 2: Map classifications
NetSuite provides three fixed classification dimensions: department, class, and location. DualEntry classifications are flexible - you can define as many dimension types as you need. Export your NetSuite department, class, and location lists. Decide which ones carry over as DualEntry classifications and whether you want to add new dimensions (for example, project or product line) that NetSuite did not support natively. Map each NetSuite value to a DualEntry classification value and record the mapping for use during import. If your NetSuite instance uses custom segments beyond the three standard dimensions, map those as additional DualEntry classification types. DualEntry does not impose a limit on the number of classification dimensions, so you can replicate your full dimensional structure without workarounds.Step 3: Choose your migration depth
You have three options for how much data to bring from NetSuite into DualEntry. Your choice determines both the migration timeline and the level of historical detail available in DualEntry after cutover.- (a) Opening balances only. Fastest approach. You bring across a single journal entry per company with balance-sheet balances as of the cutover date. Suitable when you plan to keep NetSuite available for historical lookback.
- (b) Opening balances plus open AR/AP. The most common choice. In addition to balances, you import all unpaid customer invoices and vendor bills so you can manage collections and payments in DualEntry from day one.
- (c) Full transaction history. You import every posted transaction into DualEntry. This is the most time-consuming option. Choose this only if you are decommissioning NetSuite entirely and need historical drill-down in DualEntry.
Most teams choose option (b). It balances migration effort against day-one usability. If you keep a read-only NetSuite instance for historical reference, you rarely need option (c).
Step 4: Build the migration in bulk import
Use DualEntry’s bulk import tool to load data in this order. Loading data sequentially ensures that dependent records (like invoices that reference customers) resolve correctly.- Chart of accounts - upload the mapped account list for each company.
- Customers and vendors - import master data records.
- Items - if you track inventory or service items.
- Open AR/AP - import unpaid invoices and bills (if you chose option b or c).
- Opening balances - create a journal entry per company dated as of the cutover date with all balance-sheet account balances.
Step 5: Parallel run
Run both NetSuite and DualEntry simultaneously for one to two months. The parallel run validates that DualEntry produces the same financial results as NetSuite before you decommission the old system. During this period:- Post the same transactions in both systems.
- At the end of each month, generate a trial balance in each system and compare line by line.
- Investigate and resolve any differences immediately - they compound if left unaddressed.
- Document the comparison results for your auditors.
Step 6: Cutover
When you are satisfied the parallel run is clean, execute the final cutover. This is a coordinated event - plan it for a specific date and communicate it to your team in advance.- Stop posting new transactions in NetSuite.
- Redirect integrations (bank feeds, payment processors, payroll) to DualEntry. See the Integrations section for connector-specific setup.
- Close the current period in NetSuite and lock it to prevent accidental entries.
- Communicate the cutover date to your team so no one accidentally posts in the wrong system.
Step 7: Validate
Run a final trial balance comparison between DualEntry and NetSuite as of the cutover date. Every account balance should tie across all companies in your entity hierarchy. Pay special attention to intercompany accounts, foreign-currency revaluation balances, and deferred revenue - these are the most common sources of discrepancy in NetSuite migrations. Intercompany differences often arise from elimination timing; revaluation differences come from different exchange-rate sources or rounding rules. Document any differences and their resolutions. This becomes part of your audit trail for the transition and gives your auditors confidence in the data integrity of the new system.Handling approval workflows
NetSuite’s SuiteFlow approval logic does not transfer to DualEntry. You need to rebuild your approval workflows using DualEntry’s own approval workflow engine, which supports configurable stages, role-based approvers, and amount thresholds. Review your current NetSuite approval chains and document the rules - who approves what, at what thresholds, and in what order. Then recreate them in Settings → Approval Workflows. DualEntry’s workflow builder lets you define conditions per transaction type (for example, all bills over five thousand dollars require controller approval). Test each workflow with a sample transaction before going live. Verify that the correct approvers receive notifications and that posting is blocked until all required approvals are complete. Approval workflow misconfiguration is a common source of post-cutover frustration, so invest time in testing during the parallel run.Related reading
- Multi-Entity Consolidation - setting up your entity hierarchy
- Bulk Import - loading accounts, master data, and transactions via CSV
- Chart of Accounts - building your GL structure
- Approval Workflows - configuring approval chains
