What is a Tally XML file?
Tally XML is Tally's own data interchange format. Wrapped in an <ENVELOPE> tag, it describes accounting vouchers — dates, amounts, ledgers, and narration — that TallyPrime and Tally.ERP 9 import directly through Gateway of Tally → Import → Vouchers.
Tally doesn't import spreadsheets. It reads XML, and that XML follows a structure Tally defines: an `<ENVELOPE>` root containing a header that says what kind of import this is, and a body holding one voucher per transaction. Each voucher carries its date, voucher type (Receipt or Payment for bank lines), the ledgers being debited and credited, the amounts, and the narration text.
That's why converting a statement to Tally XML is different from exporting a spreadsheet. The XML isn't a table of transactions — it's a set of accounting entries, already expressed the way Tally's data model expects them, which is what lets Tally post them without any interpretation step.
A quick way to confirm you have a genuine Tally XML file rather than a renamed CSV: open it in a text editor and look for `<ENVELOPE>` at the top. If it isn't there, Tally will reject the import — that's the first check in troubleshooting a failed import.
One structural detail explains a lot of confusion afterwards. Every voucher needs two sides, but a bank statement only tells you one of them. So the bank ledger takes the side it knows and the balancing entry goes to Suspense A/c, a ledger Tally ships by default. Reclassifying those is the accounting judgement the file can't make for you — see clearing Suspense A/c after import.
The format is stable across versions, so the same file imports into both TallyPrime and Tally.ERP 9.
Try it now — free, no signup
Upload your statement
Drag & drop a PDF, scan, or photo — any bank. Our AI extracts every transaction and exports to Excel, CSV, QBO, or OFX.
Drag & drop your statement here
or browse files
Encrypted in transit · Processed in memory · Deleted immediately
Related questions
See all bank statement guides.
Last reviewed 2026-08-12.