Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

Excel / CSV to Tally XML Converter

Spreadsheet rows in, Tally import files out — checked before you import.

Business For India No upload Works offline Free preview, no sign-upIncluded in your pass Premium tool Premium pass: ₹799 for 30 days

Free preview.

  • Free preview: the checks, counts and GST totals of the whole file, with the first vouchers and ledgers (up to 10; a single one with amounts hidden); the XML is never shown.
  • Locked until you unlock it: download and copy.
  • Unlock: Premium pass, ₹799 for 30 days, a one-time payment that never renews.

Ways to unlock shows how to get the full result.

See passes (opens in a new tab)

Printing this result is locked in the free preview.

Settings and column choices are kept in this browser for each client you save.

Your spreadsheet

Or paste rows from a spreadsheet
Try an example:

Next steps

Results are estimates for general information and planning, not financial advice. Banks and institutions may calculate differently (rounding, fees, rate changes). Confirm figures with your lender or a qualified adviser before deciding.

About the Excel / CSV to Tally XML Converter

Keying a month of invoices, receipts or journals into Tally by hand is slow and easy to get wrong. This converter reads your Excel or CSV rows — a sales or purchase register, credit and debit notes, receipts, payments, contra entries, journals, bank statement lines or a list of ledgers — and writes the two files Tally imports: a ledgers file (masters) and a vouchers file (transactions), in Tally’s own XML format, which TallyPrime and Tally.ERP 9 both read.

Columns are matched from your headings and can be corrected; GST is split into CGST + SGST (or UTGST) or IGST from the place of supply when the sheet gives only the taxable value and the rate; rows of one invoice are joined; small differences to the invoice total go to a round-off ledger; and every voucher is checked to balance before anything is written. A dry run shows each voucher, each ledger that will be created and every problem with its row number. Settings, column choices and ledger groups are saved per client in your browser, so next month’s file converts in one step. Your data never leaves your device.

How to use it

  1. Choose the spreadsheet (or paste the rows). Pick the sheet and check the heading row if the file starts with a title block.
  2. Say what the rows are — sales invoices, purchase bills, receipts, journal entries, bank lines, ledger masters… — and check the column for each field.
  3. Under Company and ledgers, set the company’s GST State and the ledger names you use in Tally (Sales, Output CGST…). Optionally load the company’s ledger list so only missing ledgers are created.
  4. Read Check before you import: rows with errors are left out and listed with their row numbers; fix them in the sheet, or correct the settings.
  5. Download the files (or the .zip) once the result is unlocked: the free preview checks every row but keeps the files locked. In Tally, import the ledgers file first (Import → Masters, “Ignore duplicates”), then the vouchers file (Import → Transactions).
  6. Save the client: next time, choose it and the same settings and column choices are used.

Examples

An intra-State sale with GST worked out from the rate
Input
INV-101 · 02/04/2026 · Sharma Traders · place of supply 29-Karnataka · taxable ₹10,000 · 18% · invoice value ₹11,800; company in Karnataka
Result
Sales voucher: Sharma Traders Dr ₹11,800 (New Ref INV-101) · Sales Cr ₹10,000 · Output CGST Cr ₹900 · Output SGST Cr ₹900
An inter-State sale
Input
INV-102 · Patel Agencies · place of supply 24-Gujarat · taxable ₹25,000 · 18%
Result
Patel Agencies Dr ₹29,500 · Sales Cr ₹25,000 · Output IGST Cr ₹4,500
A rounded invoice total
Input
Taxable ₹1,695.00 at 18% (CGST ₹152.55 + SGST ₹152.55 = ₹2,000.10), invoice value ₹2,000.00
Result
Party Dr ₹2,000.00 and Round Off Dr ₹0.10, so the voucher balances
A journal over three rows
Input
JV-1 · Rent Dr ₹25,000 · TDS on Rent Cr ₹2,500 · Krishna Properties Cr ₹22,500
Result
One journal voucher JV-1 with three entries; a journal whose debits and credits differ is reported, not written

Common uses

  • A CA office converting a client’s monthly sales and purchase registers from billing software into Tally.
  • Moving opening ledgers (customers, suppliers with GSTIN and balances) into a new Tally company.
  • Posting payroll or depreciation journals prepared in Excel.
  • Importing receipts and payments from a bank or payment-gateway report.

What each kind of row becomes

  • Sales invoices: party Dr the invoice value; sales ledger Cr the taxable value; output CGST/SGST or IGST and cess Cr. Rows with the same invoice number, date and party form one invoice (several GST rates on one bill).
  • Purchase bills: the mirror image — party Cr, purchase and input tax ledgers Dr — with the supplier’s invoice number as the reference and the bill name.
  • Credit notes reverse a sale and debit notes a purchase, adjusted against the original invoice (Agst Ref).
  • Receipts: bank or cash Dr, party Cr; payments: party or expense Dr, bank or cash Cr; contra: from one bank or cash ledger to another.
  • Journals: one row per ledger with its debit or credit; rows with the same voucher number — or, without numbers, consecutive rows until debits equal credits — form one entry.
  • Bank lines: withdrawals become payments and deposits receipts (lines to a cash ledger become contra entries); lines without a ledger go to the suspense ledger. For rules that pick the ledger from the narration, use Bank Statement to Tally.
  • Ledger masters: name, group, GSTIN, registration type, State, address, PIN, contact details and opening balance (Dr or Cr).

How GST is split

When the sheet has CGST, SGST and IGST columns, their amounts are used as they are and checked: CGST and SGST should be equal halves, a supply cannot carry both CGST and IGST, and the tax should match the rate when the sheet gives one. When it has only the taxable value and the GST rate, the tax is worked out: if the supplier and the place of supply are in the same State it is an intra-State supply, so CGST and SGST are each half the rate (9% + 9% for 18%); otherwise it is inter-State and IGST is the whole rate. Each amount is rounded to the paisa.

The place of supply comes from its column, else the party’s State, else the first two digits of the GSTIN (the State code, 29 for Karnataka). GSTINs are checked for their State code and check character. The rates in force are 0, 0.25, 1.5, 3, 5, 18 and 40%; for goods, 12% now applies only to certain bricks and roofing tiles, and 28% was removed, so older registers convert as they are but such rows are pointed out. Compensation cess has been withdrawn as well, so cess on a recent invoice is pointed out too. See CBIC on CGST, SGST and IGST.

Ledgers that do not exist yet

Tally imports a voucher only if every ledger it names already exists, so the ledgers file is imported first. Without your company’s ledger list, every ledger the vouchers use is written to it — import it with Ignore duplicates so ledgers you already have stay as they are. With the list (TallyPrime: Chart of Accounts → Ledgers → Export → XML (Data Interchange), or any CSV list of names), only the missing ones are written, and names that differ from yours only in case, spaces or punctuation (“hdfc bank” for “HDFC Bank”) are changed to your spelling. New parties go under Sundry Debtors or Sundry Creditors with their GSTIN and State, tax ledgers under Duties & Taxes as GST ledgers, and you can change the group of any new ledger in the check table.

The files

Both files use the import layout Tally Solutions documents — an ENVELOPE with an Import Data request for “All Masters” or “Vouchers”, one TALLYMESSAGE per ledger or voucher, dates as YYYYMMDD and debit amounts written negative — see Tally’s sample XML and importing XML into TallyPrime. Vouchers are written in accounting voucher view. No voucher id is written, so Tally gives each voucher its own (its import FAQ explains that a shared id overwrites vouchers). Text outside plain ASCII (₹, accented or Indian-script names) is written as character references, which every Tally release reads. The review workbook lists every voucher, every entry, every ledger and every problem.

Limitations

  • It writes accounting vouchers (ledger amounts), not item invoices with stock items, quantities, godowns or batches.
  • Reverse-charge purchases are not told apart: the supplier is credited with the taxable value plus the tax on the row (unless an invoice total says otherwise, which is reported as a difference). Convert such bills without their tax columns and record the reverse-charge tax in Tally.
  • TDS deducted from a bill is not split out: a purchase or payment row is posted for its full amount.
  • GST reports in Tally (GSTR-1, GSTR-3B) depend on how your sales, purchase and tax ledgers are set up in the company; check them after importing — Tally lists what it cannot classify as uncertain transactions.
  • Tally applies the numbering method of each voucher type: with automatic numbering it may number imported vouchers itself.
  • Credit notes and debit notes need the Credit Note and Debit Note voucher types: TallyPrime has them by default; in Tally.ERP 9 they are switched on in the company features (F11).
  • Every company is set up differently. Import into a backup first and check the import statistics and the Day Book before relying on the result.
  • An aid for preparing import files, not accounting or tax advice: you answer for the entries in your books.

Privacy

Your spreadsheet, the ledger list and the files made from them stay in this browser: nothing is uploaded. Saved clients (settings, column choices and ledger groups) are kept in this browser’s local storage until you delete them.

Frequently asked questions

What do I get without a pass?

Without a pass, Excel / CSV to Tally XML Converter shows the checks, counts and GST totals of the whole file, with the first vouchers and ledgers (up to 10; a single one with amounts hidden); the XML is never shown. Until you unlock it, the result can’t be downloaded or copied. A Premium or Ultimate pass, a one-time payment that never renews, unlocks the full result. The pricing page lists the passes and their prices.

Does it work with Tally.ERP 9 as well as TallyPrime?

Yes. The files use Tally’s data-interchange XML, which both read: in TallyPrime use Import (Alt+O) → Masters, then Transactions; in Tally.ERP 9 use Gateway of Tally → Import of Data → Masters, then Vouchers. TallyPrime 4.0 and later can also import Excel with its own mapping screen; XML works with every release.

Why are there two files?

Tally imports a voucher only when all its ledgers exist. The ledgers file creates the missing ones (customers, suppliers, sales and tax ledgers); import it first, then the vouchers file.

What does “Ignore duplicates” do?

It is Tally’s choice for masters that already exist in the company: they are left as they are, and only new ledgers are created. “Modify with new data” would overwrite them with the file’s details.

My rows have only a total and a GST rate. Can it work out the tax?

Yes. With “a total without a taxable value includes GST” ticked, the taxable value is the total ÷ (1 + rate), and the tax is split by the place of supply. With tax columns, their amounts are used and checked instead.

Can I import the same file twice by mistake?

Tally will create the vouchers again — it has no way to know you imported them before. Keep track of what you have imported; the bank tool on this site warns about lines exported earlier.

Where are my saved clients?

In this browser’s local storage on this device only. MySmartCoPilot has no copy; deleting a client or clearing the site’s data removes it.

Quick answers and tool search

Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.