The problem
RO e-Transport (the ANAF cousin of e-Factura, for goods in motion) is the regulation every Romanian forwarder was promised would be „clarified next quarter" for two years running. By spring 2026 the grace period was over: every internal and international shipment of high-fiscal-risk goods needs a UIT code generated in ANAF before the truck leaves the warehouse, declared again on entry through the border, and reconciled to the e-Factura at delivery. Miss any leg and ANAF fines the transporter between 5,000 and 100,000 RON per breach — plus the truck sits at Nădlac, Borș, or Giurgiu until the paperwork is fixed.
Our client moved 5,400 international loads a year out of Timișoara on a fleet of 62 trucks, most of them on the Italy–Spain–Germany triangle with a side of UK and Turkey. The dispatch team (eight people on rotating shifts) was supposed to generate the UIT, attach the CMR, file the customs declaration in DTI for non-EU legs, push e-Factura on the freight invoice, and keep the driver informed in whatever language the driver actually spoke — Romanian, Moldovan, Ukrainian since 2022, plus a Polish subcontractor pool that grew when EU diesel prices spiked.
In Q1 2026 the dispatcher attrition broke them. Two seniors quit within three weeks of each other, citing „nu mai pot la 11 seara să scriu UIT-uri". The juniors who replaced them generated UITs with the wrong NC8 commodity code (the 8-digit EU customs nomenclature), mislabeled „grup mărfuri" on Annex 2 cargo, and forgot the post-delivery confirmation in 14% of shipments. ANAF noticed. Fines for the quarter hit €112,000. Three trucks were detained at the Hungarian border on a single weekend in March, costing €18,400 in demurrage, lost loads, and one client account.
The forwarder's TMS (a 2019 install of TimoCom + a custom dispatch app) did not talk to the ANAF RO e-Transport API. Everything was copy-paste between five tabs. Drivers received their CMR and UIT on WhatsApp, on a private dispatcher's phone, with photos that got lost when the phone restarted. When a customs officer asked the driver to „arată codul UIT" at the border, half the time the driver scrolled WhatsApp for six minutes looking for it.
What we built
By Q1 2026 the pieces had finally arrived. ANAF stabilized v2 of the RO e-Transport REST API (with a real OAuth flow, not the old certificate dance), the EU Customs single-window started accepting structured POST submissions for DTI, and OpenAI's smaller models got good enough to read a scribbled CMR from a phone photo at the loading bay without sending it back to a human for cleanup. We bolted all of it onto the forwarder's existing TMS as a single AI dispatch agent — no rip-and-replace, no „transformare digitală" pitch, just the seven things that used to live in eight tabs, collapsed into one workflow.
The dispatch team kept their TimoCom seats and their phone numbers. We replaced the typing, the chasing, and the 11 p.m. UIT writing.
- ANAF RO e-Transport agent: pulls the load from the TMS, validates HS/NC8 codes against the latest ANAF Anexa 2 list, generates the UIT through the official API, prints a QR code into the driver's CMR pack, and re-files on partial changes (route, plate, trailer swap) within 60 seconds — average time from booking to valid UIT dropped from 11 minutes to 84 seconds
- Driver WhatsApp / Viber concierge in 4 languages (RO/RU/UA/PL): the agent pushes the UIT, the CMR PDF, customs notes, and border ETAs to the driver's phone, then answers „unde e codul UIT?" in their language with a one-tap copy — even mid-route at 3 a.m.
- CMR auto-reader: when the driver photographs the wet-signed CMR at loading, the agent extracts shipper, consignee, weight, packages, and load type, cross-checks against the order, and flags any mismatch before the truck pulls out — caught 91 mis-loaded shipments in 90 days that would have triggered an ANAF re-declaration
- Customs DTI auto-filer: for non-EU legs (UK, Turkey, Moldova, Serbia), the agent pre-fills the customs declaration from the order + commercial invoice + AEO data, queues it in the customs broker portal, and watches for green/yellow/red channel decisions — average customs clearance fell from 47 minutes to 12 at Borș/Nădlac
- Border-stop early-warning: the agent reads driver GPS plus border-crossing wait-time feeds from BorderCrossing.eu and Frontex, and reroutes a truck to a less-congested crossing when delay exceeds 90 minutes — saved an estimated 380 truck-hours in Q2
- Voice agent for the dispatcher hotline: when a driver calls the dispatch number from the cab, the AI answers in the driver's language, looks up the load, reads the UIT aloud, and handles 78% of calls without ringing a human — escalates anything that smells like a problem (accident, customs hold, broken seal) with full context to the on-call dispatcher
- e-Factura back-stitch: when the freight invoice goes out, the agent ties it back to the original UIT and CMR, files it in ANAF SPV, and matches the inbound payment from the shipper within 48 hours — overdue receivables dropped 31%
- Subcontractor onboarding: the forwarder uses ~40 owner-operator subcontractors; the agent runs the AEO/ANAF risk check, validates licenses and insurance, and lifts the new subcontractor into the dispatch pool in under 20 minutes (was 2–4 days)
- Dispatcher dashboard: live „what could fail in the next 4 hours" view — shipments without a UIT, borders ramping up to a delay, drivers off-route, customs paperwork going stale — replacing the eight Chrome tabs the team used to monitor by eye
The results after 90 days
Across 38,000 UIT codes generated between March and May 2026, ANAF rejected exactly four — and all four were resolved by the agent inside 9 minutes, before a truck even started loading. The €112,000 first-quarter fine bill collapsed to €1,840 in the second quarter, almost entirely from edge cases on subcontractor loads that the agent now blocks before dispatch. Border stops, which had cost €18,400 in March alone, hit zero in April and zero in May.
The dispatcher team went from 8 rotating seats to 5. Not from layoffs — three internal transfers, one into client-relationship work and two into a new long-haul planning role that nobody had time to staff before. The remaining dispatchers stopped working past 7 p.m. on weekdays, full stop. The owner's number of „nu mai pot, demisionez" Sunday-night messages from staff went from 4 in Q1 to 0 in Q2.
The driver side was the biggest cultural shift. Drivers stopped phoning the dispatcher line for UIT lookups (the voice agent handles it in their language, faster), CMR loss complaints dropped from 22 per quarter to 1, and the forwarder added a small driver retention bonus paid out of the savings — turnover on the long-distance pool, which had been running at 41% annually, fell to 19%.
The unexpected upside was new business. Two larger forwarders started subcontracting Italy–Spain legs to our client because the UIT and CMR paperwork came back clean, on time, and in a structured format their own dispatch could just ingest. That single channel added €280K of revenue in the first quarter of operation — pure margin, because the agent was already running the volume.
What we'd do differently
We initially gave the agent permission to auto-correct an NC8 code if it disagreed with the dispatcher's pick. Two weeks in, ANAF flagged a batch for „commodity reclassification" on a Turkish leg where the agent had „helpfully" switched a textile code that, on paper, was an upgrade but in practice triggered a different customs duty bracket. We changed the policy: the agent suggests, the dispatcher approves, and any NC8 change auto-attaches a one-line justification that satisfies an audit two years later when nobody remembers.
We learned the hard way not to auto-resolve driver disputes. A driver claimed a missing pallet at delivery; the agent, reading the GPS and seal data, replied „seal intact, weight matches, no missing pallet" — which was technically right but landed in a WhatsApp thread with a customer the salesperson had been smoothing for six weeks. We added a hard rule: any driver-vs-customer conflict goes to a human, no matter how confident the data is. The agent prepares the evidence file. A person delivers the verdict.
Last lesson, the same one we learn on every Romanian deployment: never automate the relationship with ANAF inspectors. The agent files; the partner signs. When an inspector calls or shows up at the warehouse, a person answers and a person walks them through the system. That five-minute conversation is worth more than any audit defense the agent could draft, and we have not had an ANAF inspector leave unhappy since.
"Last year a single bad weekend at Nădlac cost us €18,000 and a client. This year we ran 13,400 loads through that border with zero stops. The dispatchers actually go home on Friday."
— General manager & co-owner, freight forwarder