Rules for every benchmark

  1. Measured, not estimated. A number appears on this site only after it has been measured with the method published here. No results are inferred from vendor marketing or extrapolated from small samples.
  2. Data and method are published. Each benchmark publishes its test documents, or redacted versions when the originals contain personal data, along with the expected output for each document, the scoring code, and the raw output of every tool tested.
  3. Same conditions for every tool. Every tool runs on the same documents, within the same week, with documented settings. Settings are the defaults unless a setting is documented and applied to every tool.
  4. Conflicts are disclosed. StatementBench builds a free converter that competes with the paid tools it tests, and may earn affiliate commissions from some of them. Both facts are stated on every benchmark page. The free converter is scored by the same harness, and its results are published even when it loses.
  5. Vendors can respond, not edit. Before publication, each vendor gets its own results and may reply. Replies are published alongside the results. Results are not changed unless the vendor shows an error in the method, and then the fix and its date are recorded.
  6. Results are dated. Tools change. Every result carries the date it was measured and the tool version where one is visible, and benchmarks are re-run when vendors ship major changes.

Converter accuracy benchmark

Status: in progress. A pilot round was run on 7 October 2026. Its results will be published after each tested vendor has seen its own results and had seven days to reply (rule 5). The plan below was published on 6 October, before any converter was measured, and is kept as written so the method can't be bent to fit the results. The pilot round is smaller than the plan and differs from it in the ways listed under Pilot round; each difference is also stated on the results page.

Question

When you give a converter a bank statement, how often does it give you back every transaction, with the right date, amount and sign, without manual correction?

Test set (planned)

Tools (planned)

Up to eight converters: dedicated bank-statement converters such as DocuClipper, general document parsers, cloud OCR and extraction services, and the free StatementBench tool. The final list will be published with the reasons each tool was included.

Scoring (planned)

What will not be claimed

The results will describe these documents and tools on the test dates. They will not claim a tool is "the most accurate" on statements unlike the test set.

Pilot round (October 2026)

The pilot uses the public specimen statements described below, because they can be uploaded anywhere without exposing anyone's data. It differs from the plan in these ways:

Accuracy check: the free converter on published sample statements

Measured 7 October 2026. This is a check of StatementBench's own free converter, not a comparison with other converters; that is the separate benchmark above, whose pilot results are published once vendors have had their seven days.

Sample set

Banks, credit unions, government agencies and educators publish sample statements to teach people how to read one. Every account holder in them is fictional. We collected 17 such PDFs that are public and need no login. We used no real person's statement and nothing leaked or uploaded by users.

These are teaching documents, not statements as banks deliver them. Some are annotated guides with callouts printed over and beside the statement, and many contain mistakes of their own. Checked by hand: seven have arithmetic errors (a printed balance that does not follow from the row above, or a summary that disagrees with the rows), one prints an amount on the wrong line, and one shows only the first page of the statement. Where a sample's own figures disagree, "needs review" is the correct result.

Method

  1. Each PDF is read with the same pdf.js version the browser tool uses (6.4.299, in its build for Node) and the same code that turns pdf.js output into positioned text. The converter runs with default settings: no year, date order or number format set by hand.
  2. Each result is classed by the tool's own verdict: all rows reconcile; some rows or totals need review; rows extracted but nothing printed to check them against; or no rows found.
  3. Hand-checked ground truth for 11 samples (174 rows). Five (137 rows) were made while fixing the converter; six more (37 rows) were added on 7 October for the converter benchmark. Every transaction line was typed from the document: the rendered page and its text, never the tool's output. Each sample's rows were checked against its printed balances before use; where the document disagrees with itself, its printed figures were kept. A row counts as correct when its date and its signed amount match to the cent (either the transaction or the posting date may match; a year printed as "20XX" is compared by month and day). Rows of 0.00 are left out. Card amounts are signed as the change in what you owe: charges positive, payments and credits negative.
  4. Precision is correct rows divided by rows the tool extracted. Recall is correct rows divided by rows in the ground truth. Amount accuracy is, among the transactions the tool found, the share with exactly the right signed amount.

The five hand-checked samples were also used to find and fix the failures, so the scores after the fixes measure the fixes on documents the converter was adjusted against. They are not an estimate of accuracy on statements it has not seen. The six samples added later have no such tuning against their ground truth, but their layouts were among the 17 that shaped the fixes, so they are not unseen either. Each fix was also written as a test on a made-up statement with the same layout, so it is checked on every change.

Results

Outcome Before fixes (code of 6 Oct 2026) After fixes (7 Oct 2026)
All rows reconcile 0 3
Rows or totals need review 11 9
Rows extracted, nothing printed to check them against 0 2
No rows found 6 3
Total 17 17
Hand-checked subset (5 samples) Before fixes After fixes
Rows in the ground truth 137 137
Rows extracted (excluding 0.00) 73 137
Correct rows 49 137
Precision 0.67 1.00
Recall 0.36 1.00
Amount accuracy 1.00 (49 of 49) 1.00 (137 of 137)

On the six samples hand-checked on 7 October (37 rows), the converter as fixed finds 33 rows correctly out of 34 extracted: precision 0.97, recall 0.89. It misses two Commerce Bank rows (deposit and ATM lines print the date after the description) and, on the City of Saint Paul sample, combines the Jan 19 paycheck with the check amount the sample prints on the same line. Across all eleven: 170 of 174 rows, precision 0.99, recall 0.98.

After the fixes, descriptions match the document exactly on 132 of the 137 rows. Of the other five, three also carry the reference number column, one a callout label printed inside the table, and one, a loan payment whose description is printed on the line above its date, shows the loan's other figures instead. Reading and checking took under half a second per PDF on a laptop.

Of the nine "needs review" results after the fixes, six point at mistakes or gaps in the sample itself (Carson Bank, Associated Credit Union, Scott Credit Union, CapEd, Boston Architectural College, NCUA). One points at interest the sample lists without dates (CUAnswers Black Bars). Two are failures of the converter (CUAnswers Two-Column, Commerce Bank). Carson Bank's result has a second cause: the converter cannot split its credit line payment, printed over two lines, into principal and interest.

Sample (publisher's page) Type Rows Result after fixes Hand-checked What happened
Carson Bank Checking and credit line 49 Needs review 48 of 48 correct Plus one 0.00 line from a two-line loan record. The sample's summary box does not match its transaction table.
Bank of America (PDF) Checking, annotated brochure 8 Nothing to check against No Statement excerpts are stacked images whose text layers overlap. Not scored.
Associated Credit Union (PDF) Savings, checking, credit line 4 Needs review No One row flagged: the sample's draft is $0.30 off its own printed balance.
Scott Credit Union (archived page) Checking 3 Needs review 3 of 3 correct The sample's balance after a $1,306.50 draft does not follow from the row above.
City of Saint Paul Checking 6 All reconcile (totals only) 5 of 7 correct The sample prints one check's amount on another row's line, so one output row combines two transactions. A totals-only check cannot catch that.
Consumer Financial Protection Bureau Credit card 0 No rows Correct (no rows) Correct: the handout has no transaction list.
University of Georgia (PDF; Federal Reserve sample) Credit card 0 No rows No The statement pages are images. The converter reports two pages with no text layer.
Randolph-Brooks FCU Credit card 9 Nothing to check against 9 of 9 correct No previous balance is printed. Day and month are printed as separate pieces of text.
CapEd Credit Union Credit card 9 Needs review No The sample shows page 1 of 2, so the rows cannot reach the summary.
Money Mentors (archived page) Credit card 7 All reconcile 7 of 7 correct
Niagara University Savings 0 No rows No Fails: amounts are printed without cents ("5,000").
CU*Answers, Black Bars style Several accounts and a credit card 55 Needs review 55 of 55 correct All seven account ledgers with activity reconcile. The card is $147.38 short: interest the sample lists without dates.
CU*Answers, Two-Column style Several accounts and a credit card 21 Needs review No Fails: two columns of statement side by side on each page are read as one line.
Commerce Bank Checking 3 Needs review 3 of 5 correct Fails in part: deposit and ATM rows print the date after the description and are missed. The three checks are read.
Boston Architectural College Checking, UK style 13 Needs review 13 of 13 correct One row flagged where the sample's arithmetic is $3.00 off.
NCUA, MyCreditUnion.gov Checking 22 Needs review 22 of 22 correct The same sample is printed twice. Its last balance is $100.00 off, and the converter flags it in both copies.
Stanford Federal Credit Union Credit card 6 All reconcile 5 of 5 correct Plus one 0.00 interest line. Descriptions include the reference number column.

What was fixed

The failures above led to these changes in the converter, each with a test:

Data

For each sample, the manifest records the publisher, the PDF's address, the page that links to it, the download date and a SHA-256 checksum. The project also keeps the hand-typed ground truth, the scoring code, the raw per-sample output before and after the fixes, and a script that downloads the set again and verifies the checksums. The PDFs themselves are not redistributed: each stays at its publisher's address.

Download the data:

How the free tools are tested

Every StatementBench tool has automated tests, and they run before every deploy. A tool that fails its tests doesn't ship.

How pricing data is collected

Prices are read from each vendor's public US pricing page and help center, and recorded with the source URL and date. Promotions are noted but not used in calculations. When a page cannot be fetched, or a value isn't stated, it is recorded as unknown, never filled in from memory or third-party sites. The data is rechecked at least quarterly.

Corrections

Corrections are dated and described on the page they affect. A correction that changes a benchmark result is also noted at the top of that benchmark page.

Also available as Markdown.