Is this bank statement usable?

Drop a bank statement — PDF, scan or a photo from your phone — and get a read in seconds: right kind of document, legible, and naming the account holder and the period it covers. Free, no account.

PDF, JPEG, PNG or HEIC, up to 10 MB and 5 pages. On a phone, a photo of the bank statement works. 3 checks a day, no account.

Tick the box above to start a check.

Need the bank statement from a client rather than from your own desktop? Open a DokuTrak request with the bank statement already on the list — they upload it through one link, no account.

Send via DokuTrak

What the check reads on a bank statement

A bank statement is evidence about a span of time, so the check reads it for three things: the account holder, the first day and the last day of the statement period. Those dates are returned only when both are printed on the page. The check never guesses a period from the date the statement was issued.

It accepts the names banks use for the same document, such as account statement or checking statement. It does not total the transactions, reconcile the balance or judge what the account shows: the question is whether this is a statement you can work from.

A statement longer than five pages is refused rather than half-read. The account holder and the period sit on the first pages, so exporting those on their own is enough for the check.

What it catches on a bank statement

  • A screenshot of an online-banking balance or a transaction list instead of the statement itself.
  • A single transaction receipt, or a credit card statement sent in place of the bank statement.
  • A page without the account holder name, often a middle page of a longer statement.
  • A statement whose period dates are cut off, covered or missing.
  • A scan too dark, blurred or cropped to read.

What a complete bank statement shows

A complete bank statement names the bank, the account holder and the account. It covers a stated period, prints the balance at the start and at the end of that period, and lists the transactions in between, fees included. For personal checking and savings accounts, much of this is set by federal rules, not left to the bank’s taste. Business accounts fall outside these two rules, though their statements usually look the same.

For a consumer account that can send or receive electronic transfers, the CFPB’s Regulation E (12 CFR 1005.9(b)) requires a statement for each monthly or shorter cycle in which a transfer happened, and at least one each quarter otherwise. Regulation DD (12 CFR 1030.6) sets what a consumer deposit statement must show about interest, fees and the length of the period whenever the bank sends one.

What to look forWhere it comes from
Amount, date and type of each electronic transfer, and the name of any third party paid or payingRegulation E, 1005.9(b)(1)
The account numberRegulation E, 1005.9(b)(2)
Fees charged during the period, itemized by type and amountRegulation DD, 1030.6(a)(3); Regulation E, 1005.9(b)(3) for transfer and maintenance fees
Balance at the beginning and at the close of the periodRegulation E, 1005.9(b)(4)
An address and phone number for questions and errorsRegulation E, 1005.9(b)(5)
Annual percentage yield earned and interest earned (interest-bearing accounts)Regulation DD, 1030.6(a)(1)–(2)
The start and end dates of the period, or its length in daysRegulation DD, 1030.6(a)(4)
The bank’s name and the account holder’s name and addressNot set by these two rules, but printed on the statements banks send

The account number is often printed with only its last few digits showing. That is normal, and those digits are enough to match one statement to the next.

Statement, transaction history, screenshot: not the same document

A statement closes a period. It has a first day, a last day, and two balances that the transactions between them have to explain. An online transaction history is a list for whatever date range was picked. It has no fixed period that closes on a printed balance, so it can’t show that nothing is missing. A balance screenshot shows one number on one day.

A credit card statement is a statement too, but of a different account under a different rule, Regulation Z (12 CFR 1026.7). If you asked for a bank statement, it is the wrong document.

Common problems with bank statements you receive

The usual problems with a bank statement are about completeness, not content. A page is missing, a month is missing, it’s the wrong account, or the file isn’t a statement at all. Each one is quick to spot once you know where to look, and each one costs a round trip with the client when it’s spotted late.

  • A missing page. The footer says “Page 2 of 4” and the file has three pages. Check the middle pages first: a missing first page is obvious, a missing third page is not.
  • A gap between months. March ends on the 31st and the next file starts on May 1st. Every statement looks fine on its own; the gap only shows when you line them up.
  • A screenshot or an export instead of the statement. A phone capture of the balance, or a CSV of recent transactions, sent because it was faster to get.
  • A cropped header. A phone photo that cuts off the top of page one takes the account holder’s name and the period dates with it.
  • The wrong account. Savings instead of checking, a business account instead of the personal one, or a joint account you did not expect.
  • A blacked-out name or account number. Some clients redact before sending. The statement may then name no one at all.

The bank statement checker flags some of these: a screenshot or another kind of document (wrong type), a missing account holder or period date (incomplete), and a photo too dark or blurred to read (unreadable). It does not count pages inside a PDF against the “Page x of y” footer, compare one month with the next, or add up transactions.

For the arithmetic, the bank statement converter turns the statement into a table and checks the lines against the printed balances. For gaps across months, the missing bank statement tracker lays out which months you have and which you still need.

How to verify a bank statement by hand

To verify a bank statement by hand, count the pages, match the name and the account, confirm the dates join the previous statement, then prove that the opening balance plus deposits minus withdrawals equals the closing balance. It takes a few minutes and a calculator, and it catches the completeness problems listed above.

  1. Count the pages. Find the “Page x of y” footer on each page and check that every number from 1 to y is there.
  2. Read the header. The bank’s name, the account holder, and the last digits of the account number should match what you expected, and match the other statements you hold.
  3. Read the period. Note the first and the last day. The first day should be the day after the previous statement’s last day.
  4. Match the balances across months. This statement’s opening balance should equal the previous statement’s closing balance. If it doesn’t, the usual reasons are a missing statement between them, two different accounts, or a misread figure.
  5. Add it up. Opening balance, plus total deposits and credits, minus total withdrawals and debits, should equal the closing balance to the cent. Many statements print these totals in a summary box on page one, so you can check the summary first and the lines second.
  6. Look at the fees and interest lines. They count as transactions in step 5, and they are small, easy-to-miss lines when someone retypes a statement.
  7. Check it’s the document you asked for. A statement, not a transaction history. A bank account, not a credit card. The period you need, not the most recent one. A written list of what you asked for makes this step quick: the monthly bookkeeping checklist or the mortgage application checklist are places to start.

What these steps check is completeness and consistency. They do not establish that the page is genuine, and neither does the check. Bank statement verification in that sense goes through the bank: ask the client to have the bank send the statement to you directly, or to download it from their online banking while you watch.

What happens to the file

DokuTrak doesn’t store your file. It travels straight from your browser to the check, is held in memory while it is read, and is dropped when the answer comes back. It is scanned for malware on the way in, and nothing — not the file, not a detail read off it — is written to our storage or our logs. The page is sent to Cloudflare Workers AI to be read; what Cloudflare keeps is covered by its own terms, which our security page links.

Cloudflare Workers AI does the reading. It is the same review that runs inside DokuTrak, and it is the only AI vendor in the chain. Our privacy page names it too.

This is not a forgery detector. It reads what the page says — the document type, the legibility, the details present — never whether the page is genuine. A verdict here is a first pass to save you a look, not a judgement on the document or on the person who sent it.

What the answers mean

Usable
It reads as a bank statement and carries what one carries. You still look before you rely on it.
Wrong type
It is a document of another kind — a transaction receipt, a screenshot of a balance, a credit card statement. Ask again, naming the bank statement.
Unreadable
Blurred, cropped or too dark to read. A flat scan or a straight-on daylight photo usually fixes it.
Incomplete
A bank statement, but a detail one carries could not be read — the account holder, or the dates the statement covers. The check names which.
Not sure
The review was not confident enough to say either way. Low confidence is reported as uncertainty rather than rounded to the nearest answer.

Questions

What does this bank statement checker actually check?

That the file really is a bank statement rather than a screenshot of a balance or a transaction receipt, that the page is legible, and that it names the account holder and the period it covers. It reads what the page says — it is not a forgery detector, and it does not add up the transactions or tell you anything about the balance.

My statement is longer than five pages. What then?

A file over five pages is refused outright rather than half-read: a verdict on the first pages says nothing about the rest, and we would rather answer nothing than answer for part of a document. Export the first pages on their own — the account holder and the period are on them — or ask for the statement through a DokuTrak request, where the whole file is reviewed.

Do you keep the statement I upload?

No. DokuTrak doesn't store your file: we hold it in memory for the length of the check and write it nowhere — not to our storage, not to our logs, and no detail read off the page either. The page itself is sent to Cloudflare Workers AI, our AI subprocessor, to be read; what Cloudflare retains is governed by its own Workers AI terms rather than by a promise we make on its behalf. Our security page names the subprocessor and links the terms. The same holds for a bank statement as for anything else you drop here.

Which AI reads the file?

Cloudflare Workers AI, the same review DokuTrak runs inside the product. There is no other AI vendor in the chain, which is what lets us name the one that is.

Why did it answer "not sure"?

Because the review was not confident enough to say either way, and a low-confidence read is reported as uncertain rather than dressed up as an answer. AI flags; the reading is still yours.

What file types and sizes work?

PDF, JPEG, PNG and HEIC, up to 10 MB and 5 pages. On a phone, a photo of the statement taken straight on in daylight works as well as a scan.

What should a bank statement include?

The bank's name, the account holder's name, the account number (often only the last digits), the statement period, the opening and closing balances, and every transaction with its date and amount, fees included. For personal accounts, Regulation E (12 CFR 1005.9(b)) requires the account number, the balances, the fees and each electronic transfer, and Regulation DD (12 CFR 1030.6) adds interest earned, itemized fees and the statement period.

Is a transaction history the same as a bank statement?

No. A statement covers a fixed period and prints an opening and a closing balance that the transactions have to explain. A transaction history is an export for any date range, with no statement period closing on a printed balance, so it can't show that nothing is missing. The checker is built to answer "wrong type" for a transaction list or a balance screenshot.

How do I know a bank statement is complete?

Check that the "Page x of y" footers run without a gap, that the period starts the day after the previous statement ended, and that the opening balance plus credits minus debits equals the closing balance. The checker reads the holder and the period. The bank statement converter does the arithmetic against the printed balances.

Can the checker verify that a bank statement is genuine?

No. It reads what the page says: whether it is a bank statement, whether it is legible, and whether the account holder and the period are readable. It is not a forgery detector, and it never judges whether a document or the person who sent it can be trusted. When authenticity matters, have the bank send the statement to you directly.

Does it work on a credit card statement?

It is built for bank account statements such as checking and savings. A credit card statement covers a different kind of account, under a different federal rule (Regulation Z). The check is built to flag it as another kind of document, with the answer "wrong type". Ask for the bank statement itself if that is what you need.

Why doesn't the opening balance match last month's closing balance?

For two consecutive statements of the same account, the new opening balance should equal the old closing balance. When it doesn't, the likely reasons are a missing statement between the two, statements from two different accounts, or a misread figure. Line up the period dates first; a gap in the dates usually explains it.

Can I check bank statements a client has to send me?

Yes — that is the product rather than the tool. A DokuTrak request lists the document, the client uploads it through one link with no account, and the same review runs on what arrives. 14-day free trial, no card. Add one only to keep going.