ATS Global
ERPNext · Migration · Tally / Excel / legacy ERP

Tally to ERPNext migration, reconciled to the last trial balance

A migration is not an import. It is the point where your finance team decides whether to trust the new system, and they decide on one question: does the opening trial balance tie out, party by party, item by item, warehouse by warehouse? We migrate from Tally, Excel, Busy and legacy ERPs to ERPNext with that reconciliation as the deliverable, run both systems in parallel for a closing period, and switch the old one off only when finance says so.

Appistoki logo
Capgemini logo
Careedge Global logo
CES logo
Cignex logo
EngineersMinds logo
Fulcrum logo
IGT Solutions logo
InfoBeans logo
ITC logo
Knowarth logo
Larsen & Toubro logo
Lister logo
Ness logo
NetSol logo
PodEngine logo
Raising logo
Sharp logo
Triton logo
Wego logo
Wipro logo
Xebia logo
99 %+inventory accuracy once operations moved off spreadsheets onto ERPNext (Mohan Impex)
3 d → 4 hmonthly GST filing preparation after the migration to ERPNext (Mohan Impex)
100 %of business processes digitised — spreadsheet operations fully eliminated (Mohan Impex)
22 %lower inventory holding cost after replacing legacy on-premise systems with ERPNext (Jyoti CNC)

What a migration covers

The six migrations we run, from Tally to a new ERPNext version

Most migrations are one workstream inside an ERPNext implementation; some — a version upgrade, a move between clouds — are projects of their own. All of them use the same discipline: clean the masters first, migrate as of a cut-over date, reconcile before anyone transacts, and keep the old system readable until the audit no longer needs it.

Tally to ERPNext

Ledgers, groups, stock items, godowns, cost centres, GST details and vouchers extracted from Tally Prime or Tally ERP 9, mapped onto ERPNext's chart of accounts, parties, items and warehouses, and loaded as of a cut-over date with reconciliation to the last Tally trial balance.

Excel, Busy, Zoho & legacy ERPs

Spreadsheet-run companies, Busy and Zoho Books, and older ERPs with or without an export — masters, balances and history extracted through exports, database reads or, where nothing else exists, structured data-entry with validation. Mohan Impex moved 100 % of its processes off spreadsheets this way.

Master-data cleansing

Customers, suppliers, items, accounts and employees de-duplicated, standardised and enriched — GSTIN and PAN validated, HSN/SAC codes assigned, units and item groups rationalised — with your team signing off the cleaned masters before anything is loaded.

Opening balances & reconciliation

Trial balance by account, receivables and payables at invoice level so payments can be matched, stock quantities and valuation by warehouse and batch, bank balances, fixed assets with accumulated depreciation — each reconciled to the old system in a report finance signs.

Transaction history

As much history as reporting actually needs — opening balances only, the current financial year, or several years — loaded as ERPNext documents with the old voucher numbers kept for traceability, and the rest archived and searchable rather than migrated.

Version upgrades & re-hosting

ERPNext v12, v13 or v14 to v15 with custom apps tested on a staging site first; moves between Frappe Cloud, your cloud account and on-premise; database, files and private files carried over with a rehearsed cut-over and a rollback plan.

Why migrations fail

Where ERP migrations go wrong, and why we treat migration as its own workstream

Implementations rarely fail on configuration; they fail in the first month-end, when the numbers do not match. The causes are predictable. An opening balance that does not tie to the old trial balance, so every report starts with an unexplained difference. A stock ledger that begins a week after cut-over, so valuation is wrong from day one. A customer master with three spellings of the same company, so receivables split across them. Receivables migrated as one lump per party, so no payment can be matched to an invoice and ageing is meaningless. Tax details missing on masters, so the first GST return is prepared by hand — exactly what the ERP was bought to stop.

Each of those is a migration problem, not a software problem, and none of them is visible in a demo. That is why migration is a workstream of its own in every ERPNext project we deliver, with its own plan, its own owner on your side — usually the person who closes the books — and its own deliverable: a reconciliation pack that finance signs before the first live transaction is entered. Mohan Impex's inventory accuracy went above 99 % and its GST filing preparation from three days to four hours because the migration was reconciled rather than imported.

Tally to ERPNext

Tally to ERPNext, step by step

Tally is our most common starting point, and it maps onto ERPNext better than its reputation suggests once the structural differences are understood. Tally's ledgers are both accounts and parties; ERPNext separates the chart of accounts from customers and suppliers, so every Tally ledger is classified before it is loaded. Tally's groups become the account tree; stock groups and items become item groups and items with units of measure; godowns become warehouses; cost centres map directly; GST registration, state and tax classifications on ledgers become the tax templates and categories ERPNext uses to compute GST on every document.

  • Extract — masters and vouchers from Tally Prime or ERP 9 via XML export, ODBC or Excel, for every company and financial year in scope
  • Map — Tally groups to ERPNext's chart of accounts; ledgers to accounts, customers or suppliers; stock groups, items, units and godowns; cost centres; GST classifications to tax templates and item tax categories
  • Cleanse — de-duplicate parties and items, validate GSTIN and PAN, assign HSN/SAC, standardise units and naming; your team signs off the cleaned masters
  • Load masters — accounts, parties with addresses and contacts, items with valuation method, warehouses, cost centres, employees, price lists — through the Data Import tool or scripted loads with validation
  • Load balances — opening trial balance as of the cut-over date, invoice-level receivables and payables, stock by warehouse and batch at valuation, bank balances, fixed assets
  • Load history (if in scope) — Tally vouchers as ERPNext journal entries, sales and purchase invoices, payment entries and stock entries, with Tally voucher numbers preserved in a reference field
  • Reconcile — trial balance, party outstanding, stock valuation, bank and GST liability compared line by line to Tally in a signed reconciliation report

Opening balances

Opening balances and the reconciliation finance actually signs

The cut-over date decides most of the work. The start of a financial year is cleanest — one opening trial balance, no part-year history — and the start of a quarter is the usual compromise when the business cannot wait. At that date we load the trial balance by account and reconcile it to Tally's to the rupee. Receivables and payables are loaded invoice by invoice with their original dates and due dates, not as one balance per party, so that ageing reports are right on day one and every incoming payment can be matched to what it pays. Stock is loaded by item, warehouse and batch or serial number at quantity and valuation rate, and the resulting stock value is tied to the balance sheet's inventory figure. Bank balances are reconciled to statements; fixed assets are loaded with cost, accumulated depreciation and remaining schedule so depreciation continues without a break.

The reconciliation pack that comes out of this is the migration's deliverable: account-by-account, party-by-party and warehouse-by-warehouse comparisons between the old system and ERPNext, each difference explained or corrected, and a sign-off from the person who owns the books. Nobody enters a live transaction until it is signed. It is also the document the auditor asks for at year-end, which is why it is written for them rather than for us.

History

How much history to bring across, and what to do with the rest

The instinct is to migrate everything; the right answer is to migrate what reporting needs and archive the rest. Opening balances only is the fastest and cleanest option and suits companies whose historical reporting can stay in Tally, kept as a read-only archive. Current financial year transactions are the common middle ground: comparatives, GST reconciliation and ageing all work inside ERPNext from go-live, at the cost of loading and reconciling part-year documents. Multi-year history is justified when contracts, warranties, batch traceability or a regulator require it in the live system — and it is where migration effort grows fastest, because every year's transactions must reconcile to that year's closing balances.

Whatever the depth, the old system is not deleted. Statutory retention for books of account runs for years, so Tally or the legacy ERP is kept as a read-only archive with its data exported to durable formats, and ERPNext documents carry the old voucher or invoice numbers so a query from an auditor or a customer can be traced back in seconds. GST history is a special case: filed returns stay with the period in which they were filed, and e-invoice IRNs and e-way bills generated by the old system are recorded on the migrated documents rather than regenerated.

Cut-over

The parallel run, the cut-over and what happens if something is wrong

Before the old system is switched off, both run for one closing period. Transactions are entered in Tally as usual and in ERPNext by the team who will own it, and at the period end the trial balance, GST returns, party statements and stock reports are compared line by line. Differences are almost always process — a voucher type used differently, a warehouse missed, a tax template wrong — and the parallel month is where they are found and fixed while nothing is at stake. It is also the month in which the team learns ERPNext on their own live numbers, which is better training than any workshop.

Cut-over itself is a checklist run on a date agreed with finance: transactions frozen in the old system, the final delta of balances migrated and reconciled, master data locked, users' roles confirmed, and the first documents entered in ERPNext with our consultant in the room. The rollback plan is simple because the old system is still there: if the reconciliation at cut-over does not sign, the business keeps transacting in Tally for another period and we fix the cause. A hypercare month follows, through the first month-end close, GST filing and payroll on the new system.

Upgrades & re-hosting

ERPNext version upgrades and moving between Frappe Cloud, your cloud and on-premise

The other migration is the one an ERPNext already running needs: a version upgrade or a change of hosting. Upgrading from v12, v13 or v14 to v15 is a Frappe framework upgrade as much as an ERPNext one, and it goes wrong where customisations touched core or custom apps have no tests. Our approach is a copy of production on a staging bench, the upgrade run there with every custom app's tests and patches, a list of deprecated features and changed behaviour reviewed with your team — reports, print formats and integrations are the usual casualties — and a rehearsed production cut-over with a timed backup and restore so the rollback is measured in minutes.

Moving hosting — Frappe Cloud to your own AWS or Azure account for cost or control, on-premise to cloud, or an unmanaged server to a proper bench — carries the database, public and private files, site configuration, scheduled jobs and integrations across, with DNS, TLS, backups, monitoring and restore drills set up before the switch. Where data residency is a requirement, as with the MOSPI platform under Government of India rules, the target environment is chosen for the regulator first and for cost second.

Timeline & cost

How long a migration takes, what drives the cost, and who it is for

As a guide from our own projects: a single-company Tally migration with opening balances only takes two to three weeks and runs inside the implementation; with current-year history and a reconciled parallel month it is four to six weeks; a multi-company, multi-year migration from a legacy ERP with stock, assets and integrations is two to four months. An ERPNext version upgrade is one to three weeks depending on how many custom apps and reports must be tested, and a hosting move is one to two weeks including rehearsal. The implementation page has the timelines for the rollout around the migration.

Five things set the cost: the state of your data — duplicate parties, items without units, ledgers with no tax details; the depth of history; the number of companies, warehouses and financial years; whether stock, batches, serial numbers and fixed assets are in scope; and, for upgrades, the amount of customisation and whether it was built upgrade-safe. Migration is quoted as part of the implementation's fixed price after discovery has looked at the actual data; upgrades and hosting moves are quoted as fixed-price projects after a review of the current bench.

This work fits companies moving to ERPNext from Tally, Busy, Zoho or spreadsheets — manufacturers and traders in particular, as at Mohan Impex and Jyoti CNC; groups consolidating several companies' books onto one system; organisations replacing a legacy or licensed ERP; and anyone already on ERPNext who is two versions behind or paying too much for hosting. If you are in Saudi Arabia or the Gulf, the ZATCA and VAT specifics are on the ERPNext in Saudi Arabia page.

Start with a look at the data

Send a Tally backup or your spreadsheets under NDA and we will come back within a week with what will migrate cleanly, what needs cleansing, a recommended cut-over date and a fixed price.

Book a migration assessment

Our technology stack

What a migration is built and verified with

ERPNext's Data Import tool and REST API for loads, Python scripts for extraction, mapping and validation, MariaDB for reconciliation queries, and a staging bench in Docker that rehearses every cut-over before it happens.

ERPNext / Frappe logoERPNext / FrappePython logoPythonMariaDB logoMariaDBRedis logoRedisDocker logoDockerNGINX logoNGINXGitHub Actions logoGitHub ActionsAWS logoAWS

How we deliver

From a look at the real data to a signed reconciliation and a retired Tally

Five phases, each ending in something finance can check: a data assessment, cleaned masters, a reconciled load, a parallel month that matches, and a cut-over with the old system still there if needed.

STEP 01

Assess the data

Exports from Tally, Excel or the legacy system reviewed for duplicates, gaps and tax details; cut-over date and history depth agreed; a migration plan with owners on both sides.

STEP 02

Cleanse masters

Parties, items, accounts and employees de-duplicated and enriched in review sheets your team signs off before anything is loaded.

STEP 03

Load & reconcile

Masters, opening balances and in-scope history loaded to a staging site; trial balance, party outstanding, stock and bank reconciled to the old system in a signed report.

STEP 04

Parallel run

One closing period on both systems; reports compared line by line; process differences fixed while nothing is at stake; the team learning on live numbers.

STEP 05

Cut-over & hypercare

Transactions frozen, final delta migrated and reconciled, first live documents entered with us in the room, and a month of support through the first close, GST filing and payroll.

Case studies

ERPNext and Frappe rollouts that started from spreadsheets, registers and legacy systems

Each began with data somewhere else — Excel, paper registers, on-premise systems — and ended with one system of record and a measured outcome.

All case studies
Import-Export & Manufacturing

Mohan Impex

End-to-End Business Digitisation — Import-Export, Manufacturing & HRMS on ERPNext. ATS Global Techsoft delivered a full AnvikERP (ERPNext) implementation covering Accounting, Buying, Sales, Manufacturing with Bill of Materials, Import-Export with custom duty compliance, Channel Partner Management, HRMS with payroll, and India-specific GST compliance.

ERPNext v14Frappe FrameworkPythonMariaDB

Read case study

CNC Machine Manufacturing

Jyoti CNC Automation

Manufacturing ERP with QMS & Production Planning for CNC Machine Manufacturer. ATS deployed an ERPNext manufacturing ERP covering Bill of Materials management, Production Order planning and scheduling, Work Centre and Routing configuration, Quality Inspection plans for in-process and finished goods, Batch and Serial Number traceability, Warehouse management with barcode scanning, and a comprehensive reporting layer for production efficiency KPIs.

ERPNext v14FrappePythonMariaDB

Read case study

Automotive Manufacturing

UNO MINDA

SAP Champion — Employee Training, Assessment & Digital Certification Platform for 3,000+ Employees. ATS built a custom Frappe/ERPNext-based Learning Management System (SAP Champion) with structured training module libraries, automated pre- and post-assessment workflows, digital certification issuance with QR verification, and management dashboards showing real-time training completion rates by department, location, and skill category.

ERPNextFrappe FrameworkPythonMariaDB

Read case study

NGO / Social Sector

GRAAM

Integrated LMS & Programme Management System for Capacity Building & CSR Programmes. ATS implemented an integrated ERPNext-based LMS and Programme Management System covering course creation with structured curriculum management, batch and participant management, certification workflows for capacity building graduates, CSR programme lifecycle management with task tracking and milestone monitoring, and automated impact reporting dashboards.

ERPNextFrappe FrameworkPythonMariaDB

Read case study

Education Technology / Government Skilling

RKCL

State-Level Digital Skilling Programme Management & Certification Platform. ATS built a custom Frappe-based programme management application covering training centre lifecycle management, student registration and batch allocation, digital examination scheduling and result processing, automated certificate generation with tamper-proof verification, and management dashboards providing real-time programme KPIs for state government reporting.

Frappe FrameworkERPNextPythonMariaDB

Read case study

Government / Public Sector Statistics

Government of India — MOSPI

Statistical Data Management & Survey Programme Coordination Platform. ATS developed a custom Frappe Framework application for MOSPI covering survey programme management, field officer coordination and workload assignment, data validation workflows with multi-level approvals, real-time survey progress dashboards by geography, and automated report generation for ministry reporting requirements.

Frappe FrameworkPythonMariaDBCustom Doctypes

Read case study

FAQs

ERPNext migration — questions we are asked first

Can you migrate from Tally to ERPNext without losing data?+

Yes. Masters, opening balances and as much transaction history as you need are extracted from Tally Prime or ERP 9, mapped onto ERPNext's chart of accounts, parties, items and warehouses, loaded as of an agreed cut-over date and reconciled line by line to Tally's trial balance, party statements and stock reports. Tally is kept as a read-only archive, and ERPNext documents carry the original voucher numbers.

How do you get the data out of Tally?+

Through Tally's XML export, ODBC or Excel exports, for each company and financial year in scope. Ledgers are classified into accounts, customers and suppliers, groups become the account tree, stock groups and items become item groups and items, godowns become warehouses and GST classifications become tax templates. The mapping is reviewed with your accountant before any load.

How much history should we migrate?+

What reporting needs. Opening balances only is fastest; the current financial year is the usual choice so comparatives, ageing and GST reconciliation work inside ERPNext from day one; multi-year history is justified when contracts, warranties, traceability or a regulator require it in the live system. Everything else stays in the old system as a read-only archive for the statutory retention period.

Do we run both systems in parallel?+

Yes, for one closing period. Transactions are entered in both, and at period end the trial balance, GST returns, party statements and stock reports are compared. Differences are almost always process rather than data, and the parallel month is where they are fixed while nothing is at stake. The old system is switched off only after finance signs the comparison.

What happens to GST returns and e-invoices already filed?+

Filed returns stay with the period and system they were filed in. E-invoice IRNs, e-way bills and GSTR references generated in Tally are recorded on the migrated ERPNext documents rather than regenerated, so reconciliation with the GST portal is continuous across the cut-over. From the first period on ERPNext, returns are prepared from the ERPNext ledger.

Can you upgrade our existing ERPNext to v15 or move it off Frappe Cloud?+

Yes. Upgrades are rehearsed on a staging copy of production with every custom app's tests and patches, deprecated behaviour reviewed with your team, and a timed backup and restore so rollback is measured in minutes. Hosting moves carry the database, files, configuration, scheduled jobs and integrations across with backups, monitoring and restore drills in place before the switch.

Let’s work together

Tell us what you run the books on today

Send the systems — Tally, Excel, Busy, an old ERP, or an ERPNext version — the number of companies and warehouses, and the financial year you want to start on ERPNext; we will come back within a week with a migration plan and a fixed price.