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 YYYYMMDD20260317, 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.

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