How Banks Lay Out Their PDF Statements (and Why It Matters for Excel)
By Syed Hassan, creator of SafeStatement · Last updated
Every bank statement looks roughly the same to a person: dates on the left, money on the right. To software that has to turn a PDF into spreadsheet rows, they differ in many small ways. A PDF doesn't contain a "table". It contains pieces of text placed at x/y positions on a page. A converter has to work out which pieces belong to the same transaction, which column each belongs in, and which lines are headers, subtotals or advertising.
I built SafeStatement's converter by working through these differences one at a time. This page collects what I've learned about how major banks structure their statements, so you know what to expect in your spreadsheet and how to fix the usual problems, whichever tool you use.
The six things that vary between banks
1. Date format and year
US statements usually print MM/DD with no year on each transaction line. The year only appears in the statement period at the top. UK and Indian statements usually use day-first formats such as DD/MM/YYYY, DD-MM-YY or 12 Mar. When a year is missing, the converter (or you) has to work it out from the statement period, which gets tricky for a December–January statement.
2. One amount column or two
Some banks print a single signed amount column (a minus sign or "DR" for money out). Others use separate Withdrawal and Deposit columns (or Money out / Money in). Others group transactions into separate sections for deposits and withdrawals, where the sign comes from the section heading rather than the number itself.
3. Running balance
Most UK and Indian statements show a balance after every transaction. Many US checking statements don't. They show a separate daily balance summary or only the opening and closing balances. A running balance is very useful because it lets you check every single row.
4. Multi-line descriptions
Long descriptions wrap onto a second or third line, especially for UPI and NEFT transfers in India, ACH entries in the US and card purchases abroad. The continuation lines have no date or amount of their own, so a naive converter turns them into separate, broken rows.
5. Page breaks
Column headers repeat at the top of every page, some banks add "Balance brought forward" or "Continued" lines, and footers contain page numbers and legal text. None of those are transactions, and all of them need filtering out.
6. Extra sections
Account summaries, fee explanations, interest tables, reward points, cheque images and marketing panels all sit on the same pages as the transactions.
Bank-by-bank notes
| Bank | Transaction columns | Dates | Money in / out | Running balance |
|---|---|---|---|---|
| Chase (checking) | Date, Description, Amount, Balance | MM/DD, year from period | Single signed amount | Usually yes |
| Bank of America | Date, Description, Amount, grouped in sections | MM/DD/YY | Sign comes from section ("Deposits and other additions" / "Withdrawals and other subtractions") | Separate daily balance table |
| Wells Fargo | Date, Check number, Description, Deposits/Credits, Withdrawals/Debits, Ending daily balance | M/D, year from period | Two columns | Ending daily balance (once per day, not every row) |
| HDFC Bank | Date, Narration, Chq./Ref. No., Value Date, Withdrawal Amt., Deposit Amt., Closing Balance | DD/MM/YY | Two columns | Yes, every row |
| SBI | Txn Date, Value Date, Description, Ref No./Cheque No., Debit, Credit, Balance | Day-first, often with month name | Two columns | Yes, every row |
| Barclays (UK) | Date, Description, Money out, Money in, Balance | "12 Mar" style, year from period | Two columns | Yes, usually at the end of each day |
Chase
Chase checking statements put transactions under a "Transaction detail" heading with a beginning and ending balance. Each account gets its own PDF. Things to watch: dates without a year, and card purchases whose description includes the merchant's city and state on the same line, which is harmless but long. Credit card statements from Chase use a different layout, with sections for payments and credits versus purchases.
Bank of America
BofA separates transactions into sections: deposits and other additions, withdrawals and other subtractions, checks, and service fees. Amounts inside the withdrawal sections may be printed as negative numbers or may depend on the heading, so after converting, make sure withdrawals really are negative. Combined statements put several accounts into one PDF. Check images at the end are pictures, not text, so a text-based converter skips them (the check transactions themselves are still listed).
Wells Fargo
Wells Fargo uses separate deposit and withdrawal columns plus an "Ending daily balance" that appears only on the last transaction of each day. That's a useful built-in check: add up each day's transactions and you should reach that day's balance exactly. Business statements add an activity summary at the top.
HDFC Bank
HDFC account statements have a dense seven-column table and a running closing balance on every row, which is ideal for checking accuracy. Narrations pack several fields together, for example UPI-NAME-VPA@BANK-REFNO-NOTE, and long ones wrap. After converting, Data → Text to Columns with "-" or "/" as the delimiter splits them into payee and reference fields. E-statements sent by email are usually password-protected. See the unlocking guide.
SBI
SBI statements list both transaction date and value date, with separate debit and credit columns and a balance on every row. Descriptions for UPI, NEFT and IMPS transfers frequently wrap across two or three lines, which makes SBI the statement most likely to produce orphan description rows in any converter. Sorting by date in Excel makes those fragments easy to spot and rejoin. Statements downloaded from net banking and from the YONO app are both digital PDFs.
Barclays
Barclays uses "Money out" and "Money in" columns with a balance column, and dates in "12 Mar" format with the date often printed only on the first transaction of each day. Every transaction on that day inherits it. When a day's transactions continue onto the next page, the date may appear again with a "continued" marker. The rows are sequential, not duplicates.
How to check any conversion in two minutes
- Count rows. Compare the number of transactions in your spreadsheet to the statement. Many statements print a count in the summary.
- Check totals. Total money in and total money out should match the statement's summary box.
- Check the arithmetic. Opening balance + money in − money out must equal the closing balance.
- If there's a running balance, check every row: in a helper column,
=previous balance + amount − this balanceshould be 0 on every row. Any non-zero row points straight to the problem.
The reconciliation guide has the full formulas.
Fixing the usual problems in Excel
| Problem | Quick fix |
|---|---|
| Description split across two rows | Sort by original order, find rows with no amount, and join them to the row above with =B2&" "&B3 |
| Dates show as text or with day and month swapped | Data → Text to Columns → Date: DMY (or MDY) |
| Missing year | =DATE(2026, MONTH(A2), DAY(A2)), adjusting the year for rows from the previous December |
| Two columns, but you need one signed amount | =N(Deposit) - N(Withdrawal) |
| Header rows repeated mid-sheet | Filter the Date column for the header text ("Date") and delete those rows |
| Amounts with "CR"/"DR" suffixes | =IF(RIGHT(C2,2)="DR",-1,1)*VALUE(LEFT(C2,LEN(C2)-2)) |
Why this matters for privacy
Many converters deal with these layout differences by uploading your statement to a server that runs bank-specific templates. SafeStatement reads the text positions directly in your browser, using the column structure of the page rather than a template for each bank. That's why it works with banks that aren't on this list, and why your statement never has to leave your computer. Try it with your own statement.
Frequently asked questions
Why do converted bank statements have broken rows?
A PDF stores text as positioned fragments, not table rows. Long descriptions that wrap onto a second line, repeated page headers and subtotal lines are the usual causes of broken or extra rows.
Which bank statements are easiest to convert?
Statements with a running balance on every row, such as many UK and Indian statements, are the easiest to convert accurately, because every row can be checked against the balance.
My bank isn't listed here. Will the converter work?
Very likely. SafeStatement doesn't rely on bank-specific templates. It works with any digital PDF statement that has selectable text. Scanned statements need OCR first.
Can layouts change?
Yes. Banks redesign statements periodically, and layouts differ between checking, savings, credit card and business accounts. Always check totals after converting.