Bank statement PDF to Excel, CSV and Tally-compatible XML
Built for CAs, accountants and bookkeepers in India. Your statement is converted inside your browser, never uploaded, and every row is checked against the running balance.
- 🔒 Files stay on your device
- ✓ Balance-checked
- SBI · HDFC · ICICI · Axis · Kotak
- Free during launch
Drop a bank statement PDF here
or
🔒 Read on this device. Your file is not uploaded.
Ledgers, rules and export settings
Use a suspense ledger and reclassify later, or type any ledger.
Blank = import into the company that is open.
Ledger rules (saved in this browser)
First matching rule wins. "Contains" can list several words separated by commas, e.g. SWIGGY, ZOMATO.
AI ledger suggestions
Sends only the narrations (no amounts, balances or file) to our server and an AI model, after you confirm. Suggestions fill rows that are still on the default ledger.
Tip: click any date, narration, reference or amount to correct it; the balance check re-runs instantly. In TallyPrime, import the ledger masters file first (Import → Masters) and set Behaviour of import if master already exists to Ignore Duplicates, so ledgers you already have are not moved to another group. Then Import → Transactions. Re-importing the same statement updates its vouchers instead of duplicating them.
How it works
- Open the PDF. Drag in a statement downloaded from net banking. If it is password protected, type the password; it is used only on your device.
- Check the numbers. We read the Date, Narration, Ref, Debit, Credit and Balance columns, then verify opening + credits − debits = closing and every running balance. Mismatched rows are flagged, not guessed.
- Map ledgers. Set rules like "contains SWIGGY → Staff Welfare". Rules are saved in your browser and applied to every statement.
- Export. Excel with a summary sheet, CSV, or Tally-compatible XML vouchers (Payment, Receipt, Contra) against your bank ledger.
Why accountants use KhataSheet
Client data stays private
No uploads means no copies of your clients' statements on someone else's server. That matters for confidentiality and the DPDP Act.
Numbers you can trust
Amounts are handled in paise (no rounding drift) and every row is reconciled against the bank's own running balance.
Ready for your books
Ledger rules, per-row voucher type, suspense ledger for the unknowns, and a masters file so imports don't fail on missing ledgers.
Supported bank formats
SBI statement to Excel
State Bank of India: Txn Date, Value Date, Description, Ref No./Cheque No.…
HDFC statement to Excel
HDFC Bank: Date, Narration, Chq./Ref.No., Value Dt…
ICICI statement to Excel
ICICI Bank: S No., Value Date, Transaction Date, Cheque Number…
Axis statement to Excel
Axis Bank: Tran Date, Chq No, Particulars, Debit…
Kotak statement to Excel
Kotak Mahindra Bank: #, Date, Description, Chq/Ref No.…
Other banks
The generic reader finds the transaction table in most digital statements. Choose "Other bank" if auto-detect misses.
Free tools
CSV / Excel to Tally XML
Turn any spreadsheet of bank entries into Payment, Receipt and Contra vouchers you can import.
UPI narration decoder
Paste a cryptic UPI, IMPS, NEFT or ATM narration and see who was paid, the UTR and the app used.
Statement balance checker
Check that opening + credits - debits equals the closing balance, row by row.
GST calculator
Add or remove GST, split into CGST + SGST or IGST, with current and old slabs.
PDF password remover
Remove the password from your own statement PDF, right in your browser.
Questions
Is my bank statement uploaded anywhere?
No. Digital PDFs are opened and converted by code running in your browser. The file, the password and the transactions stay on your device. You can check this yourself: open your browser's developer tools, Network tab, and convert a file. Nothing is sent. Our pages also set a Content-Security-Policy that blocks connections to other websites.
Which banks are supported?
SBI, HDFC Bank, ICICI Bank, Axis Bank and Kotak Mahindra Bank formats are tuned and tested. Other banks often work with the generic reader, which finds the Date / Narration / Debit / Credit / Balance columns on its own.
How do I know the numbers are right?
Every conversion runs a balance check: opening balance + credits − debits must equal the closing balance, and each row's running balance must match the previous balance plus that row's amount. Rows that do not match are flagged in red. We never "fix" numbers silently.
Can I import the result into Tally?
Yes. Download the Tally-compatible XML. Debits become Payment vouchers and credits become Receipt vouchers against your bank ledger, with the counter ledger you choose for each row (or a suspense ledger). Rows marked Contra (e.g. ATM cash) become Contra vouchers. Import the ledger masters file first (Import > Masters in TallyPrime) and choose "Ignore Duplicates" for masters that already exist, so your existing ledgers keep their groups. Then use Import > Transactions (TallyPrime) or Import of Data > Vouchers (Tally.ERP 9). Each voucher carries a stable ID, so importing the same statement again updates those vouchers instead of creating duplicates.
My PDF has a password. What do I do?
Enter it when asked. It is used only in your browser to open the file. The bank's email that carried the statement normally explains the password format.
What about scanned statements?
Scanned (photo) PDFs have no text to read in the browser. Download a fresh PDF from net banking instead: those are digital. OCR for scanned files is planned as an optional, clearly-marked server feature.
Is it free?
Yes, KhataSheet is free during launch, with a generous monthly page allowance and no sign-up.