Evaluation protocol

Handwritten Cheque OCR Benchmark: What to Measure

Most cheque OCR demos use clean printed instruments. Real workflows do not. This page defines a repeatable benchmark for handwritten cheques: the fields to test, the error types that matter, the sample design, and the scorecard to take into a vendor pilot.

De-identified images Per-field results False accepts, not just accuracy
Real cheque specimen for a fictional bank with handwritten payee, date, amount, signature, and MICR line
Real cheque specimen, fictional data. Source: BritishCheque.png on Wikimedia Commons, created by Sergio Ortega / User:Airodyssey and licensed under CC BY-SA 3.0. The bank and person are fictional; no customer document is shown. The values are not performance results. Use de-identified images from your own workflow for the actual evaluation.

Measure cheque OCR accuracy by field

A useful benchmark reports each field separately. The question is not “what is the overall accuracy?” It is “which fields can be accepted automatically, which need review, and what happens when the system is wrong?”

FieldMetricWhat breaksControl
PayeeExact match + normalized matchCursive, mixed case, company suffixes, hyphenation, titlesReview when the name is low-confidence or conflicts with a known payee
DateExact ISO date matchDD/MM vs MM/DD, handwritten digits, abbreviated monthsReject ambiguous dates or route to manual verification
CAR — courtesy amountExact numeric match after normalizationCommas, decimals, handwriting, currency symbolsNever silently accept a low-confidence amount
LAR — legal amountWords-to-number matchSpelling variants, “and 00/100”, languages, crowded writingCompare with CAR; route any disagreement
CAR/LAR agreementAgreement flag accuracyA correct read of one field can still hide a mismatchTreat disagreement as an exception, not an average
MICR lineRouting, account, and cheque-number matchPrint quality, skew, overlays, damaged charactersReject or review invalid check-digit or low-confidence reads
Signature presencePresence/region detectionStamps, overlapping text, faint ink, initialsDo not claim identity verification; route evidence for review
Uncertain-read rateAbstentions ÷ eligible fieldsA system that guesses is worse than one that abstainsReview queue capacity should match the abstention rate
False acceptsWrong values accepted without review ÷ accepted valuesThe highest-risk error; a single wrong amount can be costlySet an explicit tolerance with risk and operations

Design the sample set

  • 100–300 de-identified cheques from the actual workflow, not only clean samples
  • Printed and handwritten mixes, including cursive and block letters
  • Multiple bank layouts and at least two languages if your operation sees them
  • Clean, skewed, cropped, low-light, stamped, and overlapping images
  • Amounts near approval thresholds and dates near the screening boundary
  • A double-keyed ground truth set with a second reviewer for disagreements
  • A holdout set that is not used to tune prompts, thresholds, or model choice

Measure false accepts separately from uncertain reads

A wrong amount accepted without review is worse than an amount the system flags as uncertain. Measure false accepts and abstentions separately. Do not let a vendor average them into a single accuracy percentage.

If the system cannot explain why a field is uncertain, or cannot show the source image and reviewer decision, it is not ready for a bank workflow.

Handwritten cheque OCR scorecard template

Copy this into your evaluation sheet and populate it from your own run. Keep the raw counts, not only percentages; small samples produce misleading rates.

FieldTestedExact / normalizedAbstainedFalse acceptsReviewer notes
Payee—————
Date—————
CAR (figures)—————
LAR (words)—————
CAR/LAR agreement—————
MICR line—————
Signature presence—————

Template only. Chequedb is not publishing a performance claim from this page; the numbers must come from your de-identified test set and agreed acceptance criteria.

Cursive payee names

Company suffixes, middle initials, and mixed print/cursive writing are common failure points. Test known payees and unseen names separately.

Amount words vs figures

A system can read both fields correctly and still miss that they disagree. Measure the agreement flag as its own field.

Date ambiguity

Handwritten 02/03 can be 2 March or 3 February. A system that silently picks one is not audit-ready.

Image quality

Skew, shadows, stamps, staples, and phone-camera crops change accuracy. Include them in the test set, not a separate demo.

Overlapping text

Signatures, stamps, and pre-printed lines can collide with amount or payee fields. Check whether the model abstains or confabulates.

Language and layout

Cheque layouts and legal-amount phrasing vary by country. Test the languages and layouts your operation actually sees.

Run it before you buy

Bring 50–100 representative de-identified cheques to a pilot. Ask for per-field results, abstentions, false accepts, review time, and the exact path a failed field takes. If the vendor cannot show failures, the demo is not a benchmark.

Related pages

Handwritten cheque OCR: common questions

What is a handwritten cheque OCR benchmark?

It is a repeatable test of how well an OCR or handwriting-recognition system extracts the fields a cheque workflow depends on: payee, date, courtesy amount, legal amount, MICR line, and signature presence. A useful benchmark reports per-field results, abstentions, and false accepts, not one overall accuracy number.

Why is one accuracy percentage not enough?

A single number hides which fields fail and how the system fails. A wrong amount accepted without review is materially different from an amount the system flags as uncertain. Measure exact match, normalized match, abstention, false accepts, and reviewer effort separately.

How many cheques should we test?

Start with a representative set of 100–300 de-identified cheques. Include printed and handwritten instruments, multiple layouts, languages, image qualities, rotations, stamps, and amounts near decision boundaries. Keep a separate holdout set for final evaluation.

What is CAR/LAR agreement?

CAR is the courtesy amount in figures; LAR is the legal amount in words. A cheque workflow should compare the two and route a mismatch for review. The benchmark should measure whether the system reads both fields and whether it correctly flags disagreement.

Should the benchmark use real cheque images?

Yes, use real, de-identified images from your operation or a representative test set. The specimen on this page is a real cheque image for a fictional bank, published under CC BY-SA 3.0 and used only to show the fields. It is not a customer document and its values are not performance results.

Can Chequedb run the benchmark for us?

A pilot can be scoped around your de-identified images, target fields, workflow exceptions, and deployment model. The evaluation should include clean and degraded samples, uncertainty handling, and a review path for every field that is not accepted automatically.

This page is an evaluation guide, not a performance claim. The specimen is a real cheque image for a fictional bank, used for illustration only. Use de-identified documents and your own acceptance criteria. Chequedb does not provide legal advice; confirm cheque handling rules with the relevant bank.