Skip to main content

Migration

How to Migrate from Tally to ERPNext, Step by Step (2026)

Tally to ERPNext step by step: export masters and balances, map ledgers, import, post opening entries and reconcile before the first live invoice.

Updated 12 Oct 202611 min readBy ManojFirst published 7 Jun 2026

A Tally to ERPNext migration carries forward your chart of accounts, customers and suppliers, items, opening balances and open invoices, so the books continue without a gap. Done carelessly, it leaves duplicate ledgers, mismatched GST heads and an opening balance that never ties out. This guide walks each stage.

Quick answer

A Tally to ERPNext migration has four stages: export masters and balances from Tally to Excel; map Tally ledgers to ERPNext's chart of accounts; import with ERPNext's Data Import tool; and post opening balances with a Journal Entry, the Opening Invoice Creation Tool and a Stock Reconciliation. How long it takes depends on how many companies, how much history and how clean the data is.

Migration cost depends on how many years of Tally history you move, how clean it is, and how many companies you run. Estimate your price.

Who does this migration? A finance team that is comfortable with ledger mapping and reconciliation can do it with ERPNext's own import tools. Many businesses bring in someone who has done it before, because opening-balance mistakes are expensive to unwind after go-live. My buyer objections page covers migration risk either way.

Tally has served Indian businesses well for decades. Teams usually move when they need role-based approvals, people working at once from several places, a customer portal, or stock, production and sales in the same system as the books. (If GST is your trigger, see my ERPNext GST 2026 readiness checklist.) ERPNext is open source, gets Indian GST through the India Compliance app, and runs on the Frappe Framework, which keeps customisation in your hands.

The migration is not technically hard. The hard part is discipline: a clean cut-over date, every Tally ledger mapped to an ERPNext account, opening balances checked before go-live, and a finance team trained on a different workflow. If you want it handled end to end, Tally to ERPNext shows what moves from your books and how the cut-over is reconciled. (On QuickBooks instead? Intuit withdrew QuickBooks from India in 2023: see QuickBooks to ERPNext migration.)

What to migrate and what to leave behind

The most common mistake is trying to bring everything. Tally may hold ten years of vouchers. Importing all of it into ERPNext adds noise and slows reports, and nobody will look for a 2019 payment voucher in the new system.

Migrate to ERPNext:

  1. Chart of accounts (ledger masters and groups)
  2. Customer and supplier masters (with GSTIN, PAN, addresses)
  3. Item masters (with HSN codes, UOM, tax categories)
  4. Opening balances as on the cut-over date
  5. Open (unpaid) sales and purchase invoices as on the cut-over date
  6. Open stock: quantities and valuation as on the cut-over date

Keep in Tally (read-only archive):

  • Closed, paid invoices before the cut-over date
  • Past receipts, payments and journal vouchers
  • Old stock movement history

This keeps ERPNext clean and the opening-balance audit simple, and your CA can still look up an old invoice in Tally.

Most businesses do not run Tally alone. Stock counts, order books, job-work registers or production plans often live in Excel next to it. Treat each tracker as a source: decide whether it becomes an ERPNext master, an opening balance or a document type, and clean it with the same care as the Tally exports.

Step 1: Export from Tally

Tally stores data in its own format, but every report can be exported. In TallyPrime, open the report and press Alt+E (Export), then choose Excel. Excel is easier than XML for a migration because you can clean it in place before import.

Ledger masters: Gateway of Tally → Chart of Accounts → Ledgers. Export the list with groups, GSTIN and PAN where you hold them.

Customers and suppliers: the ledgers under Sundry Debtors and Sundry Creditors. Export them with GSTIN, PAN and addresses.

Stock items: Gateway of Tally → Chart of Accounts → Stock Items. Make sure the export includes HSN code and unit of measure; ERPNext's GST setup needs both.

Outstanding invoices: Display More Reports → Statements of Accounts → Outstandings → Receivables and Payables. This gives every open invoice with its date, amount and due date.

Opening balances: run the Trial Balance as on the day before your cut-over date and export it. This is the most important export: it becomes the opening Journal Entry in ERPNext.

Menu names shift a little between TallyPrime releases; if a path differs, find the report and use Alt+E from it.

ChecklistWhat to export from Tally

What to export from TallyPrime, as Excel, before you map anything.

Exported0 of 8

See what Tally's own export leaves behind.

Step 2: Map Tally ledgers to the ERPNext chart of accounts

When you create a company in ERPNext with India as the country, it can create its standard India chart of accounts. Map your Tally ledgers into that structure.

The table covers the common mappings. Your ledger names will differ, but the account type must follow this logic or your financial statements will be wrong.

15 rows · click a column to sort

Sundry DebtorsReceivableAccounts Receivable
Sundry CreditorsPayableAccounts Payable
Cash-in-HandCashCash and Cash Equivalents
Bank AccountsBankCash and Cash Equivalents
SalesIncome AccountDirect Income
PurchaseExpense AccountDirect Expenses
GST Payable (Output CGST/SGST/IGST)TaxDuties and Taxes
GST Receivable (Input CGST/SGST/IGST)TaxDuties and Taxes
TDS PayableTaxDuties and Taxes
Capital AccountEquityCapital Account
Fixed Assets (Furniture, Machinery)Fixed AssetFixed Assets
Loans (Liability)PayableLoans (Liabilities)
Stock-in-HandStockCurrent Assets
Salary PayablePayableCurrent Liabilities
Retained Earnings / P&L (brought forward)EquityRetained Earnings

Pay special attention to GST ledgers. Tally often splits these by rate or registration, so you end up with dozens of ledgers for the same tax. ERPNext works with one account per tax component per company (CGST, SGST and IGST, input and output). Consolidate before import.

Step 3: Import masters with Data Import

ERPNext's Data Import tool reads Excel or CSV. The workflow: download the import template from ERPNext, paste your cleaned Tally data into its columns, and upload.

Chart of accounts:

  1. For a new company with no transactions, the Chart of Accounts Importer loads the whole tree from one file.
  2. Otherwise, add accounts under the right parent in Accounts → Chart of Accounts, or use Data Import with the Account template.
  3. Upload and review the errors the tool lists before you continue.

Customers and suppliers:

  1. Data Import → New → Customer (then repeat for Supplier).
  2. Download the template. Fill Customer Name, Customer Group and Territory, plus GSTIN and PAN.
  3. Paste from your Tally export and pick a customer group (for example "Commercial").
  4. Upload. Resolve duplicate names before you go on.

Items:

  1. Template: Item. Fill Item Code, Item Name, Item Group, Stock UOM, HSN/SAC code and Is Stock Item.
  2. If items carry valuation, include Valuation Rate.
  3. Set the Item Tax Template that matches each item's GST rate.

Step 4: Post opening balances

Opening balances are posted as on the cut-over date, the last day you used Tally. Everything before that date is history; that date's balances are ERPNext's starting point.

Journal Entry for balance-sheet accounts:

  1. Accounts → Journal Entry → New.
  2. Set the posting date to your cut-over date.
  3. Set the Entry Type to "Opening Entry."
  4. For each account in your Trial Balance export: debit assets, credit liabilities and equity.
  5. The entry must balance. If it does not, your Trial Balance export has an error: go back to Tally and recheck.

Open invoices through the Opening Invoice Creation Tool:

For unpaid sales invoices (debtors) and purchase invoices (creditors), do not use a Journal Entry. Use the dedicated tool.

  1. Accounts → Opening Invoice Creation Tool.
  2. Pick Sales (debtors) or Purchase (creditors).
  3. Fill in the party, invoice number, invoice date, due date and outstanding amount.
  4. ERPNext creates the invoices and posts them to the right receivable or payable account.

This keeps invoice-level ageing, so your Accounts Receivable report on day one shows the right amounts and due dates.

Opening stock:

  1. Stock → Stock Reconciliation → New.
  2. Set Purpose to "Opening Stock."
  3. Set the posting date to your cut-over date.
  4. Load Item Code, Warehouse, Quantity and Valuation Rate.
  5. ERPNext posts the stock and the matching ledger entry.

Step 5: Reconcile before you go live

Before any live transaction, run these checks:

  1. Trial Balance: ERPNext's trial balance as on the cut-over date should match Tally's line by line for every balance-sheet account. Investigate any difference beyond rounding.
  2. Debtors: compare ERPNext's Accounts Receivable report with Tally's outstanding receivables. Totals should match; an invoice-level difference usually means a missing opening invoice.
  3. Creditors: the same check for Accounts Payable.
  4. Bank balances: reconcile each bank account to the bank statement as on the cut-over date. Rounding errors often come in here.
  5. GST ledgers: input CGST, SGST and IGST in ERPNext should match Tally's ITC balance; output tax heads should match the GST liability.
  6. Stock value: the Stock Balance report total should match the stock-in-hand account in the trial balance.

Common pitfalls and how to avoid them

Duplicate ledger names: Tally allows ledgers whose names differ only by spacing or capitals. ERPNext does not merge them. Clean the export in Excel (TRIM, PROPER) and run a duplicate check before import.

GST mapping errors: Tally often has separate ledgers for each rate (CGST 9%, SGST 9%, IGST 18%), sometimes per registration. Consolidate them into one set of tax accounts per company before import.

Rounding differences: Tally and ERPNext can round GST differently in edge cases. If the opening Journal Entry is off by a few paise, post the difference to a rounding account; do not change individual ledger balances.

Cutting over mid-month: cut over at the start of a month, not the middle. A mid-month cut-over splits a GST return across two systems.

Item codes vs item names: Tally keys items by name. Give every item an explicit item code in your import file so near-identical names stay separate.

Missing HSN codes: every item needs an HSN or SAC code for e-invoicing and GSTR-1. If your Tally item master lacks them, collect them before migration, not after go-live.

The time a migration takes follows the work: how many companies, how many years of history, how many Excel trackers, and how clean the masters are. Most of it is preparation and test imports on a staging copy; the switch itself is short when the preparation is done. The Migrate data stage in the cost calculator shows how each of those moves the cost.

Frequently asked questions

+

How long does a Tally to ERPNext migration take?

It depends on the number of companies, how much history you move and how clean the data is. Most of the time goes into preparation: cleaning Tally exports and Excel trackers, mapping ledgers and checking a test import on a staging copy. The switch itself is short once that is done.

+

Can I keep my Tally data after migrating to ERPNext?

Yes. Tally and ERPNext are separate systems. Your Tally data stays intact as a read-only archive. You delete nothing from Tally; you start new transactions in ERPNext from the cut-over date.

+

Does ERPNext still have a Tally import tool?

ERPNext v14 and earlier had a Tally Migration tool that read Tally XML exports. It is not in ERPNext v15 or later, so today the route is Excel exports from Tally, cleaned and loaded with Data Import and the opening tools.

+

Will my GSTR-1 and GSTR-3B data carry over?

No, and it should not. Past GST returns are filed and closed; they stay in Tally and on the GST portal. ERPNext prepares return data from the first transaction after your cut-over date.

+

What happens to Tally TDL customisations during migration?

They do not migrate: TDL is Tally-specific code. In ERPNext the same needs are met with custom fields, client and server scripts, or Frappe apps. List your TDL customisations early; some are quick to rebuild, others need development.

+

Can ERPNext handle the same number of ledgers as Tally?

Yes, a large chart of accounts is not a problem. Most businesses find during migration that their Tally chart has collected duplicate or unused ledgers over the years, so it is a good moment to trim it.

+

Does ERPNext do GST e-invoicing?

Yes, through the open-source India Compliance app (by Resilient Tech), which generates the IRN and QR code through the government's IRP and e-way bills. The app is free; on a self-hosted site the e-invoice and e-way bill API calls use paid credits, so check the current terms. Tax templates, HSN codes and GSTINs on company and party masters must be set up correctly first.

Your next step

Moving off Tally?

See it live

The bank statement matches itself

Statement lines match their invoices on their own; you only review the odd one.

You end with the bank reconciled · 1 screen · about 3 min

No sign-up, no card, no account.

Next step · Migration

Now see how a move off Tally would run

What we move from Tally, how we reconcile it and how the cutover runs without stopping billing.

Comments & ratings

No comments yet. Start a new discussion.

0

Manoj · Published on 7 June 2026

Worked with us? Leave a Google review

Questions about this? Talk to the team.

Book a 30-minute Google Meet, WhatsApp us, or send a message. The engineer who works on this replies.

Send us a message
Your details go to our team's CRM and are used only to reply.