How to Import a Bank Statement in Tally Prime — Step by Step
— Tally guide

How to import a bank statement in Tally Prime.

There are two ways to get bank transactions into Tally Prime: the built-in Bank Statement utility, and importing Tally XML vouchers. Here's when to use each, with the exact steps and the errors people hit most.

First, pick a path

Two ways to import, and when to use them

Path 1 — the Bank Statement utility. Tally Prime can import statements natively through Gateway of Tally → Alt+O (Import) → Bank Statement. This is the best route when your bank provides a format Tally supports (many banks do via their Connected Banking feeds). It's built around reconciliation, so it maps straight into your Bank Reconciliation screen.

Path 2 — Tally XML voucher import. For PDFs and Excel files from Indian banks that Tally doesn't read natively, convert the statement to a Tally XML voucher file first, then use Gateway of Tally → Import Data → Vouchers. This gives you full control over ledgers and voucher types (Payment, Receipt, Contra).

Quick rule of thumb

Bank statement format supported by Tally → use Path 1. Everything else (PDF, Excel, scanned statements) → convert to XML and use Path 2.

Path 2, step by step

Importing Tally XML vouchers

Step 1

Convert your statement to Tally XML first

Tally can't read a bank PDF directly. Use a converter (like TallyPort) to turn the statement into a Tally XML voucher file, and keep the CSV too.

Step 2

Open Import Data → Vouchers

In Tally Prime, go to Gateway of Tally → Import Data → Vouchers. This is the path for XML voucher files.

Step 3

Select the XML file

Browse to the .xml file and press Enter. Tally reads the file and prepares the import.

Step 4

Map or confirm ledgers

Tally shows the ledgers referenced in the file. If a ledger doesn't exist (e.g. 'State Bank of India'), create it first — it must be grouped under Bank.

Step 5

Import and verify

Press Enter to import, then Ctrl+A to save. Open a few vouchers to confirm dates, amounts and debit/credit sides look right.

Under the hood

What a Tally XML voucher file needs

A valid file is an ENVELOPE containing VOUCHER entries. The fields that cause the most import failures are the date format and the ledger amounts:

<ENVELOPE>
  <HEADER><TALLYREQUEST>Import Data</TALLYREQUEST></HEADER>
  <BODY>
    <IMPORTDATA>
      <REQUESTDESC><REPORTNAME>Vouchers</REPORTNAME></REQUESTDESC>
      <REQUESTDATA>
        <TALLYMESSAGE>
          <VOUCHER VCHTYPE="Payment">
            <DATE>20260317</DATE>
            <VOUCHERTYPENAME>Payment</VOUCHERTYPENAME>
            <PARTYLEDGERNAME>State Bank of India</PARTYLEDGERNAME>
            <ALLLEDGERENTRIES.LIST>
              <LEDGERNAME>State Bank of India</LEDGERNAME>
              <ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>
              <AMOUNT>-15000.00</AMOUNT>
            </ALLLEDGERENTRIES.LIST>
          </VOUCHER>
        </TALLYMESSAGE>
      </REQUESTDATA>
    </IMPORTDATA>
  </BODY>
</ENVELOPE>
  • DATE must be YYYYMMDD — 20260317, not 17/03/2026.
  • VCHTYPE is the voucher kind: Payment, Receipt, or Contra. A converter chooses this per transaction (credit = Payment, debit = Receipt).
  • ALLLEDGERENTRIES.LIST holds each ledger split; ISDEEMEDPOSITIVE and the AMOUNT sign together control the debit/credit side.

You don't need to hand-write any of this — a converter produces the file. But knowing the structure helps when an import fails and you have to debug it. For the full reference — the wrapper, every tag, and the errors Tally documents — see the Tally XML format guide.

Ledger mapping

Setting up your bank ledger

Before importing, make sure the bank ledger referenced in the XML exists in your company:

  • Create the ledger (e.g. "State Bank of India") under the Bank group — use the same spelling as the file, or the import will ask you to remap.
  • Bank-ledger vouchers post to your Bank Reconciliation screen automatically once the ledger is grouped under Bank.
  • Map recurring payees once (salaries, vendors, EMI) and re-use them across imports for consistent categorization.
Troubleshooting

Common import errors and fixes

  • \"Ledger not found\": create the ledger first, under the Bank group, with the exact spelling used in the file.
  • \"Invalid date\" / date errors: the XML date must be YYYYMMDD. Re-export from the converter if a date was mangled.
  • Every amount is on the wrong side: the debit/credit flag (ISDEEMEDPOSITIVE) is inverted for one ledger. Fix it in the file or check your converter's settings.
  • Duplicates after re-import: Tally matches on voucher date and number. Re-importing the same file twice doubles the entries — delete the previous import first, or import once and check the count.
Official docs

The official Tally reference

For the vendor's own walkthrough of the built-in utility, see TallyHelp — Import Bank Statements. For the file-level reference, TallyHelp's Sample XML documentation shows full voucher examples.

Frequently asked questions

Convert your first statement — free.

30 free pages, no credit card. Upload a PDF and download Tally-ready XML in under a minute.

Get started free