The short answer
- To reconcile entries already in your books: use Alt+O › Bank Statement. It takes Excel, CSV or MT940, but not PDFs or files converted from PDFs.
- To create payment, receipt and contra vouchers from the statement: import an XML file with Alt+O › Transactions.
- Make sure every ledger named in the file exists in the company with exactly the same name, or import the ledger masters first.
- Back up the company before you import, and import each file only once. A second import duplicates every voucher.
On this page
If you keep books for clients, bank entries are the biggest data-entry job of the month. TallyPrime can take them in directly, but "import a bank statement" can mean two different things in Tally, and picking the wrong one is behind most failed attempts.
Two ways to import, two different jobs
| Bank statement import | Voucher import (XML) | |
|---|---|---|
| Menu | Alt+O (Import) › Bank Statement | Alt+O (Import) › Transactions |
| What it does | Brings statement lines into bank reconciliation to match vouchers you already have | Creates payment, receipt and contra vouchers in the books |
| File types | Excel, CSV, MT940, for supported banks | XML in all TallyPrime releases; Excel and JSON in newer ones |
| PDF statements | Not accepted, including Excel or CSV converted from a PDF | Convert the PDF to Tally XML first |
| Use it when | Entries are already posted and you are reconciling | You are writing up the bank book from the statement |
Tally's own help says the bank statement import doesn't accept PDFs, or CSV and Excel files converted from PDFs (TallyPrime: Bank Reconciliation). Accountants usually receive PDFs, so the practical route is to convert the statement into vouchers and import those as XML.
What about Docs by Ira?
Tally has added an AI feature, Docs by Ira, that reads supported digital PDF statements in newer TallyPrime releases (Tally's guide). If your firm runs a release that has it, and your clients' banks and layouts are supported, try it. The XML route below still matters when a client's bank isn't covered, when you're on Tally.ERP 9 or an older TallyPrime release, when you want a balance check before anything reaches the books, or when the same statement also needs to go to Excel.
Before you import: set up the ledgers
An XML import fails when the file names a ledger that doesn't exist in the company, even if the names differ only by a space or a full stop. Before you import:
- Match the bank ledger name exactly. If the company calls it
HDFC Bank - 0423, the file must use exactly that. - Decide where every line goes. Rent, salaries, GST payments, the client's customers and suppliers. Anything you can't place yet goes to a
Suspenseledger, which you clear later. - Create missing ledgers first. Create them by hand, or import a masters XML before the vouchers. Tally recommends importing masters first when transactions depend on them.
- Check the company period. Vouchers dated outside the books' financial year will fail.
Step by step: import vouchers from XML
- Convert the statement into one row per transaction and run the balance check, so you know nothing is missing (see bank statement PDF to Excel).
- Set a ledger and voucher type on every row (our ledger mapping guide helps), then export Tally XML. What's inside a Tally XML file explains the format.
- In TallyPrime, open the right company and take a backup. The import screen offers one, and once an import starts it can't be stopped.
- Press Alt+O (Import) › Transactions.
- In File path, pick the XML file and confirm.
- When it finishes, check the summary (vouchers created, errors), then open the Day Book for that date range to look at the entries.
- Compare the bank ledger's closing balance with the statement's closing balance. They should match to the paisa. Then reconcile the account.
Step by step: bank statement import for reconciliation
If the vouchers are already in the books, for example entered by the client's staff, use the statement only to reconcile:
- Download the statement as Excel, CSV or MT940 from net banking. Tally says it supports bank statement import for 145+ banks.
- In the bank ledger's settings, turn on auto reconciliation if you want Tally to match entries automatically.
- Open Bank Reconciliation for the ledger, press Alt+O › Bank Statement, choose the file and import it from the preview.
- Review matched lines, then clear or post the ones left unmatched.
Common import errors and fixes
| Message or symptom | What it means | Fix |
|---|---|---|
| Ledger does not exist | A ledger name in the file isn't in the company | Create the ledger with the exact name, or rename it in the file to the existing ledger |
| Vouchers imported: 0 | Usually dates outside the company's books period, or a different company selected | Check the company and its financial year, then import again |
| Some vouchers missing after import | Errors were skipped because Ignore errors during import is on | Turn the setting off, import a copy into a test company, and read the error list |
| Bank balance differs from the statement | Opening balance in Tally doesn't match, or rows are missing from the file | Fix the opening balance, then run the balance check on the source rows |
| Every entry appears twice | The same file was imported twice | Restore the backup taken before the second import |
Which TallyPrime version do you have?
Import options have grown over releases. TallyPrime 3.0.1 and earlier import data only from XML. Newer releases also accept Excel and JSON, with mapping templates. If your firm runs several versions, XML is the format every installation accepts. Clients still on Tally.ERP 9? See TallyPrime vs Tally.ERP 9 for bank imports. Tally's import FAQ lists the limits for each release.
Doing it with FileKey
FileKey covers the steps before Tally. Upload the statement PDF and it reads the transactions and runs the balance check. It suggests a ledger and voucher type for each row from the narration, such as rent, salaries, bank charges or cash deposits. You change any you disagree with, then download Tally XML ready for Alt+O › Transactions. Excel, CSV and MCS exports are there too. See the bank statement converter page and the list of supported banks.
Frequently asked questions
Can TallyPrime import a bank statement PDF directly?
TallyPrime's standard bank statement import accepts Excel, CSV and MT940 files downloaded from the bank, not PDFs. Newer releases add Docs by Ira, an AI feature that reads supported digital PDF statements. For banks or versions it doesn't cover, convert the PDF to Tally XML and import it with Alt+O › Transactions.
What is the shortcut to import data in TallyPrime?
Alt+O opens the Import menu, with Masters, Transactions and Bank Statement. In Tally.ERP 9, the same options were under Gateway of Tally › Import of Data.
How do I stop duplicate vouchers when importing?
Import each file only once, keep a log of the periods you have imported per client, and take a backup before every import so you can go back if a file is imported twice.
Why does Tally say the ledger does not exist when it is in my company?
The name in the file has to match exactly, including spaces, punctuation and suffixes. Also check that the right company is selected before you import.
Sources and further reading
- TallyPrime help: Bank Reconciliation
- TallyPrime help: Import data FAQ
- TallyPrime help: Import data from XML
- Tally: import PDF bank statements with Docs by Ira
Rules change by notification and advisory. Check the GST portal before you file.