Copy an HDFC statement out of a PDF and the whole thing lands in one column, with every long UPI narration broken across three rows. Upload it here instead and get a real table — proper columns, amounts that add up.
Everything landing in one jumbled column
A real table, one row per transaction.
A long UPI narration splitting one payment across three rows
The narration is joined back into a single cell.
Totals showing zero because amounts came through as text
Withdrawal, deposit and balance are real numbers.
Date and Value Dt landing in the wrong order after sorting
Both are real dates, kept in their own columns.
"This is a computer generated statement" sitting in the middle of your data
Page footers and the statement summary are left out.
No way to tell whether a row was missed
Every row is checked against the closing balance.
Three steps from PDF to a spreadsheet that opens clean.
Drag it in. If HDFC locked it, type the password. It is usually your Customer ID — the email HDFC sent the statement in shows the last three digits of it — and on some statements it is your date of birth as ddmmyyyy.
Each page is read column by column rather than line by line, so a narration that wraps onto the next line is joined back to its own row. The opening balance line, the statement summary block and the page footers are left out. Then every row is checked against the closing balance so nothing is quietly dropped.
You get proper date, narration, reference, value date, withdrawal, deposit and balance columns, plus the ledger name we detected for each row.
The sheet keeps HDFC's own column names, so it still looks familiar next to the PDF.
| HDFC PDF column | Excel column you get |
|---|---|
| Date | Date — a real date cell |
| Narration | Narration — wrapped lines joined into one cell |
| Chq./Ref.No. | Cheque / Reference No. — kept as printed |
| Value Dt | Value Date — a real date cell |
| Withdrawal Amt. | Withdrawal — a number you can total |
| Deposit Amt. | Deposit — a number you can total |
| Closing Balance | Balance — also used to check each row |
| Not in the PDF | Detected Ledger Name — added by us |
Want to skip Excel? The same statement can go straight into Tally as entries.
Upload the PDF to SmartXtract and download the Excel file. It comes with proper date, narration, reference, value date, withdrawal, deposit and closing balance columns, and amounts as numbers rather than text.
A PDF does not really contain a table — it contains letters placed on a page. Copying it into Excel usually collapses everything into one column. The columns have to be worked out from the layout, which is what we do.
It is usually your Customer ID, and the email HDFC sent the statement in shows its last three digits. On some statements it is your date of birth as ddmmyyyy instead. HDFC does not publish one formula that covers every statement, so check the email if the first one does not open it. Either way, type it at upload — you do not need to unlock the file somewhere else first.
Yes. Those are the entries that break most converters, because HDFC wraps a long narration onto the next line and it then looks like a second transaction. Wrapped lines are joined back to the row they belong to.
Scanned pages are read too. Because scanning can misread digits, every row is still checked against the closing balance before the Excel file is made.
Yes. Withdrawal, deposit and balance come out as numbers and dates as real dates, so SUM, filters and pivot tables work the moment you open the file.
No. Making an XML file and importing it by hand is the long way round. The same statement can be matched to Tally ledgers and posted into Tally as receipt, payment and contra entries, after you have reviewed them. Nothing posts until you approve it.
Your statements stay in your own account and are not shared. Old documents are removed automatically once you pass the limit on your plan, and you can delete any document yourself at any time.