India's most secured bank statement converter
Bank statement PDF to Excel.Never uploaded.
Convert to Excel, CSV, JSON or Tally XML, combine months into one reconciled file, and see who you paid — every balance checked against your bank's own.
Drop a statement PDF hereConvert a statement PDF
Your bank's PDF, not a scan or screenshot · up to 300 pages · password-protected PDFs supported
Free — 3 statements a day, no account needed.
What TrueStatement does
Convert to any format
Excel with no account; CSV with a free one; JSON on paid plans; Tally XML on Professional and Growth.
Combine & reconcile
Several statements in one file, every place two meet checked. Paid plans.
Analyse
Money in and out, and totals for everyone you paid or were paid by. Free account.
Balances checked
Every row is checked against the running balance your bank printed beside it.
How it works
Three steps, all in your browser. The checks run before the file is made, and their result is on screen beside the download button.
- 1
Choose your statements
Select HDFC Bank or Kotak Mahindra Bank statement PDFs from your device — one at a time, or several together on a paid plan.
- 2
Convert, combine and reconcile
The rows come out in columns, statements of one account join into one group, and the result of every balance and total check is on screen beside the download.
- 3
Analyse and export
Download Excel, or CSV with a free account. Review party-wise totals with a free account, or export Tally XML on Professional and Growth.
From bank PDFs to one reconciled file.
Bank PDFs wrap narrations mid-word, print 0.00 in the empty column and split one account across several files. What comes out is one table you can review and export — every row and every join already checked.
Before · two PDFs, as printed
Invented_HDFC_Jan-Mar_2025.pdf
Invented_HDFC_Apr-Jun_2025.pdf
The last two rows of one statement and the first two of the next. Columns: date, narration, withdrawal, deposit, closing balance.
Combining several statements · Paid plans — Starter, Professional and Growth
Choose several statements
Two or more PDFs at once. Statements whose balances meet are grouped.
See them combined
One group in date order, with every row from each statement.
Check every join
One statement must open where the other closed. A gap or an overlap is reported.
Export one file
Excel with a column naming each row's statement, and a Validation Report sheet.
After · one table, as the Excel file has it
| Date | Narration | Reference No | Debit | Credit | Balance | Source file |
|---|---|---|---|---|---|---|
| 19-Feb-2025 | IMPS-500100000001-KAVYA RAGHUNATHAN-MONTHLY RENT | 480403795837 | 211.59 | — | 23,893.50 | Invented_HDFC_Jan-Mar_2025 |
| 21-Feb-2025 | ATM WDL-INVENTED ROAD BRANCH-ATM 0042 | 474599484656 | 2,815.62 | — | 21,077.88 | Invented_HDFC_Jan-Mar_2025 |
| 01-Apr-2025 | UPI-ARJUN KIRANA STORES-ARJUNKIRANA@YBL-GROCERIES | 459433789224 | 1,009.38 | — | 20,068.50 | Invented_HDFC_Apr-Jun_2025 |
| 03-Apr-2025 | POS-INVENTED FUEL STATION-CARD1234 | 433616381301 | 2,173.95 | — | 17,894.55 | Invented_HDFC_Apr-Jun_2025 |
- 100 of 100 rows checked against the running balance the bank printed
- The two statements join: Apr–Jun opens at ₹21,077.88, where Jan–Mar closes
- Amounts are numbers, not text, so they sort, filter and total
Two invented HDFC statements of one invented account, read by the real parser when this page was built. A join shows the balances meet; it does not prove every entry is right. Statements from different banks can share a file — their balances are checked within each bank, never across. Party, category and GST columns can be added to downloads on a paid plan.
One statement free, no account needed. Several at once? See the plans
Your bank statements never leave your device.
TrueStatement processes supported bank statement PDFs directly in your browser. Your PDFs and transaction data are not uploaded to our servers for conversion or reconciliation.
The converter comes to the PDF
The parser is code your browser downloads once. It opens the statement on your machine, checks it and builds the file there — the PDF and its transactions are never sent to our servers.
Pull the plug and try it
Convert one statement, then turn off your Wi-Fi and convert another. It still works: reading and checking a statement needs no server.
What an account keeps
With an account, we keep your email, your plan and a receipt for each full statement your plan counts — its file name and size, the bank, the account type, the page count and a fingerprint of the file, so the same PDF is never counted twice. Never a transaction, an amount or the PDF itself.
The rest is in the privacy policy, in plain words.
Understand the transactions behind the statement.
Review bank transactions by party, transaction type and voucher. Explore party-wise totals and extracted GSTINs to make transaction review easier — worked out on your machine, by rules you can read, with no AI model anywhere near it.
The narration, and what it says
| Narration, as printed | Party | Type? | Voucher |
|---|---|---|---|
| NEFT CR-HDFC0000240-ARJUNKUMARTRADERS-SALARY OCT | ARJUNKUMARTRADERS | Merchant | Receipt |
| IMPS-500100000001-KAVYA RAGHUNATHAN-MONTHLY RENT | KAVYA RAGHUNATHAN | Person | Payment |
| ATM WDL-INVENTED ROAD BRANCH-ATM 0042 | (ATM) | Bank | Payment |
| POS-INVENTED FUEL STATION-CARD1234 | (Unidentified) | Unidentified | Payment |
A narration with no readable name stays (Unidentified) rather than being given a plausible one. Type is the only guess, marked with a ?.
Totals per party · both statements
| Party | Rows | Paid | Received |
|---|---|---|---|
| KAVYA RAGHUNATHAN | 39 | 62,369.10 | 1,11,676.90 |
| ARJUNKUMARTRADERS | 23 | — | 99,634.13 |
| ARJUN KIRANA STORES | 15 | 69,686.25 | — |
| (ATM) | 11 | 52,763.79 | — |
- Party, type and voucher on every transaction
- Truncated spellings of one name proposed as one party — you accept or reject it
- Totals per party, with a proof that every row is in exactly one party
- GSTINs pulled from narrations and checksum-checked
- Filter by date, amount, direction, statement or narration, and total what is left
One person, however the bank spelled them
Banks truncate names, so one person arrives several ways. The grouping is proposed, never applied for you.
Proposed as KAVYA RAGHUNATHAN.
GSTINs, checksum-checked. A passing check digit means the number is well-formed — not that the registration is active or belongs to that party. One that fails is reported, never shown as real.
Analysis runs on screen with a free account. Party, category and GST columns in your downloads come with a paid plan. Sign up — free
Readings and totals: the product's own analysis of the invented statements in the example above.
From bank statement to Tally-ready data.
Prepare bank transaction data for your accounting workflow. Set your ledger names, review the entries that would go to Suspense, then export Tally XML.
- Company name (in Tally)
- Invented Traders Pvt Ltd
- Bank ledger name
- HDFC Bank A/c
- Default party ledger
- Suspense A/c
100 vouchers into Invented Traders Pvt Ltd.
- 53Paymentfrom HDFC Bank A/c
- 47Receiptinto HDFC Bank A/c
- 0Contraown-account transfer
- 77mapped to a named party ledger
- 23will land in Suspense A/c
- Payment or Receipt from each row's direction. Contra only where both sides of a transfer between your own accounts are in statements opened together — otherwise a self-transfer stays a Payment or Receipt, so check those
- Party ledgers from the narration where a name can be read
- Rows with no readable party go to the default ledger you choose — review them before you import
- Voucher date and narration style are yours to set
This makes a Tally XML file in the format of Tally's voucher import; it does not connect to Tally. Import it yourself through Gateway of Tally → Import Data → Vouchers. It does not replace your review of the entries.
With any account you can set the ledgers and see this preview. Downloading the XML is part of Professional and Growth. Compare the plans
Free to start. A plan when you need more.
No account and no card to begin. Pay when you convert long statements every month, combine statements, or export to Tally.
No account
Nothing to sign up for
₹0 free
- 3 statements a day, up to 10 pages each
- Longer ones: the first 10 pages, labelled partial
- Excel export
- Every statement checked against its own balances
- One statement at a time
Free account
An email address, no card
₹0 free
- 5 statements a day, up to 10 pages each
- Plus one full statement, once — any length
- Excel and CSV export
- Analysis: party names, categories and GST, on screen
- History, kept in your browser
- One statement at a time
Paid plans
Starter, Professional or Growth
From₹299 per month
- 30, 100 or 300 full statements a month
- Several statements at once, combined into one file
- No daily limit on statements up to 10 pages
- JSON export, and party names, categories and GST in your downloads
- Tally XML export from Professional
Priced by full statements a month, never per page — a 20 to 60 page statement is normal in India. A statement over your limit still converts its first 10 pages and says so on screen and inside the file, so a partial export never passes for a whole one. Daily counts reset at midnight, India time; a plan's statements reset with its billing month. Yearly billing is twelve months for the price of ten.
Questions worth asking
Especially the ones about where your data goes, and what the checks prove.
Which banks are supported?
HDFC Bank and Kotak Mahindra Bank, each checked against the figures its statements print. A statement from any other bank is refused clearly rather than read badly — and you can ask for your bank right there.
Is my bank statement uploaded?
No. TrueStatement has no statement storage because it has no statement server. The parser is JavaScript your browser downloads once; after that, conversion works with the network disconnected. Your PDF is opened by your browser and never leaves it. With an account, we keep your email, your plan and a receipt for each full statement your plan counts — its file name and size, the bank, the account type, the page count and a fingerprint of the file, so the same PDF is never counted twice. Never a transaction, an amount or the PDF itself.
How are running balances and statement totals checked?
Each row's balance must equal the one before it, less the debit, plus the credit. Then opening balance + deposits − withdrawals must equal the closing balance the bank printed, and the statement's own totals and row count must match wherever it prints them. The result is on screen beside the download button, and signed in you can open every check by name.
Does a successful reconciliation guarantee every field is correct?
No. It shows that the amounts and balances add up exactly to what the bank printed, which catches a dropped, repeated or misread row. It cannot show that a narration, a date or a party name is right, and party type is a guess. Review the result before you rely on it.
What happens when a value cannot be read unambiguously?
It is reported as missing — never guessed. No AI model reads a figure; every value is read from its exact position on the page. A row whose balance cannot be checked is marked as not checked, never counted as passed.
Can I combine multiple statements?
Yes, on a paid plan. Choose several PDFs at once, or add one to a statement that is open. Statements from one bank whose balances meet are grouped; each keeps its own checks, and every join between two statements is checked — a gap or an overlap is reported. Each group downloads as one file, with a column naming the statement each row came from.
Which plans support opening multiple statements at once?
Starter, Professional and Growth. Without an account and on a free account, statements open one at a time.
Does transaction analysis require an account?
A free account. Analysis — party, type and voucher on every row, totals per party, grouped name spellings and GSTINs — runs on screen, in your browser. Party, category and GST columns in your downloads come with a paid plan.
Which plans support Tally XML?
Professional and Growth. You set the company and ledger names, review the entries that would land in Suspense, and download a Tally XML file in the format of Tally's voucher import, to import yourself.
What happens when a PDF has more than ten pages?
With no account, and within a free account's 5 a day, the first 10 pages are converted and the result is labelled partial — on screen and inside the file. A free account also converts one full statement of any length, once. Paid plans convert 30, 100 or 300 full statements a month.
What should I do if my statement format is unsupported or conversion fails?
If we don't read the bank or the layout yet, the converter says so and lets you ask for it — the request holds only what you type, nothing from the PDF. A scan or a photo is refused because it has no text to read: download the PDF again from net banking or the bank's email. A password-protected PDF asks for its password, which never leaves your browser. For anything else, write to truestatement.support@gmail.com.
Convert, combine and reconcile — without uploading a statement.
Start with one statement and no account: 3 a day, read in your browser, with the checks' result beside the download. If we cannot read your bank yet, it says so — it does not guess.
Convert a statement