More accounting automation tools are comingJoin freeOpens the WhatsApp channel in a new tab
Bank PDF Converter logoBank PDF ConverterExcel, Tally & ERP Imports

Import a bank statement into TallyPrime the right way

TallyPrime has two completely different bank-statement doors, and picking the wrong one is why imports end up as a wall of Suspense entries. This guide covers both, the voucher types that matter, and how to avoid duplicates.

Two doors, two purposes

Before touching a file, decide which of these you actually want. They produce different results and are not interchangeable.

The commonest mistake is using the reconciliation door for data entry. Nothing is created, nothing matches, and it looks as if the import failed.

The three voucher types

Every line on a bank statement becomes one of three things in Tally:

Contra is the one people skip, and skipping it quietly inflates both expenses and income. An ATM withdrawal booked as a Payment to "Cash Withdrawal Expenses" is not an expense — the money is still yours, sitting in Cash in Hand.

Dr/Cr, stated once and clearly

Your bank statement is written from the bank's point of view: a "withdrawal" reduces your balance. In your books the bank account is an asset, so a withdrawal credits the bank ledger and a deposit debits it. If your imported vouchers all look inverted, this reversal is what was missed.

Route A — import vouchers with Tally XML

  1. Take a backup first. Gateway of Tally → Data → Backup. Every bulk import should be preceded by one; an import cannot be undone with Ctrl+Z.
  2. Produce the XML. Convert the statement PDF on the home page and choose the Tally XML export. The bank ledger name you type must match the ledger in your company exactly — "HDFC Bank 4521" and "HDFC Bank-4521" are two different ledgers to Tally.
  3. Review the voucher types and ledgers on screen before downloading. Load your chart of accounts to get suggestions against your real ledger names, and accept only the ones you agree with. Anything you leave unassigned goes to Suspense on purpose, so it is easy to find afterwards.
  4. Import. In TallyPrime: Gateway of Tally → ImportTransactions, give the file path, and confirm. In Tally.ERP 9 it is Gateway → Import Data → Vouchers.
  5. Read the import log. Tally reports vouchers created, combined and ignored, and writes errors to Tally.imp in the application folder. If the created count is lower than your row count, that file says why.
  6. Verify. Open Display → Account Books → Ledger → your bank ledger for the period and check the closing balance against the statement. If it matches to the paisa, the import is clean.

Why XML and not Excel

Tally XML is Tally's own published format, so there is no column mapping and no template to configure — the file already says "this is a Payment voucher dated 3 April with these two ledger entries". Excel-based voucher import needs a template that matches your version and is far easier to get subtly wrong.

Route B — Banking → Import Bank Statement

  1. Pass or import your vouchers first. This route matches, it does not create.
  2. Go to Banking → Bank Reconciliation and select the bank ledger.
  3. Choose Import Bank Statement and give it the statement file. Tally reads bank-provided formats and its own configured layouts; export the bank-statement CSV or Excel from the converter for this.
  4. The first time a bank is used, Tally asks you to configure the layout — which column is date, which is withdrawal, which is deposit. It remembers this per bank, so it is a one-time step.
  5. Tally ticks off the lines it can match on date and amount. Work through the unmatched ones by hand; those are usually timing differences (cheque issued but not yet cleared) rather than errors.

Avoiding duplicates and Suspense pile-ups

Common import errors

Related reading

Not using Tally? The import formats guide explains which native file Busy, Zoho Books, QuickBooks, Xero, Sage, SAP and the rest prefer. If you need the statement as a spreadsheet first, start with converting a bank statement PDF to Excel.