Format guide
Tally XML for bank statements: layout and how to import it
Short answer
The Tally XML has one voucher per statement line: a Payment for money out, a Receipt for money in. Each posts between your bank ledger and one other ledger, Suspense A/c by default, and both ledgers must already exist in the company. Import it in TallyPrime with Alt+O (Import), Transactions.
Last tested
Updated
What the format is
Tally reads and writes data as XML. A file of vouchers is imported into a company, and each voucher refers to ledgers by name.
Which software takes it
TallyPrime and Tally.ERP 9.
How our file is laid out
Money out
Payment voucher
- Your other ledgerdefault: Suspense A/cDebit
- Your bank ledgerdefault: Bank AccountCredit
Money in
Receipt voucher
- Your bank ledgerdefault: Bank AccountDebit
- Your other ledgerdefault: Suspense A/cCredit
Both ledgers must already exist in the Tally company, with the same names you typed in the export options.
<VOUCHER VCHTYPE="Payment" ACTION="Create">
<DATE>20261003</DATE>
<VOUCHERTYPENAME>Payment</VOUCHERTYPENAME>
<NARRATION>CORNER CAFE 0412 SEATTLE WA</NARRATION>
<ALLLEDGERENTRIES.LIST>
<LEDGERNAME>Suspense A/c</LEDGERNAME>
<ISDEEMEDPOSITIVE>Yes</ISDEEMEDPOSITIVE>
<AMOUNT>-12.40</AMOUNT>
</ALLLEDGERENTRIES.LIST>
<ALLLEDGERENTRIES.LIST>
<LEDGERNAME>HDFC Bank</LEDGERNAME>
<ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>
<AMOUNT>12.40</AMOUNT>
</ALLLEDGERENTRIES.LIST>
</VOUCHER>| Part | What we write |
|---|---|
| Request | Import Data, report name Vouchers. If you enter a company name, it is added as the current company |
| VCHTYPE | Payment (money out) or Receipt (money in), with Action Create |
| DATE | YYYYMMDD |
| NARRATION | The full description |
| Ledger entries | Two per voucher. On a Payment the other ledger is debited and the bank credited. On a Receipt the bank is debited and the other ledger credited |
| Defaults | Bank Account for the bank or card ledger, Suspense A/c for the other ledger |
| Skipped | Lines with no date or an amount of zero |
How to import it
TallyPrime
- 01Create the two ledgers in the company if they don’t exist. The names must match what you typed in the export options.
- 02Press Alt+O (Import), then Transactions.
- 03Enter the file path, choose Yes to back up first, and press Enter.
- 04Check the statistics, then the Day Book.
Tally.ERP 9
- 01From the Gateway of Tally, choose Import Data, then Vouchers.
- 02Enter the name of the XML file and press Enter. Use the full path if the file isn’t in the Tally.ERP 9 folder.
Full steps and fixes: the Tally import guide.
Common errors and fixes
Ledger names don’t match
Tally reports a missing ledger as an error such as “Referenced master is missing”. Create the ledger or export again with the exact name. The Tally.imp file in the TallyPrime folder lists errors, and Alt+O, Configuration has an option for a detailed log.
Duplicates after importing twice
Tally’s help says importing the same XML again duplicates the transactions. Our vouchers carry no voucher ID to overwrite, so import each file once and take a backup first.
Vouchers are in Suspense A/c
That is the intent. Open each voucher and change the ledger, or export again with another ledger name if most lines belong to one account.
Converter
Bank statement to Tally
Converts a text PDF to Tally XML in your browser, checked against the statement’s own balances.
Text PDFs are read in your browser and never uploaded. Scanned PDFs are not supported yet; OCR is coming soon.
Questions
Why Payment and Receipt vouchers, not Journal or Contra?
Does the file create ledgers?
What about credit cards?
How do I know the transactions are right?
Is my statement uploaded anywhere?
Does this work on scanned statements?
What does it cost?
Sources
Menu names and limits for other companies’ software come from their own help pages below, checked October 2026. Software changes menus often, so if a label differs on your screen, the vendor’s page is the one to follow.
More guides
General information, not accounting or tax advice.