Start with the thing that causes most of the confusion: Tally ERP 9 has no bank statement import. The feature that reads a bank's Excel or CSV download, auto-creates vouchers and auto-reconciles them is a Tally Prime capability, and auto-creation needs Release 6.0 or later.
If you are following a guide that describes selecting a bank ledger on an import screen and you cannot find it in ERP 9, that is why. It isn't hidden behind a setting.
What ERP 9 does have is voucher import from XML, and that is the route to use.
Why the missing feature may not matter to you
The bank statement import only accepts files downloaded directly from your bank's portal. Tally's documentation is explicit that PDF files, and Excel or CSV converted from a PDF, are not supported by it.
So if your bank emails you PDF statements — which is the normal situation — you would be using the voucher import even on Tally Prime. Upgrading would not unlock a route your files can take.
Importing vouchers in ERP 9
Create the ledgers first. Any ledger named in the XML has to already exist, or those vouchers are silently skipped. ERP 9 will not create them during an import. Gateway of Tally → Accounts Info → Ledgers → Create.
Then import:
- Gateway of Tally → Import Data → Vouchers
- Give the path to the XML file
- Choose Add for the behaviour on existing vouchers — Overwrite replaces matching vouchers and is worth avoiding unless you know exactly what it will match
- ERP 9 reports how many vouchers were imported and how many were skipped
There is no `Alt+O` shortcut in ERP 9; Import Data is a menu item on the Gateway.
The file has to be reachable from the machine running Tally. A network path works; a download folder on a different PC does not.
When vouchers are skipped
The count coming back lower than expected is normal on a first attempt, and it is almost always one of three causes:
- A ledger named in the file doesn't exist. The most common by a distance.
- The voucher type doesn't exist. Receipt and Payment exist by default; anything custom has to be created first.
- The date falls outside the company's financial year. Statements spanning a year-end are the usual culprit.
Fix the cause and import again. With Add selected, vouchers already present are not duplicated where their voucher numbers match.
Converting the statement first
- Upload the PDF to the Tally XML converter. The XML schema is the same for ERP 9 and Tally Prime, so there is nothing to choose between.
- Check the reconciliation result before downloading — opening balance plus credits minus debits should equal the closing balance printed on the statement. A statement that doesn't tie out is flagged, and you can correct the figure in the table before exporting.
- Download and import.
Each transaction becomes one voucher: Receipt for money in, Payment for money out, dated `YYYYMMDD`, with the statement's own description as the narration. The counter ledger defaults to Suspense rather than a guessed expense category, so you allocate them properly inside Tally afterwards.
Reconciling afterwards
ERP 9 has bank reconciliation — it is the automated *matching against an imported statement* that it lacks. Once the vouchers are in, reconcile them the usual way under the bank ledger.
Should you upgrade to Tally Prime?
For this specific job, only if your bank gives you Excel or CSV downloads from its portal. Then the bank statement import is genuinely better: it creates and matches in one pass.
If you work from PDFs, the voucher import is the route on both versions and the upgrade buys you nothing here.
The Tally Prime walkthrough, covering both routes, is in how to import a bank statement in Tally Prime.
Try it on your own statement
Clean Excel/CSV, with every transaction checked to balance.
