Document extraction at the loading bay

Logistics paperwork is the canonical extraction problem, and the difficulty is never the model. It is that the input is a photograph taken in a lorry cab by someone in a hurry.

Share

Freight runs on documents: delivery notes, proof of delivery, customs paperwork, weighbridge tickets, damage reports. Most of it arrives as an image, and a meaningful share of that image was captured on a phone, at an angle, in poor light, by a driver who has somewhere else to be.

Vision models read these far better than OCR ever did. The gap between "reads it well" and "runs the yard" is where the engineering lives.

What the input actually looks like

Not the clean sample in the vendor demo. In practice: rotated ninety degrees, one corner cut off, a thumb across a field, a fold through the reference number, carbon-copy paper where the important line is the faintest, a wet page, handwriting in a box designed for print, and a completely different layout because that carrier redesigned their form.

Any of these produces a confident and wrong reading if the pipeline has no way to say "I cannot see that".

The design that survives it

Nullable everything, with an explicit not-visible state. Every field needs a way to say the value could not be read, distinct from the value being absent. Without that distinction the model fills the gap, because a plausible guess scores better against most prompts than an admission.

Location alongside value. Return where on the page each value was found. This makes review fast — the reviewer looks at a highlighted region rather than rereading the document — and it makes fabrication detectable, because a claimed location that contains nothing is a checkable failure.

Cross-checks against systems of record, not against the document. The consignment number should exist in the transport system. The quantity should be plausible against what was dispatched. The weight should be within tolerance of the expected. These checks catch misreads that no amount of confidence scoring will, because they compare against reality rather than against the model's own certainty.

Capture quality feedback at the point of capture. If the image is unusable, the useful moment to say so is while the driver is still standing there. A pipeline that discovers this in a back-office queue two hours later has lost the only chance to get a better photograph. This is a product decision that dominates model accuracy in practice.

The part that decides the project

Not extraction. Writing into the transport or ERP system.

That system has referential integrity, validation, permissions, and probably an integration surface designed in a previous decade. Extracted values must match existing records, use codes it recognises, and be attributed to something that has authority to write.

The extraction is a fortnight. The integration is the rest of the project, and it is the part that determines whether the thing ships. Which is why the connector gets built first — a surprise there in week two is a scoping conversation, and in month four it is a failed programme.

Two figures worth measuring separately

Straight-through rate — the share of documents needing no human touch at all. This is the number that translates into hours saved.

Silent error rate — the share that went straight through with a wrong value. This is the number that determines whether anyone keeps trusting it, and the only way to obtain it is to audit a sample of accepted documents by hand, on a schedule, forever.

A team tracking the first and not the second will report a success for several months and then lose the confidence of the operations floor in a single afternoon.