How a point-of-sale lender tackled the messiest document type in financial services

Updated on
February 24, 2026
5
min read
Contributors
No items found.
Author
How a point-of-sale lender tackled the messiest document type in financial services
Table of contents
Turn documents into structured data
Get started free
Share this post

Void checks might be the most deceptively difficult documents to automate in financial services. They look simple: just a check with account details. But in practice, they arrive as photos of phone screens, screenshots of monitors, and scans so degraded they're barely readable. For a lending platform processing thousands of checks monthly from a variety of banks, these aren't edge cases. It's the daily reality.

One Canadian point-of-sale financing company had been using a well-known document processing vendor with human review. It worked, but it was expensive and slow. When they found a solution that could match their coverage while cutting costs and turnaround time, they made the switch to Sensible.

The challenge: Banking data from chaotic images

The company provides point-of-sale financing for home improvement contractors, retailers, and recreational vehicle dealers. Merchants onboard by submitting a void check. The required data is straightforward: customer name, address, transit number, account number, and institution number. Get these right, and money flows correctly. Get them wrong, and transactions fail or, worse, go somewhere they shouldn't.

Poor-quality check images are a common problem, while a cleanly scanned check is the exception. When image quality degrades, a mistakenly OCR'd numeral produces a plausible-looking wrong answer, not obvious garbage. Canadian postal codes add another layer: they alternate letters and numbers (like "K1A 0B1"), and OCR routinely confuses O's and zeros, B's and eights, I's and ones.

The solution: Hybrid extraction with intelligent fallbacks

The implementation layers multiple techniques, using each where it performs best.

Template-based extraction for major banks. Extraction configurations use fingerprinting to identify the most common banks. This enables two key optimizations. First, if a check's fingerprints match a specific bank, the institution number is already known. So that number can be output as a constant value, eliminating entire categories of OCR errors. Second, targeted extraction can anchor to known layouts rather than searching the full document. Thirty-three layout-based configurations currently handle the bulk of volume, or approximately 5,000 check extractions monthly.

Intelligent fallback for the long tail. When a check doesn't match any fingerprint, a fallback configuration takes over. The breadth of the fallback's coverage came from combining multiple techniques. For example, regex patterns parse the MICR line at the bottom of checks (which contains transit, account, and institution numbers in a standardized format), sidestepping OCR quality issues entirely for the most critical fields. LLM-based extraction handles less structured fields like names and addresses that don't appear in standardized locations. Multimodal LLMs provide better text extraction than standard OCR for particularly degraded images.

Validation over guessing. A critical design principle: null values are better than wrong values. Institution numbers must have the correct digit count; postal codes must match Canadian format patterns. When these checks fail, the field returns null and flags for review, preventing bad data from entering downstream systems. 

Deterministic character corrections. For known OCR failure patterns, post-extraction logic fixes predictable errors. In Canadian postal codes, zeros get checked against positions where O's are valid; eights get validated where B's make sense. These corrections catch errors that pure LLM approaches would propagate.



The results

The company replaced their previous vendor entirely. Processing that required human review queues now completes in seconds. Per-document costs dropped significantly. The template-plus-fallback approach covers more banks than the previous solution, and when extraction fails, the system flags it explicitly rather than passing bad data downstream.

Why not build it themselves?

The company uses LLMs successfully for processing other document types like invoices. But checks are their hardest document type. The core challenge isn't language understanding, it's extracting reliable text from unreliable images. MICR parsing, deterministic character corrections, fingerprinting, enhanced OCR, and validation logic all compound in ways that would require substantial engineering investment to replicate. For their most critical document type, where errors have real downstream consequences, outsourcing to specialists made more sense than building in-house. This company found their partnership with Sensible so valuable that they expanded to also automatically process bank deposit forms when evaluating loan applicants.

Key takeaways

  • OCR is often the bottleneck, not AI. When documents arrive as photos of screens or degraded scans, the challenge is reading the content, not understanding it.
  • Layer multiple techniques. Deterministic parsing for structured data, LLM extraction for flexible fields, enhanced OCR for difficult images—combining approaches outperforms any single method.
  • Null beats wrong. In financial services, a missing value triggers review. A wrong value triggers downstream failures. Design systems to fail explicitly.
  • Deterministic corrections catch predictable errors. When you know OCR confuses O's and zeros, fix it deterministically rather than asking an LLM to re-interpret garbage.

Your hardest documents may be worth outsourcing. Building in-house extractions for simple documents can make sense. But for your most critical, error-prone document type, it's often worth it to buy rather than build.

Frances Elliott
Frances Elliott
Turn documents into structured data
Get started free
Share this post

Turn documents into structured data

Stop relying on manual data entry. With Sensible, claim back valuable time, your ops team will thank you, and you can deliver a superior user experience. It’s a win-win.