Skip to content

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.

See all features

Drop a statement PDF here

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

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. 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. 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. 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

19/02/2025IMPS-500100000001-KAVYA RAGHUNATHAN-MONTHLY RENT211.590.0023,893.50
21/02/2025ATM WDL-INVENTED ROAD BRANCH-ATM 00422,815.620.0021,077.88

Invented_HDFC_Apr-Jun_2025.pdf

01/04/2025UPI-ARJUN KIRANA STORES-ARJUNKIRANA@YBL-GROCERIES1,009.380.0020,068.50
03/04/2025POS-INVENTED FUEL STATION-CARD12342,173.950.0017,894.55

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

  1. Choose several statements

    Two or more PDFs at once. Statements whose balances meet are grouped.

  2. See them combined

    One group in date order, with every row from each statement.

  3. Check every join

    One statement must open where the other closed. A gap or an overlap is reported.

  4. 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

DateNarrationReference NoDebitCreditBalanceSource file
19-Feb-2025IMPS-500100000001-KAVYA RAGHUNATHAN-MONTHLY RENT480403795837211.59—23,893.50Invented_HDFC_Jan-Mar_2025
21-Feb-2025ATM WDL-INVENTED ROAD BRANCH-ATM 00424745994846562,815.62—21,077.88Invented_HDFC_Jan-Mar_2025
01-Apr-2025UPI-ARJUN KIRANA STORES-ARJUNKIRANA@YBL-GROCERIES4594337892241,009.38—20,068.50Invented_HDFC_Apr-Jun_2025
03-Apr-2025POS-INVENTED FUEL STATION-CARD12344336163813012,173.95—17,894.55Invented_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.

Convert a statement

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.

Free account

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 printedPartyType?Voucher
NEFT CR-HDFC0000240-ARJUNKUMARTRADERS-SALARY OCTARJUNKUMARTRADERSMerchantReceipt
IMPS-500100000001-KAVYA RAGHUNATHAN-MONTHLY RENTKAVYA RAGHUNATHANPersonPayment
ATM WDL-INVENTED ROAD BRANCH-ATM 0042(ATM)BankPayment
POS-INVENTED FUEL STATION-CARD1234(Unidentified)UnidentifiedPayment

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

PartyRowsPaidReceived
KAVYA RAGHUNATHAN3962,369.101,11,676.90
ARJUNKUMARTRADERS23—99,634.13
ARJUN KIRANA STORES1569,686.25—
(ATM)1152,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.

KAVYA RAGHUNATHANKAVYA RAGHUNAKAVYARAGHU

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.

Professional and Growth

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
The preview for the combined example above, with invented ledger names — the same calculation that writes the file.
  • 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

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