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.












































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 assessmentOur 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.
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.
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.
Cleanse masters
Parties, items, accounts and employees de-duplicated and enriched in review sheets your team signs off before anything is loaded.
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.
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.
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.
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.
Read case study
CNC Machine ManufacturingJyoti 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.
Read case study
Automotive ManufacturingUNO 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.
Read case study
NGO / Social SectorGRAAM
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.
Read case study
Education Technology / Government SkillingRKCL
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.
Read case study
Government / Public Sector StatisticsGovernment 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.
Read case study
From the blog
All articlesERPNext vs SAP Business One: an honest comparison for growing manufacturers
SAP is the default answer for enterprise ERP. But for mid-market manufacturers, ERPNext often delivers better outcomes at a fraction of the cost. Here's a direct comparison.
Mohammed Izhaar · JUN 10, 2026BACKEND ENGINEERING · 7 min readJava Spring Boot vs Node.js for enterprise APIs: how we decide
Both Spring Boot and Node.js build production-grade APIs. The choice comes down to team composition, throughput patterns, and integration requirements — not benchmarks.
Mahaboob Basha · MAY 20, 2026Also in our Frappe practice
ERPNext implementation
The six-phase rollout the migration usually sits inside — fit-gap, configuration, customisation, training and hypercare.
ExploreCustom Frappe app development
When the process you are migrating from a spreadsheet is not one ERPNext models — a custom app on the same framework.
ExploreFrappe & ERPNext services overview
Collaboration models, industries, the full stack and the case studies behind the practice.
ExploreFAQs
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.