If you've ever created 300 receipt and payment vouchers manually because a client sent you a bank PDF for the whole financial year — you already know this is a solved problem. Tally Prime has a built-in Import Data feature (Ctrl+I) that lands every transaction as a properly-formatted voucher in seconds. You just need to give Tally the right file.
This guide walks through the two working methods (XML and Excel), which one to choose, and the five errors that trip people up the first time.
Why import bank statements at all?
Every voucher you type by hand is a chance to fat-finger an amount, transpose a date, or forget the reference number. On a 12-month reconciliation for a mid-sized client, that's a few thousand data-entry decisions. Importing collapses all of that into one Ctrl+I, and Tally then treats those vouchers like any others — you can edit, filter, reconcile, print.
The other reason is time. Manual entry of 500 transactions is 6-8 hours; an import is under 2 minutes. That's the difference between finishing month-end on Friday afternoon and finishing on Sunday.
What you need before you start
- Tally Prime (any recent version — 3.0 or later is ideal) or Tally ERP 9 release 6.x
- Your client's bank statement as a PDF or Excel file
- The bank ledger already created in the client's Tally company (e.g. "HDFC Bank - 0501...")
- Roughly 5 minutes
Method 1 — XML import (the fast path)
Tally's native import format is XML. It's the fastest and safest option because it maps to Tally's voucher structure directly — no column mapping wizards, no data-type conversion issues. The only step you can't do inside Tally is producing the XML from a PDF. That's where a converter comes in.
Convert the bank PDF into Tally XML
Upload the PDF to BankXL's Tally XML converter. It detects the bank automatically, extracts every transaction with its reference number, and emits a Tally-schema XML file. Takes about 15 seconds for a typical monthly statement.
The file it gives you is a proper Tally schema XML — receipts on the credit side, payments on the debit side, each with the transaction date, amount, and reference number preserved as voucher narration.
Open the correct company in Tally Prime
Load the client's company. Confirm the bank ledger exists — if it doesn't, create it now (Gateway of Tally → Create → Ledger, under group "Bank Accounts"). The ledger name in Tally must match what your XML references.
Import the XML
From Gateway of Tally, press Ctrl+I. Or navigate: Gateway of Tally → Import Data → Vouchers.
When Tally asks for the file path, point it to the XML BankXL gave you. Confirm the behavior for duplicates (usually "Modify existing" is safest so a re-import doesn't create doubles). Hit enter and Tally will process the file.
Verify the import
You'll see a summary — "N vouchers imported, 0 errors." Open the day book ( Gateway of Tally → Day Book) for the statement period and you'll see every voucher land in place, correctly dated, with the bank ledger on one side and the counterparty on the other.
Method 2 — Excel import (when XML isn't an option)
Tally Prime 3.0+ can also import from Excel via Configure Import. It's slower and requires more setup, but works if your workflow already relies on Excel intermediates (e.g. team reviews the Excel before importing).
The BankXL Excel export is compatible: use the standard Excel converter, then in Tally: Gateway → Import Data → Vouchers → Configure Import → map your columns (Date, Debit, Credit, Description). Save the map so you can reuse it every month.
Mapping the counterparty ledger correctly
The most common concern from CAs is: "if every voucher hits Suspense, do I have to reclassify each one manually?" No. Tally lets you bulk-alter vouchers by ledger:
- Open Day Book for the imported period.
- Filter by "Ledger → Suspense" so you see only the imported rows.
- Sort by Narration — all "NEFT-CR-INFOSYS LTD" rows cluster together.
- Select them (Ctrl+Space to multi-select), alter, change ledger to the correct one, save.
A 500-voucher month typically has 30-50 unique counterparties. Once you've mapped them the first time, subsequent months are a few minutes of the same drill.
Common import errors — and how to fix them
"Ledger does not exist"
The bank ledger in your XML doesn't match the ledger name in Tally. Either rename the Tally ledger to match the XML, or re-generate the XML with the exact ledger name (BankXL lets you set a custom bank ledger name before export).
"Duplicate voucher number"
Tally is trying to import a voucher whose auto-generated number already exists. On the import screen, choose "Ignore duplicates" or "Modify existing." Safer choice: modify existing if you're re-importing the same period after a fix.
"Voucher date is out of the current period"
The financial year in Tally hasn't been extended to the date in your XML. Alter Company (F11) → set correct beginning of financial year, or open a new financial year (Alt+F2).
Some transactions missing after import
Usually a chunk-boundary issue on the source-side PDF-to-XML conversion (rare with BankXL, common with generic tools). Compare voucher count in Tally to the transaction count on the last page of your statement — if it's off by more than 2-3, re-convert the PDF and re-import.
Amounts show up with wrong precision
Tally rounding settings vs. XML precision. Check F11 → Voucher entry → Round-off configuration. Set to 2 decimals; re-import.
Does this work in Tally ERP 9?
Yes. The XML schema is the same for ERP 9 and Prime. Same steps: Gateway of Tally → Import Data → Vouchers → point to the XML file. The only differences are cosmetic (menu labels look slightly different in Prime's newer UI).
How to automate this every month
Set up a folder per client. When the bank sends the monthly e-statement, drop it in the folder. Convert with BankXL (one drag-drop), point Tally at the XML, done. If you handle multiple companies, you can queue several conversions in BankXL, then import them one after another in Tally.
For Firm-plan customers, BankXL has bulk upload — drop 20 client statements in one go, all convert in parallel, and you download the XMLs together.
Questions about the workflow above? Reply to any of our emails or write to support@banlxlai.com — we read every message.
Skip the manual voucher entry
BankXL converts any bank PDF into a Tally-import-ready XML in 15 seconds. One Ctrl+I in Tally and every transaction lands as a proper voucher.
Try the Tally XML converter →