A poor CMR photo goes straight back to the driver. A readable document reaches settlement with every field tied to the image.
A driver sends a CMR or proof-of-delivery photo. The system first checks brightness, contrast, sharpness, and framing. A poor image triggers a request for another photo. A readable document receives one extraction, which an operator reviews before further use.
Verified demonstration scope
The demonstration covers prepared CMR image variants. Unreadable photos are stopped before extraction, and the readable document’s result waits for operator review.
- Recorded test
- Verified demonstration scope
- What we tested
- Transport documents
- Measurement data
- test data
Problem, solution, and result
Why a poor photo delays settlement
An operator opens each image and attempts to read it before discovering that it is overexposed, dark, or cropped. The request for a replacement reaches the driver too late.
What the system does
The system first checks five image-quality features. A photo below the agreed threshold is stopped and returned for correction. A readable document is extracted once, and the operator reviews the result.
What we tested
The demonstration covers prepared CMR image variants. Unreadable photos are stopped before extraction, and the readable document’s result waits for operator review.
For whom
This fits a carrier or freight operator that receives document photos from the road and spends time manually finding unreadable images.
Photo → quality check → extraction → decision
- 01Image quality is checked before a model call
- 02Photos below 0.72 return for correction
- 03The operator approves fields before settlement
- Best for
- Carriers, freight forwarders, and logistics operators
- Input data
- CMR and POD photos from the road, uneven quality
- Human decision
- The operator checks extracted fields and decides whether the document can proceed to settlement
- Cost
- USD 0.007617 for the recorded read of one document.
- Security
- An unreadable image is stopped before extraction and returned to the driver with a request for a new photo.
- Test scope
- The demonstration uses prepared images. Accuracy and reading time must be confirmed on the client’s documents.
- Audit trail
- The history shows the image-quality assessment, the extraction decision, and the operator’s approval.
- Similar system build
- from €3,500 net (approx. $3,800) · 2–6 weeks
Reference exchange rates: USD 1 = PLN 3.72; EUR 1 = PLN 4.30. PLN amounts are rounded, with the measurement currency retained in parentheses.
Operator decision
What remains with the operator
The system assesses image quality and prepares extracted fields. The operator verifies the result and decides whether the document can support settlement. The system does not issue invoices or confirm delivery.
- Cost
- USD 0.007617 for the recorded read of one document.
- Security
- An unreadable image is stopped before extraction and returned to the driver with a request for a new photo.
Limits of the current test
All 7 images come from one blank CMR template with synthetic data. Before deployment, the quality threshold and extraction performance need testing on phone photos, routes, and working conditions typical for the client.
Estimated impact
Calculate the impact at your volume
This estimate uses the stated volume. Enter your own numbers to assess the possible impact in your company. The result is confirmed only during a pilot.
Today
108 late resubmissions
With the system
36 late resubmissions
Time or cost saved
55-90 fewer resubmissions/mo, base 72
- Volume
- 900 documents/mo
- Formula
- 900 x 8 pp
- Calculation status
- medium
Data in the screenshots. The names, amounts, and documents shown in the screenshots are synthetic. Client data remains private. Measurements describe the demonstrator and are kept separate from production outcomes.
Working views
The operator reviews data from readable documents. The system immediately returns images that cannot be extracted reliably.
The operator spends time on readable documents and exceptions that require judgment. The driver receives quick feedback on a poor photo before it can hold up an invoice.
Document queue, image check, and extracted fields.
Document queue
Photos from the road with quality status and next action.
Image check
Five quality measures and the specific reason for blocking.
Document extraction
Fields displayed beside the image for operator review.
System screens
See how the system works in practice
These desktop and mobile screenshots come from the running application. They show the process and the points where a person makes the decision.
- Screens
- 8
- px
- 1440 · 390
- 021440×1100
Unreadable image with a blocking reason. - 031440×1100
Readable document with extracted fields.
Open the remaining screen archive (5)
- 041440×1100
A single read - 051440×1100
Matching to jobs - 061440×1100
Ready to invoice - 071440×1100
Decision history - 081440×1100
Station rules
Technology stack
Plain Python, because entry to the model is decided by a measurement in code.
The process is a straight line with a single branch, so an orchestration framework would be ballast; an orchestration framework adds no value here. Pillow measures the image, one vision call reads a legible document, PostgreSQL keeps the result and the trace. A stack like this is audited by reading the code, and maintenance comes down to calibrating the threshold and watching the API contract.
- Python + FastAPI
- runs the process without an orchestration framework
- Pillow
- measures brightness, contrast, edge energy, overexposure, and frame coverage
- Anthropic Vision
- performs the single structured extraction once the gate passes an image
- PostgreSQL
- stores the result, the gate decision, and the run trace
- MinIO
- holds the photo files and materialised images
- Next.js
- shows the scan inspection with fields at their source regions
The client owns the code, prompts, evaluation data, and documentation; the whole system is four services in Docker Compose. We use the public Anthropic SDK, and the model only ever sees images the gate has passed.
Technical details and measurements
How the system works
It first checks whether the document can be read.
The system assesses the image locally. A poor photo ends with a clear request to the driver. A readable photo receives one extraction, and the operator sees the result beside the document.
CMR or proof-of-delivery photo
Image quality check before any model call
Poor image returns to the driver
Readable image receives one extraction
The operator verifies fields and decides
System architecture
A gate in code, one extraction, regions, and a trace.
A deterministic image measurement, a single vision call, and an interface where every field leads to its place on the photo.
- 01
Measurement
Five image features computed by code.
Brightness, contrast, edge energy, overexposure share, and frame coverage make up the legibility score against a 0.72 threshold. The same image always gets the same score.
- 02
Refusal
Below the threshold, the run ends explicitly.
The refusal carries the measured values and a request for a new shot. The quality gate stops the document before extraction, so an image below the threshold cannot continue to the reading step.
- 03
Extraction
A legible image gets one call.
The vision model returns fields pinned to regions of the image, so the operator compares each value with the place it came from, without searching the whole photo.
- 04
Decision
The result goes to operator review.
Fields remain next to their visible source regions. The reference view lets the operator inspect them, but it does not persist an approval, correction, or operational record.
Why the measurement stands before the model
The reverse order, model first and assessment second, produces confident-looking fields from illegible images and a bill for every attempt. Here, entry to the model is decided by a measurement in code, recorded in every run. There is no orchestration framework, because the process is a straight line with a single branch; an orchestration framework adds no value here.
- The legibility measurement is deterministic and testable
- A blocked image generates neither fields nor cost
- Extraction fields are pinned to regions of the photo
- The reference view does not persist a human decision
Want to assess a similar process in your company?
- A 30-minute call with the engineer who would lead the work.
- A review of the processes that cost you the most time and money.
- A written summary of what to automate first and the likely cost range.
Times are shown in your own time zone. We work with clients across time zones.
The scan is free and creates no obligation. If automation is unlikely to pay off, the written recommendation will say so.