How to Extract Printed Shipment Data and Handwritten Receiving Confirmations from Returned Delivery Notes

Delivery notes are hybrid documents — printed shipment details plus handwritten receiving marks. Learn how AI extraction handles both layers in a single pass.

How to Extract Printed Shipment Data and Handwritten Receiving Confirmations from Returned Delivery Notes

Why a Signed Delivery Note Is Two Documents in One

A delivery note that leaves a supplier's warehouse carries one set of data: item codes, quantities shipped, PO number, carrier, ship date. This is the supplier's record of what they dispatched. The document travels with the freight, and when it arrives at the receiving dock, a second data layer gets added: the receiver's handwritten annotations.

Those annotations are not noise. They are the receiving team's operational verdict — and they carry legal weight. Under the Uniform Commercial Code (UCC Article 2), a signed delivery note with written exceptions constitutes documented evidence that the shipment was not accepted in full. No annotations, no evidence. If the receiver signs without noting that two cartons arrived crushed or that 15 units of a 50-unit line item were missing, the supplier can reasonably argue that the goods were accepted as complete.

The challenge is structural, not procedural. Printed data is machine-readable by design. Handwritten receiving confirmations — signatures, damage codes, quantity corrections, driver ID notes — are not. They live on the paper, visible to the human eye but invisible to the WMS or ERP. When the receiving team closes out the day, those annotations stay on the physical copy. The digital record has the supplier's version. The truth is on the paper.

This is the two-layer problem: one delivery note, two data systems, only one gets digitized.

What Gets Lost When You Only Read the Printed Layer

The gap between what the supplier shipped and what the receiver documented by hand is not theoretical. Here are the four types of receiving annotations that vanish when teams only extract the printed fields:

Quantity corrections

"Short 3 of SKU 8842" scrawled next to the line-item table. The supplier's printed quantity says 25 units were shipped. The receiver counted 22. If that handwritten note never enters the system, the three-way match — comparing the purchase order, the delivery note, and the supplier invoice — will flag the invoice for full payment against 25 units. The accounts payable team has no basis to withhold.

Damage notations

"2 cartons dented — left corner" written across the top of the page. This is the evidence you'll need when the supplier disputes the damage claim. Without it in digital form, the claim is a phone call with no paper trail.

Receipt timestamps and signatures

The handwritten date, time, and receiver name establish when and by whom the shipment was accepted. In a dispute over whether a delivery arrived within the contracted window, this is the primary record. If it stays on paper, it's useless in a digital audit.

Carrier and driver notes

"Driver: Mike, Truck 42, 2:15 PM" — critical for traceability if goods go missing between dock and putaway.

The cost of losing this layer compounds. A single missed damage note might mean paying $200 for goods you can't sell. Across 50 delivery notes a day — a typical volume for a mid-size warehouse — the monthly exposure from unrecorded receiving exceptions can reach five figures. And those are just the incidents you know about.

How AI Extraction Reads Both Layers Simultaneously

Traditional OCR treats a delivery note as a field-location problem: find the PO number at coordinate X, find the ship date at coordinate Y. That approach breaks the moment a supplier changes their layout — or the moment someone writes across the printed text.

Vision-language models (VLMs) approach the problem differently. Instead of looking for text at fixed coordinates, they read the entire document as a visual scene. They understand that the text "12" printed in the Qty column and the handwritten "10 ✓" scrawled next to it are two different claims about the same data point — and they can extract both into separate columns.

This is the mechanism behind Custom Column Extraction: you define the columns you want — "PO Number," "SKU," "Qty Shipped," "Qty Received," "Damage Notes," "Received By" — and the AI locates each value anywhere on the page by understanding what it means, not where it sits. The printed fields come from the supplier's template. The handwritten fields come from the receiver's annotations. They land in the same row of a single spreadsheet.

The key shift: You're no longer treating handwritten marks as obstacles to extraction. You're treating them as data fields to be extracted — just like the printed ones, but identified by content rather than layout position.

Step by Step: Extract Printed and Handwritten Fields in One Pass

Here's the workflow that turns a stack of signed delivery notes into a single spreadsheet containing both what was shipped and what was received.

JPG/PNG/PDF AI Extraction

Files are processed securely and not stored.

1

Collect the signed delivery notes from the receiving dock

After each driver handoff, the receiving clerk should retain the annotated copy. Scan paper delivery notes at the dock — a phone photo at 300 DPI is sufficient — or collect the PDF versions that suppliers email after shipment. The key point: don't file the signed paper copy in a drawer. Upload it.

2

Define your extraction columns for both data layers

This is where the two-layer approach takes shape. Your printed-layer columns: PO Number, SKU, Item Description, Qty Shipped, Ship Date, Carrier, Supplier. Your handwritten-layer columns: Qty Received, Damage Notes (text field), Received By, Receipt Date/Time, Signature Status (Present/Missing). Type these as column names in the extraction interface — the AI will populate each from the corresponding part of the document, regardless of where the handwritten note appears relative to the printed text.

3

Upload the batch and let the AI process both layers

Upload all of the morning's delivery notes in one batch — PDFs from supplier portals, scanned paper copies from the dock, photos taken by the receiving team. The AI reads each document against your column definitions. The printed fields are extracted from the supplier's layout. The handwritten fields are extracted from the receiver's annotations. Both land in the same structured table, aligned by row.

4

Review exceptions, not every field

The output spreadsheet gives you a side-by-side view: Qty Shipped (printed) vs Qty Received (handwritten). Mismatches — where the receiver's count differs from the supplier's — are immediately visible. Filter by discrepancy and forward those rows to the supplier claim process. The ones that match need no further action. What used to be a manual reconciliation of 50 delivery notes is now a 5-minute filter-and-review pass.

What the Output Spreadsheet Looks Like

The merged output gives you one row per line item, with columns spanning both data layers. Here's the structure:

PO NumberSKUQty ShippedQty ReceivedDamage NotesReceived ByReceipt DateStatus
PO-8842VT-33450473 units damaged — box corner crushedM. Chen2026-06-15Discrepancy
PO-8842VT-338100100M. Chen2026-06-15OK
PO-8912SP-4013030J. Rivera2026-06-15OK

The Status column can be generated automatically via inferred columns: define a column like Status (options: OK/Discrepancy) and the AI reads the damage notes and quantity mismatch to determine the correct value — extracting and classifying in a single pass. No separate review step needed for standard cases.

For downstream integration, this table feeds directly into your three-way matching workflow. The accounts payable team now has a digital record of what was actually received — not just what the supplier said they shipped — before approving the invoice. The PO matches the supplier's claim. The delivery note extraction matches what arrived. If they don't align, payment is held with documented evidence.

FAQ

How accurate is handwriting extraction on delivery notes with dense annotations?

Accuracy depends on legibility. Clear handwritten corrections — circled quantities, "short 3," a printed name — are extracted reliably. Dense scribbles written on top of printed text, heavily smudged carbon-copy pages, or water-damaged documents will reduce accuracy. In practice, the workflow is designed so that you review flagged exceptions rather than every field: the AI extracts what it can from both layers, and the review step catches the edge cases that a human needs to interpret. This is still dramatically faster than manual keying every field from scratch.

Does this work when the handwritten notes are in a different language from the printed text?

Yes. Vision-language models read handwriting independently of the printed language. If the delivery note is printed in English but the receiving clerk annotated it in Spanish or French, the AI extracts both. The column names you define establish the semantic expectation — "Qty Received" tells the model to look for a numeric annotation near the printed quantity field, regardless of the language of the surrounding text.

Can the output distinguish between different types of handwritten annotations?

By defining separate columns for each annotation type — Qty Received, Damage Notes, Received By — you instruct the AI to extract each piece of information into its own field. The AI distinguishes a numeric correction from a textual damage note from a signature based on semantic context, not just location. If an annotation is ambiguous, the output field will be blank or uncertain, making it easy to spot during review.

What if the receiver didn't annotate anything — the delivery note is just signed?

In that case, the handwritten-layer columns (Damage Notes, Qty Received adjustments) will be empty, and the Status column will default to OK. A signed delivery note with no exceptions is treated as acceptance — which is exactly how it would be interpreted in a manual process. The difference is that the digital record now formally documents that no exceptions were noted at the dock, which is stronger evidence than "we lost the paper copy."

What documents can I process besides delivery notes?

The same two-layer extraction approach applies to any document where printed data and handwritten annotations coexist: packing slips with hand-marked verification checkmarks, proof-of-delivery forms with driver notes, goods receipt notes with inspector annotations, and inspection reports with field observations written over printed templates. The extraction mechanism is content-based, not template-based, so format changes across documents don't break the workflow.

The gap between what a supplier ships and what a warehouse receives has always existed. The difference now is that you don't have to choose which side of the delivery note to digitize. You extract both — printed shipment data and handwritten receiving confirmations — into one structured record, and you stop losing disputes because the evidence never left the paper.

Try it on a signed delivery note

📮 contact email: [email protected]