Skip to main content
onebooksgst Logo

How to Import Bank Statement into Tally

A step-by-step guide to importing bank statements into Tally, covering data prep, ledger mapping, voucher types, and how to avoid duplicate entries.

Updated 9 min read
Topics:TallyBank StatementsLedger MappingBank Reconciliation
How to Import Bank Statement into Tally — OneBooks GST
What you'll learn from this guide
  • Tally
  • Bank Statements
  • Ledger Mapping
  • Bank Reconciliation

Getting a bank statement into Tally correctly is less about the import button and more about what happens before you click it. Most import failures and duplicate vouchers trace back to messy source data or ledger names that don't quite match, not to Tally itself. This guide walks through how to import a bank statement into Tally step by step, from preparing the data to mapping ledgers to verifying the closing balance afterward.

If you haven't already turned your PDF statement into a clean spreadsheet, start with how to convert a bank statement PDF to Excel first, since this guide picks up from there.

Two Ways to Bring Bank Data Into Tally

You can either key in vouchers manually or bring the data in through a bulk import file. Which one makes sense depends on volume.

MethodBest forEffort per transactionRisk
Manual voucher entry (Payment/Receipt/Contra)A handful of transactions a monthHighLow, since each entry is reviewed as it's typed
Bulk import (XML or structured Excel)Dozens to hundreds of transactionsLowHigher unless the source data is validated first

The exact file structure used for bulk import is covered separately in bank statement to Tally XML. This guide focuses on the data preparation and ledger-mapping decisions that matter regardless of which method you use.

Step 1: Start From a Clean, Standardized Statement

Before anything touches Tally, your statement data needs one row per transaction with consistent columns: date, narration, debit amount, credit amount, and running balance. No merged rows, no blank narration lines, no dates in mixed formats. If your source is a PDF, resolve that first rather than trying to fix formatting problems inside Tally.

Step 2: Match Your Column Headers to What Tally Expects

Statement columnTally fieldNotes
Transaction dateVoucher dateKeep it in one consistent format across the whole file
Narration/descriptionNarration field on the voucherKeep the bank's original wording; you'll pattern-match this in Step 3
Debit amountPayment voucher amountMoney going out of the bank account
Credit amountReceipt voucher amountMoney coming into the bank account
Reference/cheque numberBill-wise reference, if usedOptional, useful for matching to specific invoices later

Step 3: Map Narrations to the Right Ledgers

This is the core work of the whole exercise. Bank narrations are terse, for example NEFT-ABC ENTERPRISES-INV2201, and each pattern needs to map consistently to an existing Tally ledger.

Narration patternLikely ledgerVoucher type
NEFT/IMPS from a known customer nameThat customer's Sundry Debtor ledgerReceipt
NEFT/RTGS to a known supplier nameThat supplier's Sundry Creditor ledgerPayment
Text like MAB CHRG, SMS CHRG, AMCBank ChargesPayment
Transfer between your own accountsBank-to-Bank ledger pairContra
Interest credited by the bankInterest IncomeReceipt

Keep this mapping list updated as new counterparties appear so future months import faster. Ledger names must exist in Tally exactly as referenced, including case and spacing, or the import will either fail or quietly create a new, duplicate ledger. See bank statement to Tally XML for the exact matching rules behind this.

Step 4: Avoid Creating Duplicate Vouchers

Duplicate vouchers usually come from one of two habits: re-importing an overlapping date range, or importing a bank feed and then also re-entering some of the same transactions manually. Before importing, check the last successfully imported transaction date and balance, and start the new file strictly after that point. Tally does not automatically detect duplicates, so after import it's worth sorting the bank ledger by date and scanning for repeated adjacent entries with the same amount and narration. Keeping a simple log of which statement periods have already been imported per bank account avoids this entirely.

Step 5: Choose the Right Voucher Type for Each Line

  • Payment: money going out to a third party.
  • Receipt: money coming in from a third party.
  • Contra: a transfer between your own bank or cash accounts.

Misclassifying a contra transaction as a payment or receipt is a common error, and it inflates income or expense figures even though the cash never actually left the business. Check transfers between your own accounts specifically before assigning voucher types in bulk.

Step 6: Verify the Closing Balance After Import

After import, check the bank ledger's closing balance in Tally against the closing balance printed on the statement for the same period. If they don't match, look for skipped rows, duplicate rows, or a transaction posted to the wrong ledger, which can still leave the overall balance correct while distorting individual account figures. Running a formal bank reconciliation in Tally afterward is a good final check.

Handling Special Cases That Trip Up a Straight Import

A handful of transaction types don't fit the simple debit-in, credit-out pattern and are worth handling deliberately rather than mapping automatically.

  • Loan EMIs: a single EMI debit usually needs to be split between a principal repayment ledger and an interest expense ledger rather than posted as one lump sum, since only the interest portion affects your profit and loss.
  • Bank charges with GST: many bank charges carry GST, so the ledger entry may need to separate the charge itself from the GST component if you want to claim input tax credit correctly, rather than posting the whole debit to a single Bank Charges ledger.
  • Cheques issued but not yet cleared: a cheque you've issued may not appear on the bank statement until it clears, so your books and the statement can legitimately be out of step for a few days; don't force a match that isn't there yet.
  • Standing instructions and auto-debits: recurring debits like insurance premiums or subscription payments are easy to mis-map the first time; once identified correctly, add them to your narration-to-ledger mapping list so they import correctly every month afterward.

Where Automation Helps

OneBooks GST's bank statement parsing takes a PDF or Excel statement and produces ledger-mapped, accounting-ready output, which reduces the manual narration-mapping work in Step 3 and can export in a Tally-ready format for structured bulk import. See bank statement parser for details, and accounting software for how this fits into OneBooks GST's broader books.

Frequently Asked Questions

Can I import a bank statement into Tally directly from a PDF?

Not directly. Tally needs structured data, typically Excel or XML, so a PDF statement has to be converted and cleaned first before it can be mapped and imported.

What happens if a ledger name in my import file doesn't exist in Tally?

Depending on the import method, Tally will either reject that voucher or create a new ledger automatically, which can fragment your books into duplicate ledgers for the same party if names don't match exactly.

How do I stop Tally from creating duplicate vouchers on re-import?

Track the last imported transaction date and balance per bank account, only import statement periods after that point, and scan the bank ledger for repeated entries after each import since Tally does not deduplicate automatically.

Should bank transfers between my own accounts be Payment/Receipt or Contra vouchers?

They should be Contra vouchers. Recording an internal transfer as a Payment or Receipt overstates expenses or income even though no money actually left the business.

How do I know the import matched my actual bank balance?

Compare the bank ledger's closing balance in Tally to the closing balance printed on the statement for the same period. A mismatch usually points to a skipped, duplicate, or misclassified transaction.

What if my bank statement shows amounts in a single column instead of separate debit and credit columns?

Some banks show one Amount column with a Dr or Cr indicator, or negative values for debits. Convert this into two separate debit and credit columns before mapping to Tally, since Payment and Receipt vouchers each expect a positive amount on their own side.

Using OneBooks GST for this workflow

OneBooks GST is built around exactly this cycle. It converts bank statements into ledger-mapped transaction rows and exports them as Excel or Tally-compatible output.

Reviewing the output in OneBooks GST before it leaves the system is the step that catches period, GSTIN and tax-rate errors while they are still easy to fix.

OneBooks GST publishes practical guides to help Indian businesses understand compliance, reconciliation, and reporting workflows.

Keep reading

More Bank Statement Automation guides

Automate your bank statement processing.

Upload multi-bank statements, parse entries automatically, and reconcile with your books — no manual copying.