Statement→Tally XML

Bank Statement to Tally XML Converter

Upload a PDF or Excel bank statement, assign ledgers, and download a Tally XML file ready to import into TallyPrime or Tally.ERP 9. You can also export to Excel, CSV or JSON.

Your statement is read inside your browser. Nothing is uploaded.

STEP 1 Load your statement

STEP 2 Tally details Names must match your Tally company exactly.

STEP 3 Review entries Sample data

Entries0
Withdrawals0.00
Deposits0.00
Closing balance–
Click a cell to correct it. Type a ledger once and it is offered on other rows.
DateNarrationWithdrawalDepositBalanceLedgerVoucher

STEP 4 Download for Tally

Import the ledger masters file first if any of these ledgers don’t exist in your company yet, then import the vouchers file.

Bank statement import in Tally, without typing

Entering a month of bank transactions into Tally by hand takes hours and invites typing mistakes. This free bank statement to Tally converter reads the statement for you and writes a Tally XML file, so the whole month imports in one step. It works as a PDF to Tally converter and an Excel to Tally converter, and the output imports into TallyPrime and Tally.ERP 9.

What the converter does with each statement line

Every line of the bank statement becomes one Tally voucher. The voucher type comes from the direction of the money, and the ledger comes from the narration. Here is how three typical lines are converted:

Statement lineAmountLedger suggestedTally voucher
NEFT CR-SAMPLE RETAIL PVT LTD-INV 104284,500.00 inSuspense A/c (you pick the customer)Receipt: Bank Dr, Party Cr
ATM WDL-DEMO NAGAR BRANCH10,000.00 outCashContra: Cash Dr, Bank Cr
SMS ALERT CHARGES QTR17.70 outBank ChargesPayment: Bank Charges Dr, Bank Cr

Ledgers are suggested for common narrations such as bank charges, interest, ATM and cash deposits, GST and TDS payments, rent, salary, electricity, telephone, insurance and fuel. Everything else goes to the ledger you choose for unmatched entries, usually Suspense A/c, so you can reassign it before or after the import.

What the XML looks like

The vouchers file uses Tally’s standard XML import format. A single Payment voucher looks like this:

<VOUCHER VCHTYPE="Payment" ACTION="Create">
  <DATE>20260415</DATE>
  <VOUCHERTYPENAME>Payment</VOUCHERTYPENAME>
  <NARRATION>SMS ALERT CHARGES QTR</NARRATION>
  <ALLLEDGERENTRIES.LIST>
    <LEDGERNAME>Bank Charges</LEDGERNAME>
    <ISDEEMEDPOSITIVE>Yes</ISDEEMEDPOSITIVE>
    <AMOUNT>-17.70</AMOUNT>
  </ALLLEDGERENTRIES.LIST>
  <ALLLEDGERENTRIES.LIST>
    <LEDGERNAME>HDFC Bank A/c</LEDGERNAME>
    <ISDEEMEDPOSITIVE>No</ISDEEMEDPOSITIVE>
    <AMOUNT>17.70</AMOUNT>
  </ALLLEDGERENTRIES.LIST>
</VOUCHER>

Dates are written as YYYYMMDD, debits carry a negative amount with ISDEEMEDPOSITIVE set to Yes, and credits carry a positive amount. You don’t need to edit any of this by hand.

Supported banks

The converter reads statements by their columns, not by bank, so it works with any bank whose statement has a date, narration, withdrawal and deposit (or a single amount with Dr/Cr), and balance. Layouts tested so far include statements in the style of HDFC Bank, State Bank of India, ICICI Bank, Axis Bank and Kotak Mahindra Bank, plus Excel and CSV downloads. See the bank guides for HDFC, SBI and ICICI.

How to import the XML into TallyPrime

  1. Open your company in TallyPrime and take a backup first.
  2. If you created new ledgers, press Alt+O (Import) → Masters and select the ledger masters file.
  3. Press Alt+O → Transactions and select the vouchers file.
  4. Choose how to treat duplicates, then accept to import.
  5. Check the import summary. Anything Tally rejected is listed in tally.imp in your Tally folder.
  6. Open the bank ledger and confirm its closing balance matches your statement.

In Tally.ERP 9 the path is Gateway of Tally → Import of Data → Masters / Vouchers. If Tally rejects anything, see common import errors and fixes.

Questions

Is my bank statement uploaded anywhere?

No. The file is read by JavaScript in your browser tab. Nothing is sent to a server, so it is safe for confidential client statements.

Which banks are supported?

Any bank whose statement has date, narration, debit/credit (or amount) and balance columns. That covers text-based e-statements from HDFC, SBI, ICICI, Axis, Kotak and most other banks. Scanned statements (photos) are not supported yet.

Which Tally versions does the XML work with?

The file uses Tally’s standard XML import format, which TallyPrime and Tally.ERP 9 both read.

How are voucher types decided?

Withdrawals become Payment vouchers, deposits become Receipt vouchers, and any entry posted to a Cash ledger (ATM withdrawals, cash deposits) becomes a Contra voucher.

Tally says a ledger does not exist.

Every ledger name in the file must exist in your company with exactly the same spelling. Import the ledger masters file first, or rename ledgers in Step 3 to match yours.

Some rows are flagged in Step 3.

A flagged row means the previous balance minus the withdrawal plus the deposit doesn’t equal that row’s balance. Usually an amount was read into the wrong column. Fix the cell and the flag clears.

Is it free?

Yes. Converting statements and downloading the Tally XML, Excel, CSV and JSON files is free.

Can I convert a bank statement to Tally without the Tally Excel import?

Yes. The converter writes an XML file that Tally imports directly, so you don’t need to prepare an Excel template or map columns inside Tally.

Does it work for bank reconciliation in Tally?

Importing the bank entries is the first step. Once the vouchers are in Tally, you can reconcile the bank ledger against the statement dates as usual.