Bank statements to Excel, with the wrong row already marked

Upload a bank or credit-card statement as a PDF, a scan or a phone photo. You get Excel and CSV, and the QBO, OFX, QFX and QIF files QuickBooks, Xero and Quicken import directly, with nothing to install. Every conversion is checked against the printed running balances, and any row that doesn't add up is flagged before you import it.

  • Launch offer: 10 free pages a day, no account
  • Files deleted right after processing
  • Credits never expire
statement.xlsx6 rows
Sample extraction. Each row carries the date, description, amount and running balance read from the statement, and the balance column is rebuilt from the amounts to check it against the figure the bank printed.
DateDescriptionAmountBalance
2026-03-03Card payment-42.601,866.31
2026-03-05Deposit2,140.004,006.31
2026-03-08Utilities-118.753,887.56
2026-03-12Supplier-960.002,927.56
2026-03-15Card payment-63.402,864.16
2026-03-19Transfer in500.003,364.16

Rebuilt balance 3,364.16 matches the printed closing balance

Sample statement. Run this one and watch the check happen on your own screen.

What format does my accounting software need?

Xero and most other tools take OFX, QuickBooks takes QBO, Quicken takes QFX, older desktop software takes QIF, and a spreadsheet takes Excel or CSV. Every conversion gives you a review workbook; confirm it, upload it, and take every format from it.

  • Excel.xlsx with real dates and number columns
  • Google Sheetsvia CSV, dates as YYYY-MM-DD
  • Xerovia OFX, Import a Statement
  • QuickBooks Online.qbo, Upload from file
  • QuickBooks Desktop.qbo Web Connect
  • Quickenvia QIF on Windows, File Import
  • QIFfor older desktop software

Format compatibility only. We are not affiliated with any of these companies. Compare the formats or pick a converter by format.

How do I convert a bank statement PDF to Excel?

Upload the PDF, scan or photo, wait while each page is read, and download the spreadsheet with the balance check already run over it.

  1. Upload

    Drop in a PDF, a scan, or photos of a paper statement. Bank statements and credit-card statements both work. Up to 50 MB or 100 pages per file, and 80 transactions on a page.

  2. We read it, then we check it

    Every row is extracted: date, description, debit, credit, balance. Then the arithmetic is verified: opening balance plus transactions has to equal each printed balance and the closing balance. Rows that don't reconcile get flagged.

  3. Confirm, then download

    The review workbook first: confirm its rows, fill in the statement details, upload it, and download Excel, CSV, QBO, OFX, QFX or QIF from it. Your file is discarded the moment the conversion finishes.

See it step by step

The converted statement in the app: dated rows with debit, credit and balance columns, and the balance check reported above them
The result screen. Every row, and the check that says the column adds up.

Most converters guess. This one checks.

Every row is recalculated against the running balance the bank printed beside it, and any row that does not match is flagged in the file you download.

A converter that reads a statement and hands you a spreadsheet is asking you to trust it. We would rather prove it. StatementTable rebuilds the running balance from the transactions it extracted and compares it, row by row, against the balance printed on your statement.

Excerpt of the printed statement
Printed on the statement
DateDescriptionWithdrawalsDepositsBalance
Opening balance1,908.91
05/04STANDING ORDER RENT42.851,866.06
05/07SERVICE FEE310.991,555.07
05/10PAYROLL ACME CORP512.092,067.16
05/11HOME DEPOT #61012.882,064.28
The extracted table with the reconciliation check
What you download
DateDescriptionDebitCreditBalanceCheck
2026-05-04STANDING ORDER RENT42.851,866.06
2026-05-07SERVICE FEE310.991,555.07
2026-05-10PAYROLL ACME CORP512.092,067.16
2026-05-11HOME DEPOT #61012.882,064.28

Rebuilt from the four rows above, the closing balance lands on the printed 2,064.28.

Everything lines up

You get a green badge and can import with confidence.

A row breaks the chain

That row is highlighted so you can fix one cell instead of re-reading 80. We never silently correct an amount.

No balance column

Most credit-card statements print no running balance. The export marks the check as unavailable on those, rather than implying it passed.

How the check works

Seven layers, not one pass

Ask a general-purpose assistant to convert a statement and it does one thing: it reads the document and answers. A conversion here passes through seven layers, and four of them exist only to catch what the reading missed.

  1. Route the file

    Before a single row is read, the file is classified.

    A PDF with real text under it, a scan, and a photo taken on a phone are three different problems. This layer counts the pages, decides whether the text layer can be trusted, and picks the reading path and the model from that. A native PDF never pays for image work it does not need.

  2. Split into pages

    The statement is cut into single pages and read in parallel.

    A sixty page statement becomes sixty small independent problems, six in flight at a time. Nothing depends on one model holding sixty pages in mind at once, which is where long documents quietly lose rows out of the middle.

    One pass instead The whole document in a single context, where the middle gets the least attention.

  3. Read every row

    Date, description, debit, credit and balance, as structured fields.

    Each page comes back as data with a fixed shape, not as prose that has to be picked apart afterwards. A field the statement does not print comes back empty. Turkish and European number formats are converted, dates are disambiguated from the document's own country and language, and DR and CR suffixes keep their sign.

    Worth knowing The statement is treated as data, not as instructions. Text planted inside a document to steer the model is ignored.

  4. Stitch the pages together

    Page breaks are repaired before anything is counted.

    Statements print things at the page edge that are not transactions: balance brought forward, carried forward, devreden, nakli yekûn, page subtotals. Those come out. A transaction whose description runs over the break is joined back into one row. A row printed on both sides of a boundary is deduplicated.

    One pass instead Those lines arrive as transactions, and the total is wrong by an amount nobody thinks to look for.

  5. Reconcile against the printed balance

    The running balance is rebuilt from the transactions and compared with the statement.

    Opening balance plus every credit minus every debit has to equal each printed balance, and then the closing balance. Statements that print newest first are detected and checked in that direction. On credit-card statements the sign flips, because the printed figure is debt: purchases raise it and payments lower it.

    One pass instead Nothing adds the column up, so a misread digit looks exactly like a correct one.

  6. Repair what arithmetic can prove

    A correction is made only where the printed balances prove it to the cent.

    A debit read as a credit, or a running balance misread on one line while the amounts around it agree, is corrected from the printed balances and marked as corrected. Where the chain breaks at a page boundary, the two pages on either side are examined together so the join is visible, and the new answer replaces the old one only where it scores better against the printed balances. What the arithmetic cannot prove is marked for review, never guessed.

    One pass instead Run the whole thing again and compare two answers by eye.

  7. Report what is true

    Every conversion says which check ran and what it found.

    A statement whose chain closes is marked reconciled. A row that breaks it is flagged where it sits, and the amount is never quietly corrected on your behalf. A statement with no running balance column, which is most credit-card statements, is checked on the totals it prints instead, and where nothing can be tied it is marked Check unavailable rather than passed. The status travels with the data into the review workbook, and the files you produce from it carry only the rows you confirmed.

The full walkthrough, with the failure each layer was built for

Why not just ask a chatbot?

For a two-page personal statement you'll read over by hand, a general-purpose assistant may be enough. It stops being enough at the point where an accountant's work starts.

A general-purpose chatbot compared with StatementTable
The jobA general-purpose chatbotStatementTable
Confidentiality for client data Your problem Consumer chat inputs can be used to improve the model, depending on plan and settings. Under the AICPA confidentiality rule, sending client information to a third-party AI without consent is a disclosure. Not kept The file exists only while your conversion runs. It is read by Claude through Anthropic's commercial API, which does not train on our data, and no file name or account number is logged.
Arithmetic and dropped rows Unchecked A dropped row or a misread digit looks exactly like a correct one, and nothing adds the column up for you. Reconciled The running balance is rebuilt and compared with every printed balance. Rows that don't add up are flagged.
A record for the reviewer A transcript When someone asks how a figure was produced, a chat log is what you have. Per-row result The check status sits beside every row of the review workbook, and the workbook goes in the workpapers.
Repeatable results Varies No memory between chats, and the columns and categories come out differently from one run to the next. Same every time The same columns, the same checks, and a review workbook with the check status on every row.
Page limits on uploads Capped Every plan caps pages per conversation and uploads per day, and the ceilings change. A year of statements for one client rarely fits in one chat. Per file Up to 100 pages per file, as many files as you have pages for. Free pages every day (10 a day during the launch offer), then from $0.079 a page.
Accounting import files CSV to map A CSV has to be mapped to the right columns on every import, and QuickBooks Desktop takes bank transactions only as a QBO file. OFX, QBO, QFX, QIF Plus Excel, CSV and a CSV for import, all from one conversion.

The full comparison, including where a chatbot is the better choice

Can I convert a scanned statement or a phone photo?

Yes, and the balance check runs on those exactly as it does on a native PDF. Not every statement arrives as a clean PDF. Clients photograph paper statements, and banks hand out scans. Both go through the same pipeline, and the same balance check runs on the result, so a misread figure surfaces as a flagged row instead of a quiet error in your books.

That's the point of the check. On a scan you shouldn't have to trust the reader; you should be able to see where it went wrong, in a highlighted row.

  • Scanned PDFs up to 100 pages, or up to 100 JPG or PNG photos of one statement
  • Slower than a native PDF: about 20–40 seconds a page, because every pixel is read
  • Rows that don't reconcile are highlighted for you to check against the paper

Tips for photographing a statement

From your phone

Open the converter on your phone and take a photo of each page. Photos are downscaled in your browser before upload and treated as one statement, in the order you choose.

Built for the people who do this every month

Accountants

Month-end closes where the bank feed didn't cover January, or the client only has PDFs. Convert, check, import, move on.

For accountants

Bookkeepers

Twelve months of statements for a new client, at under 10 cents a page, with no subscription to carry between clients unless you want one.

For bookkeepers

Sole traders

A year of statements before the tax deadline, converted in one sitting, with every row checked against the printed balance. A $9 pack covers it.

For sole traders

What happens to your file

We don't keep your file. It exists only while your conversion runs, then it's deleted.

Your statement is processed in memory and discarded when the response is sent. We write no copy of the file or its contents to disk or to a database. What's left afterward is a usage record: how many pages were converted and whether the check passed. No file name, no account number, no transaction text.

The full data flow, including what we don't have

One reader, no training

Claude, Anthropic's model, reads the pages through Anthropic's commercial API. Anthropic doesn't train on the data and deletes inputs within 30 days.

No card details here

Checkout, invoicing and tax are handled by our merchant of record. Card numbers never reach our servers.

Counted, not tracked

No analytics provider and no session recording. Visitors in the US and Canada get one Google advertising cookie, and we say so on the privacy page.

Pay for the pages you convert

Buy a pack of pages and use them whenever you like, and they never expire. Converting every month? Practice and Firm roll unused pages over while you're subscribed. Either way, a conversion that fails on our side costs you nothing.

Credit packs, for work that comes and goes

Free

$0

Launch offer: 10 pages a day (normally 3)

  • No account, no card
  • Every export format
  • Balance check on every file
  • Scans and photos included
  • Resets daily at midnight UTC
Convert a statement

Starter

$9

60 pages · $0.15 a page

  • Everything in Free
  • Credits never expire
  • Failures on our side cost no pages
  • Email support
Buy Starter

Pro

$29

300 pages · $0.097 a page

  • Everything in Starter
  • Covers a year of statements for several accounts
  • Refundable within 14 days if unused
  • Priority support
Buy Pro

Office

$79

1,000 pages · $0.079 a page

  • Everything in Pro
  • For onboarding batches and loan files
  • Refundable within 14 days if unused
  • The same page price this month or next year
  • Priority support
Buy Office

See full pricing, including what counts as a page

Questions

Is my statement stored anywhere?

No. Your PDF is held in memory only while it's being processed and discarded when the response is sent. We don't write your file or its contents to disk or to a database. What remains is a usage record, holding the page count, document type and pass or fail, with nothing from your statement, no file name and no account number in it. Our own visit counting uses no cookies, only a daily key that cannot be recomputed after that day; the one advertising cookie we set, and the two countries it is set in, are listed on the privacy page. The extraction runs through our AI document-processing provider, which does not train on the data and deletes inputs within 30 days.

How accurate is it?

No converter can promise a number that holds for every document, and the ones that advertise a percentage are quoting their own test set, not your statement. We answer the question differently: every conversion is checked against the running balance the bank printed, so you can see whether it came across correctly on the document in front of you. Pages are free every day, so you can settle it with your own statement before you spend anything. How we validate releases.

Which banks work?

The extractor reads the printed table rather than matching a bank-specific template, so most banks work on the first try, which is also why scans and photos go through the same path. The supported banks page lists the layouts we have confirmed end to end. If yours is not on it, run one statement on the free tier and read the balance check.

What does the balance check actually do?

It rebuilds your running balance from the transactions we extracted and compares it against the balance printed on each line of your statement. Opening balance plus transactions has to equal each printed balance and the closing balance. When a line breaks the chain, that row is highlighted with the difference shown, so you can check one cell against the PDF instead of proofreading the whole file.

What if my statement has no balance column?

Many credit-card statements print only a previous balance and a new balance, with no running balance on each line. The check ties those totals instead: previous balance plus purchases minus payments has to reach the new balance, and printed totals for money out and money in are tied to the rows. The badge reads "closing total checked". Where the statement prints no usable total either, the badge reads "check unavailable" and every row in the review workbook carries that status, so nothing implies a check that did not run.

Do scanned statements and phone photos work?

Yes. You can upload a scanned PDF of up to 100 pages, or up to 100 JPG or PNG photos of paper pages, including pictures taken with a phone. They take longer, about a minute a page against seconds for a native PDF, because every pixel is read at full resolution; pages are read six at a time, so a six-page scan takes about as long as one page. The balance check matters most here: it's what catches a misread digit.

Which format should I download?

Every format comes from the review workbook you get after a conversion: confirm it, upload it, and take Excel or CSV if you're working in a spreadsheet, QBO for QuickBooks Online, OFX for Xero and most other accounting software, QIF for Quicken for Windows and older desktop tools. There's a full decision table on the formats page, with import steps for QuickBooks and Xero.

What does the free tier include?

10 pages a day during the launch offer (normally 3), with no account and no card, and an account does not change that number. Everything is included: every export format, the balance check, scanned and photographed statements. It resets daily, so a short monthly statement costs nothing.

Do credits expire?

No. Credit packs are one-time purchases and unused pages stay on your account indefinitely. There's no subscription to cancel and no monthly allowance that evaporates, which is the single most common complaint about subscription converters. If you'd rather pay monthly, the Practice and Firm plans roll unused pages over while you're subscribed.

Can I edit or generate a statement with this?

No, and we won't build that. StatementTable only extracts what is printed. It doesn't create, alter or "repair" statements. If you're looking for a tool to modify a bank statement, this isn't it.

More on the help page, including how particular statements are handled.

Convert one and see

During the launch offer ten pages a day are free, and you don't need an account to run your own statement through it.

Last updated September 21, 2026