
Freight paperwork read, classified and reconciled automatically
Documents arrive in every format a shipping agent can invent. An agent reads them, reconciles them against bookings, and escalates what it cannot resolve.
Objective
DAX handles freight documentation that arrives as scans, spreadsheets and email text, in several languages and no consistent format. People were reading and keying it under deadline.
Automation was only acceptable if mistakes were visible and reversible — a wrong reconciliation is a customs problem, not a UX problem.
Solution
We scoped the task narrowly before building: classify, extract, reconcile against the booking, and stop. Anything outside that goes to a human queue with the trace attached.
Every tool the agent can call is typed and validated, with least-privilege credentials, hard caps on actions and an approval gate on anything irreversible.
Operations see a console of runs rather than a chat window: what was processed, what was escalated, what failed and why.
Outcome
The team spends its time on exceptions rather than data entry, and each exception arrives with the full trace instead of a summary.
Because every run is auditable, the failure mode is a queue item rather than a silent error.
What’s next
Extending the same pattern to customs classification, and an eval set built from historic edge cases.
“We can see exactly what it did, and that is why we let it run.”DAX — Doha ExpressOperations

