Migrating from Tally or a legacy ERP to NetSuite ERP for Indian mid-market is the most complex part of a NetSuite implementation for Indian businesses. It involves moving chart of accounts, open balances, transaction history, master data, and custom configurations while keeping the business running.

Migrating financial data from Tally to NetSuite

What Gets Migrated

A typical Tally-to-NetSuite migration includes:

Pre-Migration Data Cleanup

Before migrating, clean up your Tally data. Common issues:

Every data quality problem in Tally becomes a bigger problem in NetSuite. Fix it before migration, not after.

Migration Approach

Use a phased approach:

  1. Phase 1: Masters, migrate chart of accounts, customers, vendors, and items. Validate in NetSuite Sandbox.
  2. Phase 2: Opening balances, enter the trial balance as of the cutover date using journal entries.
  3. Phase 3: Open transactions, import unpaid invoices, open POs, and pending deliveries.
  4. Phase 4: Historical data, import 1 to 3 years of transactions if needed for audit trail.
Migration cutover planning with parallel run

Cutover Strategy

Choose a cutover date that aligns with a month-end or quarter-end. Run Tally and NetSuite in parallel for 2 to 4 weeks. During parallel run, enter transactions in both systems and reconcile at month-end. Once the reconciliation matches, switch to NetSuite only.

Common Migration Pitfalls

Why Chart of Accounts Mapping Is Not a One-to-One Exercise

Tally organises everything around ledger groups in a largely flat hierarchy. NetSuite separates the account itself, Asset, Liability, Income, Expense, Equity, from reporting dimensions like class, department, and location that sit alongside it. A Tally ledger such as “Sales – Mumbai Branch” often should not become its own NetSuite account at all. It usually becomes a single Sales income account combined with a Location segment value of Mumbai, so the same account can be reused across every branch and still report separately by location.

Businesses that map every Tally ledger to a distinct NetSuite account end up with a chart of accounts that is far longer than it needs to be, and harder to report on once there is more than one branch or product line. This decision belongs in Phase 1, before any masters are loaded into Sandbox, not something to fix after transactions are already posting. Consolidating an over-built chart of accounts after go-live means re-mapping historical entries, which is a bigger job than designing the structure correctly the first time.

Reconciling the Parallel Run

Running Tally and NetSuite side by side for 2 to 4 weeks is only useful if the reconciliation at the end actually checks the right things. A month-end total that matches can still hide problems underneath it.

  1. Compare the trial balance account by account between Tally and NetSuite, not just the grand total. A matching total with several offsetting differences underneath it is not a clean reconciliation.
  2. Match the AR and AP ageing summary between the two systems. A mismatch here almost always means an invoice, credit note, or payment was entered into one system during the parallel period and missed in the other.
  3. Reconcile GST liability and input credit balances against the actual GST portal figures, not only against each other. Both systems can agree with one another and still be wrong against what has actually been filed.
  4. Verify the fixed asset register and depreciation schedule separately if Tally tracked assets outside the core ledger, since asset continuation schedules are easy to miss when only the trial balance and open transactions are checked.
  5. Confirm the bank reconciliation status matches in both systems for the same statement period before signing off on the parallel run and switching Tally off.

Treat this as a checklist, not a formality. A parallel run that only compares two grand totals at month end is not proof the migration is clean, it is proof the two totals happen to match this one time.

Assign one person, usually the finance lead who will use NetSuite daily after go-live, to own this sign-off rather than splitting it across whoever has time that week. A checklist without a single owner tends to have each item confirmed by a different person, and the gaps between what each person actually checked are exactly how migration errors slip through into the new system unnoticed.

Frequently Asked Questions

How long does a Tally to NetSuite migration take?
4 to 8 weeks for data migration alone. This includes data extraction from Tally, cleanup, mapping, import into NetSuite Sandbox, validation, and production cutover. The total implementation including configuration and training is 3 to 6 months.
Can I import Tally data directly into NetSuite?
Not directly. Export Tally data as XML or CSV using Tally’s export tools, transform the data to match NetSuite’s import format (CSV templates or SuiteScript), and import via NetSuite’s CSV Import tool or a migration script. A partner like Aaxonix handles the transformation logic.
Do I need to migrate all historical transactions?
No. Most companies migrate opening balances and open transactions only. Historical transactions (closed invoices, past journal entries) are kept in Tally for reference. Migrate 1 to 3 years of history only if you need it for audit or trend analysis in NetSuite.
What about GST credit balances during migration?
Carry forward your CGST, SGST, and IGST credit balances as opening balances in NetSuite. These must match your GST portal balances exactly. Verify the numbers with your CA before entering them in NetSuite to avoid compliance issues.