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.

Banks redesign statements from time to time, and layouts can differ between account types (checking, savings, credit card, business). Treat this as a field guide rather than a specification. If your statement looks different, let me know and I'll update this page.

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

BankTransaction columnsDatesMoney in / outRunning balance
Chase (checking)Date, Description, Amount, BalanceMM/DD, year from periodSingle signed amountUsually yes
Bank of AmericaDate, Description, Amount, grouped in sectionsMM/DD/YYSign comes from section ("Deposits and other additions" / "Withdrawals and other subtractions")Separate daily balance table
Wells FargoDate, Check number, Description, Deposits/Credits, Withdrawals/Debits, Ending daily balanceM/D, year from periodTwo columnsEnding daily balance (once per day, not every row)
HDFC BankDate, Narration, Chq./Ref. No., Value Date, Withdrawal Amt., Deposit Amt., Closing BalanceDD/MM/YYTwo columnsYes, every row
SBITxn Date, Value Date, Description, Ref No./Cheque No., Debit, Credit, BalanceDay-first, often with month nameTwo columnsYes, every row
Barclays (UK)Date, Description, Money out, Money in, Balance"12 Mar" style, year from periodTwo columnsYes, 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

  1. Count rows. Compare the number of transactions in your spreadsheet to the statement. Many statements print a count in the summary.
  2. Check totals. Total money in and total money out should match the statement's summary box.
  3. Check the arithmetic. Opening balance + money in − money out must equal the closing balance.
  4. If there's a running balance, check every row: in a helper column, =previous balance + amount − this balance should 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

ProblemQuick fix
Description split across two rowsSort 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 swappedData → 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-sheetFilter 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.