NoteData migration

Migrating accounting data between systems safely

Treat a migration as a reconciliation exercise: freeze, extract, map, load in trial, prove the balances, run in parallel, cut over, then keep the old records readable for as long as the law requires.

Published 25 Sep 2026 · law as at that dateReviewer · To be confirmed

9 min read
WhatsApp (opens in a new tab)

Key points

  • Books kept electronically must stay accessible in India at all times, with a daily backup on servers physically located in India (Companies (Accounts) Rules, 2014, rule 3).
  • Accounting software must keep an edit log of every change that cannot be disabled (proviso to rule 3(1), from 1 April 2023). The old system's log is part of the record.
  • Books must be preserved for at least eight years (Companies Act, 2013, s. 128(5)); GST accounts until 72 months from the due date of the annual return (CGST Act, s. 36).
  • Every stage needs a control total. Switch off the old system only after a parallel run agrees.

Why migrations fail quietly

A migration can finish on time and still be wrong. The opening trial balance agrees, but a party ledger is split across two codes, tax codes land in the wrong return, or three months of edits are missing from the history. These errors surface months later, usually when someone needs the record in a hurry.

The fix is not a better import tool. It is a method with a control total at every stage and a sign-off before every load.

The records rules that shape the plan

  • Where the books live. Section 128(1) of the Companies Act, 2013 allows books of account to be kept in electronic form. Rule 3 of the Companies (Accounts) Rules, 2014, as amended in 2022, requires electronic books to remain accessible in India at all times, and a backup to be kept on servers physically located in India on a daily basis. A new cloud system has to meet this from day one.
  • The edit log. Since 1 April 2023, the proviso to rule 3(1) requires accounting software to record an audit trail of every transaction, creating an edit log of each change with the date, and does not allow it to be disabled. The old system's log belongs to the record for the years it covers, so plan how it will stay readable after cut-over.
  • How long to keep them. Section 128(5) requires books of account and relevant vouchers to be preserved for at least eight financial years before the current one. Under section 36 of the CGST Act, 2017, accounts and records must be retained until seventy-two months from the due date for furnishing the annual return for the year they relate to. Income-tax record periods apply in addition.
  • Personal data. Ledgers include individuals: employees, individual vendors, customers. Under the DPDP Act, 2023, a migration vendor acts as a data processor under a contract (section 8(2)), and should receive only the data the migration needs.

A method with a control at every step

StageWhat happensControl
PlanAgree scope, periods to migrate, cut-over date, ownersSigned migration plan
FreezeStop master-data changes in the old system for the extract windowChange freeze notice
ExtractExport masters, balances, open items and agreed historyRecord counts and totals at source
CleanseRemove duplicates, fix formats and dates, merge split partiesLog of every fix, approved
MapOld codes to new: accounts, parties, cost centres, tax codesMapping workbook signed off
Trial loadFull rehearsal into a test companyTrial balance and party balances agree
Parallel runPost the same period in both systemsResults agree before switch-off
Cut-overFinal load and go-liveRollback point and go/no-go sign-off
ArchiveKeep old data and its edit log readable, read-onlyRetention schedule and access list

What to reconcile, not just the trial balance

  • Trial balance by account, for the opening date and each migrated period.
  • Receivable and payable balances by party, not only in total.
  • Open items: unpaid invoices, advances and unadjusted credits, one by one.
  • Tax ledgers: GST input and output by rate and period, and tax-deducted balances.
  • Fixed assets: cost, accumulated depreciation and the asset register count.
  • Record counts for every master and transaction table extracted.

Common traps

  • Codes that lose zeros. Opening an export in a spreadsheet can strip the zeros at the start of account or party codes. Keep codes as text.
  • Dates. Day-month and month-day formats swap silently. Check a sample of dates after the 12th of a month.
  • Rounding. Differences of a rupee per line add up. Reconcile at line level for a sample, not only at totals.
  • Duplicate parties. One supplier under three spellings becomes three ledgers. Merge before mapping.
  • History without context. Migrating transactions without their narration or reference numbers makes the new history hard to use.

After go-live

Keep the old system, or a complete readable export of it with its edit log, under a named owner for the full retention period. Write down where it is, who can open it and how. The day someone asks for a voucher from four years ago is the day the migration is really tested.

Desk review pending

More notes

Was this page useful?

Sends only this page's address and your answer. No personal data is collected.

NextEnquiry

Want this applied to your process?
Send it over.

Send an enquiry