Projects

AI e documenti

DDT Scan

Lettura di DDT e CMR ittici, riconciliazione delle anagrafiche e revisione delle eccezioni.

In produzione

Role

Product and development

Year

2026

Context

Fish logistics and transport documents

  1. Every day DDT and CMR documents come in: senders, recipients, destinations, document numbers, weights. They were read on screen, copied by hand, checked against the internal master data.

  2. Reading the document and recognising the companies were two separate jobs, both manual, both done under pressure while the PDFs kept arriving.

    No certainty over who was really the seller and who was only the carrier.

    Weights copied by eye, names that didn't match the internal codes.

  3. Let a vision model read the sheet, and keep company identity out of it: a deterministic table, not the model's memory.

  4. An n8n pipeline: PDFs land on a Samba share, PaddleOCR rasterises the pages, GPT extracts the printed fields. Flask applies the mappings (name and VAT number → internal code), checks that net weight matches the lines, and learns the associations when you validate.

    Exceptions-first dashboard: conflicts, new names, weights that don't add up.

    Excel export.

    Windows client on WebView2.

    Docker behind Caddy on the LAN.

  5. The flow closes itself: the document that was read is already on the day's list, with the right codes. You only intervene where the sheet and the master data don't match.

  6. The model has to copy what's on the paper, not invent who the company is. Treating master data as the source of truth, and extraction as reading, made everything around it reliable.

Stack

n8n · PaddleOCR · OpenAI · Flask · Docker · WebView2