Excel to Tally Import Methods Compared

There are three practical ways to import Excel into Tally, and each suits a different situation. TallyPrime has had built-in Excel import since Release 4.0 (November 2023), but a business with one steady monthly import needs something different from an accountant handling twelve clients with twelve different invoice formats. Picking the wrong one is costly either way: patching a free script through every layout change and tax update wastes time, and paying for a tool that TallyPrime's built-in import already handles wastes money.

This page compares the three realistic routes for getting Excel data into Tally Prime or Tally.ERP 9 — TallyPrime's built-in Excel import, running a free conversion script, and using a dedicated importer such as udiMagic. The comparison is about the methods, not about vendors; the last column happens to be our product, and the verdict says plainly where the other two win. Tally's ODBC interface comes up often in this context and is covered at the end, but it is a way to read data out of Tally, not a way to import Excel in.

Side-by-side comparison

Excel to Tally Import Methods Compared: feature-by-feature comparison
Feature TallyPrime built-in Excel import Free conversion script udiMagic importer Recommended
Setup effort before the first import Minutes with a sample file; longer for a custom layout Hours if a script already fits Minutes with a standard template
Technical skill required Excel, plus Tally's mapping screen Python or VBA to adapt the script Excel
Auto-creation of missing masters Yes, during import Rarely
GST fields (HSN, place of supply, cess) Usually not covered
Validation before posting Exceptions report before posting Minimal Built in, with an error report
Duplicate protection on re-runs Unique ID field
Handles many different Excel layouts Yes, via mapping templates held per company One layout per script Yes, via template mapping
Works when Tally runs on a cloud or remote server Runs on the machine hosting Tally Varies
Who maintains it when Tally is upgraded Tally, as part of the product Nobody The vendor, through updates
Direct money cost Included with TallyPrime None Licence fee

Swipe the table sideways to see every column.

What these differences mean in practice

Setup effort before the first import
TallyPrime's own import is the quickest to start: open the Import menu, pick a sample Excel file or map your columns once, and post. A free script only saves time if one already fits your layout and voucher type; adapting one to a new sheet is where the hours go.
GST fields (HSN, place of supply, cess)
GST is where a free script most often stops being viable. The tag set is large, it changes with statutory updates, and a partial implementation posts vouchers that look fine until you file a return. TallyPrime's built-in import and udiMagic both post through Tally's own GST engine, so those fields are handled natively.
Duplicate protection on re-runs
TallyPrime's built-in import has no notion of a previously imported voucher: run a corrected file again and you get a second copy of every row. udiMagic's Unique ID column makes a re-run replace the earlier vouchers instead of duplicating them.
Handles many different Excel layouts
For an accountant serving several clients this row usually decides the choice. A script written for one client's sales register has to be rewritten for the next client's; TallyPrime's mapping templates cover varying layouts too, but each one lives inside the company where it was created.
Works when Tally runs on a cloud or remote server
TallyPrime's import is a menu action inside the Tally client, so with Tally on a cloud or remote server the Excel file has to reach that server first. udiMagic posts to the same server over the gateway port from wherever it runs, which also lets the import be scheduled.
Who maintains it when Tally is upgraded
An unmaintained script is a liability that surfaces at the worst moment — usually the first import after a Tally upgrade or a statutory change.

TallyPrime's built-in Excel import

Since Release 4.0, TallyPrime imports .xlsx files directly from its own Import menu — no converter, no XML. You either fill in one of Tally's sample Excel files, where the columns are already in the order Tally expects, or you map the columns of your own sheet onto Tally fields with a reusable mapping template. Masters and transactions are both supported, and an exceptions report lists the rows that need attention before the import completes.

For a business on desktop Tally posting a manageable monthly volume, this is now the default answer and it costs nothing extra. Its limits are around repetition and reach: there is no Unique ID mechanism, so re-importing a corrected file duplicates the vouchers rather than replacing them; the import is a manual action inside the Tally client, so it does not lend itself to scheduling or to Tally running on a remote server.

Free conversion tools

There are plenty of free Excel to Tally XML converters on the internet — Online and offline tools, Excel macros, small web utilities. For a single conversion of a simple sales register with no GST and no stock items, one of them may well do the job, and if it does you should use it.

The limits appear quickly: each script assumes one Excel layout, most cover one or two voucher types, few create masters, and almost none handle the full GST tag set. Nobody is obliged to update them when Tally changes. They are a reasonable answer to a one-off problem and a poor answer to a recurring one.

A dedicated importer

A dedicated Excel to Tally importer is the same route as Tally's own import, packaged for repetition: standard templates for the common voucher types, custom mapping for layouts that do not match, master creation, GST field coverage and a validation pass are already built and maintained. udiMagic ships those and lets you map an arbitrary Excel layout onto them when your sheet does not match.

Against a free script, what you are buying is the time you would otherwise spend adapting and re-adapting it, and the obligation to keep it working when Tally changes. Against TallyPrime's own Excel import, what you are buying is repeatability: Unique ID re-imports that replace rather than duplicate, scheduled and unattended runs, posting to Tally on a remote or cloud server, and conversion straight from a POS or e-commerce export. If none of those apply, Tally's built-in import is the better-value choice.

ODBC, and why it is usually the wrong answer

Tally exposes an ODBC interface, and search results regularly suggest it as the way to connect Excel to Tally. It is not one of the three methods above for one reason: it is excellent for what it was built for — pulling ledgers, balances and voucher registers out of Tally into Excel or a BI tool for reporting — and poor at the opposite direction.

As an import route it disappoints. It is read-oriented, it does not create masters, it has no concept of the GST fields a voucher needs, and it requires Tally to be running with the connection open. If your goal is Tally to Excel, ODBC is the right tool. If your goal is Excel to Tally, it is not.

The verdict

For a recurring import that has to be repeatable — corrected files re-run without duplicates, scheduled posting, or Tally reachable only on a remote server — a dedicated importer is the lowest total-cost route. For a one-off or a light monthly load on desktop Tally, TallyPrime's built-in Excel import now covers the same ground at no extra cost.

For a modest monthly volume on desktop Tally, start with TallyPrime's own Excel import. For a single conversion of a simple sheet with no GST and no stock items, try a free script first. Move to a dedicated importer when the import recurs, has to post GST invoices or create masters, needs to run on a schedule, or has to reach Tally on a remote server.

When the alternative is the better choice

If you are on desktop Tally, post a modest monthly volume and do not need scheduled or de-duplicated re-imports, TallyPrime's built-in Excel import does the job with nothing else installed. For a one-off conversion of a simple sheet with no GST and no stock items, a free script can settle the job at no cost and nothing to maintain afterwards.

Frequently asked questions

For a standard voucher type, TallyPrime's own Import menu with one of its sample Excel files — the columns are already in the order Tally expects, so there is nothing to map. Beyond that, whichever method you choose, the time goes into mapping the Excel columns onto Tally fields, so a ready-made template for sales, purchase, payment or receipt vouchers is the shortest path from spreadsheet to posted voucher.

In practice, no. Tally's ODBC interface is designed for reading data out of Tally for reports. It will not create ledger or stock item masters and it does not cover the GST fields a voucher needs. Use ODBC for Tally to Excel, and XML for Excel to Tally.

For a one-off load, or a light and predictable monthly volume on a desktop Tally, usually yes — it handles masters and all common voucher types through Tally's own engine. You outgrow it when re-imports have to replace earlier vouchers instead of duplicating them, when the import needs to run on a schedule or unattended, or when Tally runs on a remote server the Excel file cannot easily reach.

Other comparisons

Browse all comparisons »