1. Define the decision, not just the extraction
“Extract the cheque” is not an acceptance criterion. The real question is what happens next: does the item post to a ledger, enter an approval queue, feed a clearing file, or wait for a customer? Each destination changes the required fields, validation rules, idempotency key, audit evidence, and retention period.
| Destination | What must be true before it leaves OCR |
|---|---|
| Review queue | Source image retained; field confidence; reason for review; reviewer decision and timestamp. |
| ERP / accounting | Vendor/payee match; amount and currency; duplicate check; idempotency key; posting reference. |
| Core banking | Account/routing validation; item reference; maker-checker; reconciliation to the ledger. |
| Clearing file | Control totals; bundle/sequence; file validation; transmission response; return path. |
| Customer dispute | Image quality; extracted values; corrections; approvals; immutable audit history. |
2. Capture: fix the image before blaming the model
Cheque OCR performance is bounded by the image. A scanner that produces a clean, deskewed grayscale image at 300 DPI is a different input from a phone photo with a shadow across the amount box. The capture layer should return an image-quality signal before extraction, and the workflow should be able to reject or rescan rather than queue a predictable failure.
- Resolution: 200 DPI minimum; 300 DPI recommended for handwriting.
- Format: JPEG, PNG, or TIFF; TIFF is common for scanner output.
- Geometry: all four corners visible; minimal skew; no fold or shadow over MICR or CAR/LAR.
- MICR: keep the magnetic read where available; do not treat an optical guess as equivalent.
- Back side: capture when endorsement or back-side evidence matters; otherwise state that it is out of scope.
3. Extraction: MICR, OCR, and handwriting are different problems
The MICR line is a constrained machine-readable field. Printed cheque text is optical character recognition. Handwritten payee, date, and legal amount are handwriting recognition problems with different failure modes. A credible implementation reports them separately.
- MICR: routing, account, cheque number, raw line; validate routing checksum and field lengths.
- CAR: numeric amount; parse the decimal and currency explicitly.
- LAR: written amount; compare with CAR and flag disagreement rather than choosing one silently.
- Payee and date: return confidence and a review flag; apply the jurisdiction’s date rule.
- Endorsement/signature: treat as evidence for review, not automated identity proof.
4. Validation and review: make uncertainty visible
A confidence score is only useful if it changes behavior. Define thresholds by field and by consequence. The top-level review flag should aggregate the field signals, and the review UI should show the image beside the extracted values so the reviewer can resolve the item without guessing.
- CAR/LAR mismatch: always an exception; do not average the values.
- Low confidence: route to review with the field highlighted and the reason recorded.
- Duplicate suspicion: check number, account, amount, date, and image similarity across channels.
- Date rule: stale, post-dated, and future dates follow the jurisdiction and bank policy.
- Maker-checker: high-value or high-risk corrections need a second approver.
5. Integration: design the boundary before the API call
The API contract is the easy part. The hard part is what happens when the same image is submitted twice, when the review queue is down, or when the downstream system accepts a value that the reviewer later corrects. Use an idempotency key per item, persist the extraction ID and source image, and reconcile the downstream record to the original item.
- Use the documented contract in the bank check OCR API docs.
- Persist the image, extraction ID, field values, confidences, reviewer corrections, and approvals.
- Map the item reference to the ERP/core banking/clearing record; do not rely on the cheque number alone.
- Define retry and dead-letter behavior for timeouts; do not silently drop an item.
- Keep clearing-file generation and settlement outside the OCR contract; see X9.37 and ACH.
6. Test on the work you actually have
A clean demo set will not tell you what happens in production. Build a de-identified sample that reflects your real mix: handwriting styles, printed cheques, scanner models, mobile captures, languages, damaged items, and edge cases. Measure per field, not only per cheque.
Per-field accuracy
Correct / total for MICR, CAR, LAR, payee, date, and any custom field.
Abstention rate
Share routed to review; a model that never abstains is not necessarily better.
Correction rate
Share of reviewed fields changed by an operator, and the direction of the error.
Straight-through processing
Share accepted without review at the chosen threshold.
Latency
Capture-to-result and queue-to-decision, not only model time.
Operational effort
Minutes per item and exception backlog under realistic volume.
Use the handwritten cheque OCR benchmark to keep the sample and scoring consistent, and publish the method with the result.
7. Security and procurement are part of the implementation
Decide where images and extracted data live before the pilot, not after. The data-flow diagram, retention, deletion, access control, audit logging, and subprocessors all affect the integration design. On-premise is a deployment choice; it does not by itself establish SOC 2, ISO 27001, or PCI compliance.
- Use de-identified images until the DPA and security review are complete.
- Document the trust boundary between capture, OCR, review, and downstream systems.
- Confirm retention and deletion for images, extracted fields, backups, and audit logs.
- Request the current security package through the security hub.
8. Roll out in parallel, then narrow the exception path
Run the new workflow beside the existing process for a defined period. Compare the same items, measure disagreements, and agree the go/no-go criteria before scaling. Start with a narrow cheque mix, then expand by channel, entity, or language. Keep a rollback path and a named owner for every exception category.
- Pilot with a representative sample and a fixed scorecard.
- Run parallel with the current process; reconcile every disagreement.
- Set thresholds and review rules from observed data, not vendor defaults.
- Expand channel by channel; re-check latency and backlog at each step.
- Freeze the audit evidence and retention configuration before go-live.