Analysis
Why most document-reading tools break when the format changes — and how to avoid it
Written by Natys Vytautas, founder of UAB NVGroup.
A traditional document-reading (OCR) tool works off a template: it learns one specific document layout, and as long as the document looks exactly the same, it works fine. Change the carrier, change the country, or have the same carrier update their form — the template stops working, and someone has to reconfigure it by hand.
CMR waybills, SMGS/CIM railway documents, and sea freight B/L manifests all share one trait: they're issued by hundreds of different countries, carriers, and systems, none of which are required to follow an identical visual layout. That's exactly where template-based OCR breaks most often.
A different approach: reading meaning, not position
Our system doesn't look for "the weight field in row three, column four" — it reads the document the way a person would, recognizing who the consignor is, who the consignee is, what the weight is, regardless of where on the page it's written. That means:
- A new carrier format shouldn't break the system. No need to wait for someone to manually configure a new template for every new document variant.
- All three modules (CMR, rail, sea) share the same underlying architecture, adapted to each document type's specifics — an improvement made in one place benefits all three.
Where the system admits what it doesn't know — and why that's a strength
Every extraction gets a confidence score, calculated from how many of the required data fields were actually filled in — not a fixed number applied to every document. When a document is unusual, poor quality, or simply more complex than normal, the system doesn't guess — it flags it for manual review. That might sound like a limitation, but it's the opposite: it's protection against a silent, unnoticed error making it into your report as "correct."
Language is not a barrier
Because the system reads meaning rather than position, it handles Latin script, Cyrillic, or logographic writing systems equally well, with no separate configuration per language — the same module processes an English CMR waybill, a Russian SMGS накладная, and a Chinese-script B/L. We verified this with realistic document samples in both scripts — key identifiers were extracted accurately, and the system correctly assessed its own confidence in each case.
What gets preserved for audit purposes
For every extracted data point, the system also keeps the original text fragment it came from — not just the final result. That means you can always trace back exactly where a specific number or name came from, rather than simply trusting a black box.
The B/L boundary — a deliberate one
For sea freight manifests, the system extracts data for internal use only — it does not confirm a document's legal validity or ownership status. That's a deliberate line: data extraction and legal document validation are two different things, and keeping that boundary clear protects both you and us from misplaced confidence where it doesn't belong.