✓ 100% Free 🇮🇳 All Indian Banks 📋 Exact Tally Columns ⚡ Instant Results 🔒 Secure & Private 📄 Tally XML Supported

Tally Bank Statement Import Excel Format — Free Template 2025

The exact column structure Tally Prime expects, why imports fail, the Tally XML format explained, TDL for bank import — and a free converter that produces the correct format from any bank PDF automatically.

📁

Skip the template — get the format pre-filled

Upload your bank statement PDF and download Excel already in Tally import format

Convert to Tally Format →

No signup required · Files deleted after 24 hours · HTTPS encrypted · Never shared

The Exact Excel Format for Tally Bank Statement Import

Tally Prime's bank statement import (Alt+O → Transactions → Bank Statement) expects a simple, strict structure — one transaction per row, with these columns:

DateParticularsDebitCreditInstrument No.
01-04-2026NEFT/AXIS BANK/RENT APRIL25000.00
03-04-2026UPI/CR/CLIENT PAYMENT INV-2241118000.00
05-04-2026CHQ PAID VENDOR SUPPLIES42700.00752727
08-04-2026BANK CHARGES GST590.00

The five formatting rules that matter

Why Manual Formatting Takes So Long

Copy-pasting from a bank PDF into Excel produces none of the above. SBI statements split narrations across lines; HDFC merges date and value-date; ICICI embeds the page number into the data; scanned statements can't be copied at all. Cleaning a 10-page statement by hand typically takes 30–60 minutes — and one missed merged-row means your Tally ledger won't reconcile.

Our converter does this automatically: upload the bank statement PDF (any Indian bank, digital or scanned) and download an Excel file already in the structure above. Every transaction is also balance-verified — checked against the statement's running balance — so the amounts you import into Tally are arithmetically proven, not just extracted.

Bank Statement to Tally XML — What Is the XML Format?

When people search for "bank statement to Tally XML" they are asking about TallyXML — Tally's own XML-based data exchange standard used to import ledger masters, vouchers, and opening balances directly into Tally without the CSV/Excel import screen.

TallyXML vs Excel import — which do you need?

MethodBest forHow to trigger in TallyComplexity
Excel / CSV importMonthly bank statement entries, day-to-day transaction importAlt+O → Import → Bank StatementLow — just map columns
TallyXML importBulk voucher migration, ledger masters, opening balances, ERP integrationGateway of Tally → Import → Data → select .xml fileMedium — requires correctly structured XML

For routine bank statement import into Tally Prime, Excel/CSV is simpler and faster. TallyXML becomes necessary when you are integrating Tally with another system (ERP, custom software) or performing a one-time bulk data migration.

Sample TallyXML structure for a bank voucher entry

If you do need to generate a TallyXML file for bank transactions, each payment or receipt voucher follows this structure:

<ENVELOPE>
  <HEADER>
    <TALLYREQUEST>Import Data</TALLYREQUEST>
  </HEADER>
  <BODY>
    <IMPORTDATA>
      <REQUESTDESC>
        <REPORTNAME>Vouchers</REPORTNAME>
      </REQUESTDESC>
      <REQUESTDATA>
        <TALLYMESSAGE xmlns:UDF="TallyUDF">
          <VOUCHER VCHTYPE="Receipt" ACTION="Create">
            <DATE>20260401</DATE>
            <NARRATION>UPI/CR/CLIENT PAYMENT INV-2241</NARRATION>
            <ALLLEDGERENTRIES.LIST>
              <LEDGERNAME>HDFC Bank Current A/C</LEDGERNAME>
              <AMOUNT>-118000.00</AMOUNT>
            </ALLLEDGERENTRIES.LIST>
            <ALLLEDGERENTRIES.LIST>
              <LEDGERNAME>Sundry Debtors</LEDGERNAME>
              <AMOUNT>118000.00</AMOUNT>
            </ALLLEDGERENTRIES.LIST>
          </VOUCHER>
        </TALLYMESSAGE>
      </REQUESTDATA>
    </IMPORTDATA>
  </BODY>
</ENVELOPE>
Note: In TallyXML, amounts for the bank ledger (asset) are negative when receiving money (credit), and positive when paying out (debit). This is counter-intuitive but correct — Tally follows accounting debit/credit conventions at the ledger level.

To import a TallyXML file: open Tally Prime → Gateway of Tally → Import → Data → browse to your .xml file. Tally will parse the voucher entries and create them in your company data.

TDL for Bank Statement Import in Tally ERP 9 and Tally Prime

TDL stands for Tally Definition Language — Tally's built-in scripting language that lets developers and power users customise menus, add custom buttons, create new reports, and automate workflows inside Tally. Many accountants encounter TDL when searching for tools to automate bank statement import in older Tally ERP 9 installations.

When is TDL needed for bank import?

How to load a TDL file in Tally

  1. Obtain the .tdl file from a Tally Partner, developer, or trusted community source.
  2. Place the file in a location Tally can access, for example: C:\Tally\TDL\bank_import.tdl
  3. Open Tally.ini (usually in your Tally installation folder, e.g. C:\Program Files\Tally.ERP9\).
  4. Add the line: TDL = C:\Tally\TDL\bank_import.tdl
  5. Save Tally.ini and restart Tally. The custom import option will appear in the menu.

TDL vs native import vs our converter

ApproachWorks inEffortRecommendation
Native Excel import (Alt+O)Tally Prime 3.x+LowBest for most users
TDL utilityTally ERP 9, Tally PrimeMedium (needs setup)For ERP 9 or custom workflows
TallyXML importAll Tally versionsHigh (XML authoring)For bulk migration or ERP integration
Our converter + native importTally Prime 3.x+MinimalFastest path for any Indian bank PDF

Our converter outputs a CSV/Excel file in the exact structure Tally Prime's native import expects — no TDL required. Upload your bank statement PDF, download the file, import via Alt+O. Done in under two minutes.

Import Walkthrough: Tally Prime 3.0+

1
Convert

Upload your bank PDF above, download the Tally-format Excel

2
Alt+O in Tally

Gateway of Tally → Import → Transactions → Bank Statement

3
Map & Accept

Map columns, review the voucher preview, accept — done

Bank Statement Import Format for Each Indian Bank

Each Indian bank produces statements with different quirks. Here is what to watch for when converting each bank's PDF for Tally import.

HDFC Bank
  • Narrations include NEFT/RTGS/UPI prefix (e.g. "NEFT/YESB/VENDOR")
  • Two date columns: transaction date and value date — use transaction date for Tally
  • Net Banking PDF has clean columns; branch passbook is multi-column and harder to parse
  • UPI credit narrations start with "UPI/CR/"
SBI (State Bank of India)
  • Long narrations wrap across 2–3 rows in PDF — must be joined before import
  • Passbook format differs significantly from Net Banking statement
  • YONO app exports CSV directly but column names differ from Tally's expected headers
  • "By Transfer" / "To Transfer" prefix in older statements
ICICI Bank
  • iMobile app allows direct CSV export — re-map column names for Tally
  • PDF statements embed page number into the data area
  • Savings and current account formats differ
  • Cheque transactions include instrument number in narration field
Axis Bank
  • Multi-column layout with separate withdrawal and deposit columns — good for Tally
  • Running balance column present (useful for verification)
  • NEFTs include sender name in narration
  • Internet Banking PDF is clean; branch passbook is scanned
Kotak Mahindra Bank
  • Net Banking statement exports well-structured CSV
  • Date format is DD-MM-YYYY in PDF but sometimes MM/DD/YYYY in CSV export — verify before import
  • Narrations include UPI reference IDs
Punjab National Bank (PNB)
  • Older PDF statements are scanned — OCR required
  • Narration format varies by branch
  • Government payment narrations (PFMS, DBT) can be very long
  • Balance carried forward rows must be stripped before import
SBI HDFC Bank ICICI Bank Axis Bank Kotak Mahindra PNB Bank of Baroda Canara Bank Union Bank IDBI Bank Yes Bank IndusInd Bank Federal Bank Indian Bank Bank of India RBL Bank

Tally Bank Statement Import Troubleshooting — Error by Error

Below is a comprehensive error reference covering both Tally Prime and Tally ERP 9 bank statement import failures.

Error / SymptomTally VersionRoot CauseFix
"Date format mismatch" or date parsing errorBothDates stored as text strings instead of proper date values, or format is MM-DD-YYYY instead of DD-MM-YYYYEnsure date column is DD-MM-YYYY text format. Our converter outputs this automatically. Do not let Excel auto-convert to its internal date format.
"Invalid voucher type"PrimeThe Vch Type column contains a value Tally doesn't recognise (e.g. "NEFT" instead of "Payment")Use valid Tally voucher types: Payment, Receipt, Contra. Leave blank to let Tally assign automatically.
"Ledger not found"BothThe Particulars field contains a ledger name that does not exist in your Tally company dataLeave Particulars as the bank narration text. Tally creates a suspense entry. Map to ledgers after import during reconciliation.
"Duplicate entry detected"PrimeStatement period overlaps with a previously imported period, or the same transaction appears twiceImport non-overlapping date ranges. Tally checks instrument numbers for cheque duplicates. For UPI/NEFT, filter by date range before importing.
"Amount mismatch" or wrong totalsBothCurrency symbols (₹), comma separators, or "Cr"/"Dr" text embedded inside amount cellsAmounts must be plain numbers (e.g. 25000.00). Strip all formatting. Our converter does this automatically.
All transactions imported as debitsBothOnly one amount column instead of separate Debit and Credit columnsSplit combined amount column: positive = Credit, negative = Debit (or use DR/CR indicator column).
Rows skipped during importPrimeEmpty Particulars cell, malformed row, or statement artifacts (opening balance, page totals)Remove header/footer rows, opening/closing balance rows. Ensure Particulars is populated for every row.
Import succeeds but ledger balance is wrongBothMulti-line narrations in PDF split one transaction across rows, importing as two separate entriesJoin multi-line narrations into a single cell before import. Our converter handles this automatically.

How to Reconcile Bank Statement in Tally Prime After Import

Importing transactions is step one — reconciliation confirms that Tally's bank ledger matches your actual bank statement balance. Here is the step-by-step process in Tally Prime.

  1. Go to Bank Reconciliation: Gateway of Tally → Banking → Bank Reconciliation Statement. Select your bank ledger from the list.
  2. Set the statement date: Press F2 to set the period end date matching your bank statement (e.g. 30-04-2026).
  3. Compare entries: Tally shows two columns — your books on the left, imported bank entries on the right. Unreconciled entries appear in red.
  4. Reconcile matching entries: For each matched transaction, click the entry and press Enter to set the reconciliation date (the date it appears on the bank statement).
  5. Handle discrepancies: If a Tally entry has no matching bank entry, it is either a timing difference (cheque issued but not cleared) or a data entry error. If a bank entry has no Tally voucher, create a new voucher for it.
  6. Check the closing balance: Once all entries are matched, the "Closing Balance as per Bank" should equal the statement closing balance. A difference indicates a missing or duplicate entry.
  7. Accept and save: Press Ctrl+A to save the reconciliation. The BRS report is now updated.
Tip: Run bank reconciliation monthly. Reconciling after each import session (rather than quarterly) keeps discrepancies small and easy to trace.

Related Guides

Frequently Asked Questions

What Excel format does Tally bank statement import need?
One transaction per row: Date (DD-MM-YYYY), Particulars, Debit, Credit, optional Instrument No. Real date values, clean numeric amounts, no merged cells or statement artifacts.
What is Tally XML and how is it different from Excel import?
Tally XML (TallyXML) is Tally's native data exchange format — an XML-structured file imported via Gateway of Tally → Import → Data. Excel import (Alt+O) is simpler and handles most bank statement workflows. TallyXML is used for bulk voucher migration, ledger masters, or integration with third-party systems. For routine bank statement import, Excel/CSV is the right choice.
How do I import a bank statement to Tally XML format?
To import a TallyXML file in Tally Prime: Gateway of Tally → Import → Data → browse to your .xml file. The XML must follow Tally's envelope structure with VOUCHER elements inside TALLYMESSAGE tags. For most users, Excel import (Alt+O) is faster and achieves the same result without needing to author XML.
What is TDL for bank statement import in Tally?
TDL (Tally Definition Language) is Tally's scripting language for customisation. In Tally ERP 9, which lacks native bank import, a TDL file adds an import menu option. In Tally Prime 3.x, native bank import is built in — no TDL needed. To load a TDL: edit Tally.ini, add TDL = C:\path\to\file.tdl, and restart Tally.
How to download TDL for bank statement import?
TDL files are available from certified Tally Partners, the Tally Developer Network, and community forums. Search for "bank statement import TDL Tally ERP 9" to find options. However, if you are on Tally Prime 3.x, you do not need a TDL — use the built-in Alt+O import with our converted Excel file instead.
What is the difference between Tally Prime and Tally ERP 9 bank import?
Tally Prime 3.x has a dedicated Bank Statement import option under Alt+O (Import). Tally ERP 9 does not have this feature natively — you need either a TDL utility or TallyXML import. Column mapping also differs between versions. Our converter is optimised for Tally Prime.
Where can I download the template?
You don't need a blank template — upload your bank statement PDF and download Excel already in the correct structure, filled with your actual transactions. This skips the manual copy-paste step entirely.
Which Tally versions support direct Excel import?
Tally Prime 3.0 and later import Excel directly via Alt+O. Older versions (ERP 9) require XML conversion or a TDL-based utility.
Why does my import fail?
Usually: text-formatted dates, combined debit/credit columns, multi-line narrations splitting rows, or page artifacts in the data. Converting through our tool eliminates all of these.
How to do bank reconciliation in Tally Prime after import?
Go to Gateway of Tally → Banking → Bank Reconciliation Statement. Select your bank ledger, set the statement date (F2), then match each imported bank entry to the corresponding Tally voucher by entering the reconciliation date. The closing balance as per bank should equal the statement closing balance when fully reconciled.
Does this work with scanned statements?
Yes — OCR runs automatically on scanned PDFs, and balance verification catches recognition errors before you import into Tally.
What is the exact date format Tally Prime expects for bank import?
Tally Prime's bank statement import accepts DD-MM-YYYY or DD/MM/YYYY date formats. Our converter automatically outputs dates in DD-MM-YYYY format. If Tally shows a date parsing error, check that the date column is formatted as text, not as Excel's built-in date format — Tally reads the raw text value, not the Excel-formatted display.
Does this work for Tally ERP 9 as well as Tally Prime?
The Excel/CSV import feature was significantly improved in Tally Prime. For Tally ERP 9, bank statement import is less standardised — the column mapping differs by version. Our converter produces a CSV that works with Tally Prime 3.x and above. For Tally ERP 9, you may need to adjust column headers manually or use a TDL utility.
Can I import bank statements from multiple months into Tally at once?
Yes, but import them one statement (one month) at a time. Each import session covers one bank statement period. Convert each monthly PDF to CSV separately, then import into Tally in chronological order. Tally will create individual voucher entries for each transaction date.

Related Tools & Guides

Bank Statement to Tally Excel to Tally How to Import Bank Statement in Tally Prime Bank Statement PDF to Tally Import Bank Reconciliation in Tally Bank Statement to Tally XML HDFC Bank Statement PDF to Excel

Get Your Statement in Tally Import Format

100% free · No signup · All Indian banks · Balance-verified output

Convert Now →