DocuRows

Troubleshooting

What happened in 40 bank statement extraction tests

See documented DocuRows results from 40 bank-statement and control-page image tests across clean, low-resolution, grayscale, and rotated inputs.

Audience
Bookkeepers and finance teams evaluating whether document extraction is ready for reviewable accounting work.
Updated
Reading time
7 min read

The test set

We used 10 public source pages and created four conditions for each: a clean PNG, low-resolution JPEG, grayscale scan-style image, and rotated phone-photo-style image. Six sources contained bank statement transaction tables; the remaining pages tested credit-card adjacency, placeholders, and bank letters that should not become transaction rows.

Measured batch result

The model returned valid JSON for 40 of 40 images and extracted 364 transaction rows. Of those rows, 362 contained a signed amount. No extracted row was missing a date or description, and the money-in minus money-out consistency check reported zero mismatches.

  • 40 of 40 API calls returned valid structured output
  • 364 transaction rows extracted
  • 362 rows contained signed amounts
  • 0 missing dates and 0 missing descriptions
  • 0 amount = money in - money out mismatches

Where the workflow was strongest

For three closed-balance bank statement sources, all nine non-rotated variants reconciled exactly. The negative controls also behaved correctly: eight placeholder or bank-letter variants produced zero transaction rows instead of inventing financial activity.

Known limitation: rotated photos

Rotated photo-like inputs still returned rows, but they were more likely to confuse transaction amount columns with running balances. That is why DocuRows asks for clear, upright, full-page images and keeps the source page beside the extracted rows for review.

Results by input condition

Clean PNG
91 rows; all 91 had signed amounts
Low-resolution JPEG
91 rows; all 91 had signed amounts
Grayscale scan
91 rows; all 91 had signed amounts
Rotated photo
91 rows; 89 had signed amounts and more review warnings

These results describe this specific public test set. They do not guarantee perfect accuracy on every bank or image, so review remains part of the workflow.

FAQ

Does 40 of 40 mean every extracted value was perfect?

No. It means every image returned valid structured output. Row quality was strongest on clean, low-resolution, and grayscale statement images; rotated photos still needed more review.

Were non-transaction pages tested?

Yes. Placeholder statement templates and a bank letter were included as negative controls. Across eight image variants, they correctly produced zero transaction rows.

What input should I upload for the best result?

Use the original PDF when possible. For scans or photos, keep the full page upright, bright, in focus, and uncropped. Redaction is fine when transaction dates, descriptions, and amounts remain readable.

Turn a statement file into reviewable rows

Upload a PDF, scan, screenshot, or clear photo and review the rows before downloading CSV.

Review your output