Skip to content

Logistics and transport

AI for freight that runs loaded and arrives when promised

We work from the empty return leg out of Plovdiv and the CMR photographed at the ramp in bad light, to the ENS that has to be accepted an hour before the border and the dock slot that decides whether a driver waits twenty minutes or three hours. Road freight runs on 2–5% margins, so we scope against hard-euro lines — toll per kilometre, detention per started hour, days to invoice — and we agree how each one will be measured before anything is built.

30 minutes with the engineer who would do the work — not a salesperson. No obligation, and you keep whatever we work out on the call.

Dispatcher on the phone with route maps on screen, loading bays behind him

The numbers this sector is run on

21.6%
of EU vehicle-kilometres run emptyEurostat 2024: 25.8% on national journeys against 12.6% on international, with a country spread from Denmark at 7.5% to Cyprus at 43.7%. Anyone quoting a single empty-miles number has not read the source.
60–90 min
target dwell for a live load at a facilityCongested sites routinely pass 180 minutes. Detention convention in Europe is a two-hour free window, then €50–100 per started hour — commercial practice priced in national transport conditions, not regulation.
+26%
EU diesel inside one quarter, Q1 2026Ti/Upply/IRU benchmark: €1.56 per litre at end-Q4 2025 to €1.96 at end-Q1 2026. Poland raised tolls 33% for a standard Euro VI combination in February 2026, and Eurostat puts Bulgarian road freight down 18.6% year on year — the sharpest fall of any member state. At 2–5% margins none of that is absorbable on volume, which is why every line we scope is a euro line.
502,000
unfilled truck driver positions in EuropeIRU 2025 survey — a 13% shortage rate, with roughly 660,500 European drivers retiring by 2030. Above roughly 25% annual turnover — normal for fleets running third-country drivers — anything that depends on driver training or habit change decays faster than it accumulates, which is why we build for zero-training interactions at the ramp rather than for coached behaviour.

What we build

Dispatcher working a route map on screen with a phone in hand

One ETA out of three kinds of telematics

Own trucks report through OEM portals on the ACEA rFMS API, subcontractors run aftermarket boxes, and the spot carrier has a phone. We normalise all three into one position and status model — OAuth2 bearer tokens, version pinned in the Accept header, 429 backoff, pagination by receivedDateTime — and state the ceiling first: rFMS 5.0.0 guarantees position only every fifteen minutes and status every sixty, which is roughly twenty kilometres of uncertainty at motorway speed. Most OEMs push more often than that, but the guarantee is what a customer contract can rest on, so the last leg into a 30- or 60-minute dock window has to come from driver-app pings rather than the OEM feed. We measure the observed interval per OEM in week one and tell you which windows your data can and cannot support.

  • rFMS 5.0.0, aftermarket telematics and driver-app pings joined into one event model
  • Per-lane calibration and a published prediction interval rather than a point ETA
  • Honest degradation: fewer pings widens the interval instead of inventing precision
Driver handing delivery paperwork across a warehouse counter

Freight documents that close the invoice

CMR, POD, packing list, invoice. Capture happens at the ramp behind an on-device quality gate, because a re-shoot costs the driver twenty seconds and a chase costs the office three days. Billing-critical boxes are cross-validated against the order — weight in tolerance, consignee matched, date inside the window — and only the low-confidence field reaches the exception queue, not the whole document.

  • CMR box-level extraction with per-field confidence and a typed exception taxonomy
  • eCMR and eFTI-track platforms where both the customer and the enforcement authorities on the corridor will accept electronic proof
  • Straight-through processing rate as the reported KPI, not extraction accuracy
Transport planner reading a printed route plan by a schedule board

Plans that are legal before they are dispatched

Regulation 561/2006 goes inside the solver as scheduling constraints, not into a checker that runs afterwards: 4.5 hours of driving before a 45-minute break, splittable 15 plus 30, with breaks pinned to verified parking rather than a motorway coordinate. Layered on top: the cabotage counter, the four-day cooling-off, the eight-week return-to-base clock for the vehicle and — the clock that actually shapes the plan — the driver’s return to the operational centre or place of residence every four weeks under Art. 8(8a) of 561/2006, or every three where two consecutive reduced weekly rests have been taken. Then posting triggers, ADR tunnel codes, axle limits, and toll priced at the corridor rate you actually pay.

  • Truck-attributed routing on PTV or HERE — weight, height, axle load, ADR codes B to E
  • IMI posting logic separating exempt bilateral and transit work from cabotage and cross-trade, with the driver-return cycle costed into the shift pattern
  • Planner acceptance rate as the headline project KPI, not kilometres saved in the solver
Worker scanning pallets at a loading dock with a truck backed in

Dock, yard and pick face

Slot length comes from predicted handling duration — pallet count, live load or drop trailer, that carrier’s own history — instead of a flat sixty-minute default, then gets levelled against the shift labour curve. Re-slotting is derived from order-line history and delivered as a trickle of moves that fit inside existing putaway and replenishment trips, capped at what a shift can absorb, and written back into your WMS tables rather than run as a parallel system. Where a warehouse benchmark helps we use WERC DC Measures — dock-to-stock under 3.5 hours best-in-class, order picking accuracy around 99.5% average and 99.7% best-in-class, average capacity used around 68% — while saying plainly that it is a US distribution-centre benchmark set, and a haulier will not have most of those numbers.

  • Slotting from line frequency, cube movement and affinity, inside weight and ergonomic rules
  • Task-interleaved move plans instead of a big-bang re-slot operations will refuse
  • Dwell measured gate-in to gate-out, so detention disputes are settled on evidence

Worked examples

These are designs, and the ranges we would contract against, drawn from published sector data — not Palamed results. The four systems we have actually delivered are on case studies.

Backhaul matching against a real empty-running baseline

Problem

Outbound moves on contract; the return leg gets covered by phone on TimoCom or Trans.eu inside the last twenty-four hours at whatever the spot market gives, and every dispatcher works their own regulars, so one corridor is covered three different ways. Nobody can state the empty-kilometre share, because the TMS holds planned trips, not realised vehicle-kilometres.

Approach

Rebuild the baseline outside the TMS first: realised vehicle-kilometres per unit from rFMS vehiclepositions plus DTCO card and mass-memory downloads, each segment classified laden or empty by joining to consignment records — the only route to a Eurostat-comparable number for your own fleet. Then a rolling matcher over the next seventy-two hours of committed deliveries ranks candidate return loads from exchange feeds and contracted shippers on contribution margin after toll and fuel, not on rate per kilometre, under remaining duty time, the three-in-seven cabotage counter with its four-day cooling-off, and the return-to-base clocks for both vehicle and driver. It lands as a ranked worklist inside the dispatcher’s existing screen, with the constraint that killed each rejected option printed next to it.

What we would target

A defensible empty-running number for the first time, then 2–5 percentage points off it on the addressed corridors within two quarters. On a hundred-truck international fleet at roughly 125,000 km per vehicle per year, three points is about 375,000 kilometres that move loaded instead of empty. Price that at your own contribution margin per loaded kilometre — not at toll, which the vehicle pays whether it runs full or empty. Where the reduction comes from cut repositioning legs rather than filled returns, the toll and the diesel genuinely do disappear, and we report the two mechanisms separately because they pay differently.

ETA and dwell prediction a customer can hold you to

Problem

The customer wants a two-hour window. Planned ETAs come off the TMS drive-time table and are wrong by hours after one border queue or a 45-minute break taken early. Dwell is not modelled at all, so a multi-stop route degrades steadily from the second drop onward and the afternoon calls start.

Approach

Short-haul and long-haul models split at 200 km, predicting a residual against a deterministic drive-time baseline rather than the arrival timestamp directly, with dwell as its own component — facility loading, paperwork, fuel and meal stops, and mandatory rest under 561/2006. Inputs are the normalised telematics stream, driver-app pings for the last leg, and per-facility handling history. We publish a prediction interval rather than a point, and recalibrate per lane.

What we would target

Quality reported per lane at two horizons — the planning window and the slot tolerance your customer actually books — as hit rate plus mean absolute error in minutes. project44 published +28 percentage points at a ten-hour horizon within ±2 hours from this architecture, with the error-correction layer alone credited with 8–10 and multi-stop dwell modelling with 35+; they do not publish the starting hit rate those points were added to, so the figure is a direction, not a promise, until yours is measured. Practically: fewer ‘where is my truck’ calls, and detention claims that survive a dispute because arrival evidence is timestamped.

Consignment note capture that closes the invoice

Problem

A delivered load cannot be invoiced until a signed CMR comes back. Drivers photograph them at the ramp in poor light — stamped, over-stamped, handwritten in Cyrillic and Latin, the delivery date scrawled across the consignee’s stamp. The back office re-keys references into the TMS and chases missing pages, so days-to-invoice, not the payment term, is what the paperwork controls — and it is the only part of days-sales-outstanding you can actually move.

Approach

Capture at the ramp through the driver app with an on-device quality gate that rejects blur, crop and glare before the driver walks away, because a re-shoot costs twenty seconds and a chase costs three days. Extraction targets the boxes that decide billing and liability — 1 to 4, 5, 6 to 12, 16, 21, 23 and 24 — each with its own confidence score, cross-validated against the order in the TMS for weight tolerance, consignee match and delivery date inside the planned window. Only clean documents auto-post; the rest go to a typed exception queue with the offending field highlighted, not the whole page. eCMR replaces the loop outright only where two conditions hold together: your customer accepts electronic proof, and every enforcement authority on the corridor does. Thirty-six states have signed the UNECE Additional Protocol, but signature is not operational readiness — Ireland, Austria and Croatia have no active project — and until 9 July 2027 an inspector in such a state can still demand paper. We map your top corridors against current national readiness before proposing it, and keep the photograph pipeline running on the lanes that are not ready.

What we would target

Straight-through processing in the 60–85% band on clean scans and 40–70% on ramp photographs, with days-to-invoice on the automated share dropping from five to ten days to under forty-eight hours. Where you factor receivables, the factor’s conditions govern: some still require the stamped original rather than an image, and we scope that constraint in phase zero rather than discovering it at go-live. IRU puts the European administrative prize from the paper-to-digital move at 75–102 million working hours a year, roughly 50,000 FTE.

ENS and transit declarations that stop failing at the border

Problem

Since 1 September 2025 an accepted ENS must exist at least one hour before the office of first entry, and thirteen member states — Bulgaria and Germany among them — allowed no derogation, so a Business Continuity Plan is not available to fall back on. Declarations are assembled by hand from a PDF invoice and packing list, and a missing six-digit HS code or a wrong office pairing returns an IE016 and a truck standing at the border while somebody re-files.

Approach

Move the failure from the border to the desk. Parse the commercial invoice and packing list on receipt, classify goods to HS with the model constrained to the customer’s own historical code set and an explicit low-confidence route to a human broker, then validate the whole declaration against the ICS2 and NCTS Phase 5 schemas before submission: EORI format and validity, office-of-transit and office-of-destination pairing against the current office list, the guarantee amount to be reserved that Phase 5 now requires inside the declaration, house consignment structure, and the six-digit commodity minimum. The one-hour pre-arrival clock runs as an operational countdown tied to live ETA, so dispatch sees the risk before the driver does. On Turkish and Western Balkan work the same desk files the TIR-EPD in advance rather than at the queue. Every IE016 is logged with its error code and fed back into the validation rules.

What we would target

Rejection rates driven into the low single digits and filing done hours rather than minutes ahead of the office of first entry. The value is not the clerical saving: a border stop on a time-critical automotive or retail load costs a full driver shift plus the missed delivery slot at the other end.

Dock slots from both sides of the ramp

Problem

If the dock is yours: sixty per cent or more of the day’s volume lands in the first three hours because everyone books early or simply turns up. Trucks queue, drivers burn duty time in the yard, warehouse labour is idle at 14:00 and drowning at 07:00, and the detention invoice arrives a month later and gets disputed because nobody kept arrival evidence. If the dock is not yours, the same problem arrives inverted: your customers’ windows are booked through Transporeon Time Slot Management, Cargoclix or Ontime, the good hours go first, and when a border queue means you will miss the slot you hold, nobody re-books it until the driver is already late.

Approach

Facility side — two coupled models. First, predicted handling duration per booking from load type, pallet count, case versus pallet pick, live load versus drop trailer, and that specific carrier’s history, so slot length reflects the work instead of a flat sixty-minute default. Second, an allocation that levels arrivals against the shift labour curve and door capacity, offers carriers a choice of incentivised windows rather than a dictated one, and re-books automatically when live ETA says the booking will be missed. Carrier side — automated slot acquisition and re-booking across the portals your customers actually use, Transporeon Time Slot Management, Cargoclix and Ontime, driven by live ETA, so a window that will be missed is released and re-booked before the driver is inside the geofence. Either way, geofenced gate-in and gate-out plus the driver app produce an auditable dwell record.

What we would target

Facility side, published ranges are 15–50% lower dwell and 40–60% lower detention fees inside a quarter, with throughput gains of 15–25%; the second-order effect is the one operators underrate, because a facility with predictable dwell becomes a preferred customer and gets quoted better carrier rates. Carrier side the measures are different: share of requested windows obtained, share of doomed windows re-booked before the ETA breach, and detention hours evidenced instead of written off.

Posted-driver remuneration and per-diem reconstruction

Problem

Every month somebody rebuilds it by hand — per driver, per country, per day — from DTCO card and mass-memory downloads: which movements were bilateral or transit and therefore exempt, which were cabotage or cross-trade and therefore posted, what host-state minimum remuneration applies, how much of the per diem counts toward it, and whether the IMI declaration on file covers the route actually driven. It takes days, it is the largest recurring admin load after CMR handling, and a French or German labour inspection is an existential event rather than a nuisance.

Approach

Classify every movement from DTCO downloads and rFMS positions against the bilateral and transit exemptions in Directive (EU) 2020/1057, apply the host-state minimum remuneration and the part of the per diem that counts toward it, then reconcile against the declarations actually submitted in the IMI portal and flag route-versus-declaration divergence before an inspector finds it. Payroll lines are written back into the accounting system instead of re-keyed, and every classification keeps the tacho evidence it was derived from attached to it.

What we would target

Payroll close in hours instead of days, and a defensible per-driver, per-country file the day an inspector asks for one. We do not claim the classification is never wrong; we claim every uncertain case sits in an exception queue with its evidence attached, which is the difference between an inspection and a fine.

Predictive maintenance bound to a bookable workshop slot

Problem

Trucks fail loaded, on a corridor, with a delivery slot booked at the other end. The workshop books on mileage intervals and on whatever the driver reports, while J1939 fault codes have been on the CAN bus for days or weeks before a telltale lights up on the dash — and nobody is reading them.

Approach

Stream J1939 diagnostic trouble codes with their Suspect Parameter Number and Failure Mode Identifier alongside rFMS uptime data — telltale state changes, coolant and HVESS temperatures, tyre pressure by position, axle loads — and score each unit’s risk of an unplanned event inside its next duty cycle. The prediction is the easy half. The hard half is the scheduling decision: given the truck’s forward workload, its position, workshop capacity and parts availability, is it cheaper to pull it into a depot window now or let it run? The alert is bound to a bookable slot, because an alert with no slot behind it gets ignored twice and then permanently.

What we would target

This is where the emergency-repair line in your cost model gets attacked: emergency work runs three to nine times the planned cost of the same job, and published fleet-maintenance figures put one unplanned roadside event at $450–760 per vehicle per day in direct cost and past $1,900 all-in. The same literature reports 30–50% less unplanned downtime for fleets running fault-code monitoring inside a booking workflow — published ranges from US and Western European fleets, not a Palamed result. We report avoided roadside events and the share of alerts that became a booked slot.

Fuel-card to telematics reconciliation

Problem

Fuel is 25–30% of cost per kilometre and it is audited on a spreadsheet. Card transactions from Eurowag, DKV, UTA, E100 or AS24 arrive in one file, tank levels and consumption sit in the telematics, positions in rFMS, driving time in the tachograph — and nobody joins them. Off-route refuelling, refuelling in an expensive domain when a cheaper one was forty kilometres ahead, and outright siphoning all look identical inside a monthly total.

Approach

Join every fuel-card transaction to the vehicle’s rFMS position and tank-level telemetry at the transaction timestamp, then flag the divergences: litres billed that the tank never gained, a transaction with no vehicle of yours within range, consumption drift per unit and per driver on the same route in the same season, idling as its own line, and refuelling at a price and in a domain the corridor plan did not call for. VAT and excise reclaim lines come off the same reconciled records instead of being assembled separately.

What we would target

A defensible litres per 100 km per unit and per corridor, a variance queue with a named owner instead of a suspicion, and the fuel component of your cost-per-kilometre model built from transactions rather than from an average. We report exceptions raised and exceptions closed, not a percentage saved — what the saving is depends entirely on what the exceptions turn out to be.

Systems we work with

We integrate with what you already run. If a platform below is missing, tell us — the pattern usually transfers.

TMS, visibility and freight exchanges

  • Transporeon (Trimble) and Sixfold
  • Alpega TMS (inet
  • TransIT)
  • Descartes Route Planner and Aljex
  • Oracle Transportation Management
  • SAP Transportation Management
  • Soloplan CarLo
  • project44
  • Shippeo
  • FourKites
  • Transporeon Time Slot Management, Cargoclix, Ontimedock slot booking
  • TimoCom
  • Trans.eu
  • Teleroute and Wtransnet
  • Cargopedia
  • 123cargo
  • BursaTransport

Vehicle data, telematics and tachographs

  • ACEA rFMS 5.0.0 (REST
  • OAuth2)
  • Scania Fleet Management
  • Volvo Connect
  • DAF Connect
  • MAN DigitalServices
  • Geotab
  • Samsara
  • Webfleet
  • Frotcom
  • Trimble Transics
  • SAE J1939 fault codes with SPN and FMI
  • Inelo Tachoscan and 4Trans
  • Stoneridge OPTAC3
  • VDO TIS-Web

Customs, borders and road charging

  • ICS2 via the EU Trader Portal
  • NCTS Phase 5 and 6
  • AES
  • AEB
  • Descartes Customs
  • MIC
  • Dakosy
  • CargoWise
  • IMI posting declaration portal
  • TIR Carnet and IRU TIR-EPD for Turkey and Western Balkans transit
  • Toll Collect
  • BGTOLL
  • e-TOLL
  • Go-Box
  • HU-GO
  • EETS on-board units
  • Eurowag, DKV, UTA, E100, AS24fuel and toll transaction data, VAT and excise reclaim

Warehouse, routing and optimisation

  • Manhattan Active Warehouse Management, Blue Yonder WMS, SAP EWM
  • Körber Warehouse Advantage
  • Mantis Logistics Vision Suite
  • Mecalux Easy WMS
  • PTV Developer
  • HERE Tour Planning
  • OSRM and Valhalla
  • Google OR-Tools
  • Timefold
  • PyVRP
  • HiGHS
  • EDIFACT IFTMIN
  • IFTSTA
  • DESADV over AS2 or SFTP

What we design against

2–5 pp
empty vehicle-kilometres removed on the corridors we addressA target we design against, not a Palamed result. The baseline is rebuilt from tachograph downloads and rFMS positions rather than the TMS, because a TMS records planned trips. Eurostat baseline: 12.6% empty on international work, 25.8% national — a halving is not on the table.
60–85%
straight-through processing on freight documentsPublished industry range for clean structured scans; photographed and handwritten CMRs run 40–70%. Measured as documents posted with zero human touch — not field-level extraction accuracy, which is always the flattering number and does not govern headcount.
±2 h at 10 hours out
the planning-horizon window we report ETA quality inTwo tiers, because they answer different questions. Planning horizon: hit rate within ±2 hours at ten hours out, while re-planning is still possible. Commitment horizon: hit rate inside the slot tolerance your customer actually books — typically 30–60 minutes at two to four hours out, the number that decides whether you keep the dock booking. We report both per lane, plus mean absolute error in minutes, against realised arrivals. project44 published +28 percentage points of hit rate at the planning window and horizon, against a deterministic drive-time baseline whose starting rate they do not disclose — which is why we measure yours before quoting a target.

Regulation and standards in scope

  • Regulation (EU) 2020/1056 (eFTI) — applicable since 21 August 2024, binding from 9 July 2027, when every competent authority in the EU must accept freight information submitted through a certified eFTI platform and may not demand a paper original. The delegated and implementing acts effective January 2025 fix the common data structure and the eFTI platform and service-provider roles. Thirty-six states have signed the UNECE e-CMR Additional Protocol, but national enforcement readiness is uneven — Ireland, Austria and Croatia have no operational project — so a corridor goes paperless only when every authority on it is ready.
  • ICS2 Release 3 and NCTS Phase 5/6 under the Union Customs Code — ICS2 has been mandatory for road since 1 September 2025, with the ENS lodged and accepted at least one hour before arrival at the office of first entry and no derogation at all in thirteen member states, Bulgaria and Germany among them. NCTS Phase 5 adds the six-digit HS minimum, the guarantee amount to be reserved declared inside the transit declaration itself, and the house consignment structure; a failed validation returns an IE016 with a specific error code.
  • Regulation (EC) No 561/2006 as amended by (EU) 2020/1054, with Regulation (EU) No 165/2014 on tachographs — 4.5 hours of driving before a 45-minute break, 9 hours daily extendable to 10 twice weekly, 56 weekly and 90 fortnightly, 11 hours daily rest reducible to 9 three times between weekly rests, and the regular weekly rest not to be taken in the cab. Directive 2002/15/EC runs a second clock on top of that one — a 48-hour average working week, a 60-hour cap in any single week and night-work limits — and on multi-drop work it usually binds before the driving limit does.
  • Smart Tachograph 2 records border crossings automatically by GNSS and requires Galileo OSNMA, operational since 24 July 2025. That ends manual country entry: cabotage counters and posting exposure are now evidenced from your own tachograph files whether or not you look at them. Retrofit ran to 31 December 2024 for analogue and older digital units on international work and to 18–19 August 2025 for Smart Tachograph 1 units; light commercials over 2.5 t in cross-border or cabotage work follow from July 2026.
  • The Mobility Package — Directive (EU) 2020/1057 on posting, where bilateral and transit operations are exempt while cabotage and cross-trade trigger an IMI declaration, and Regulation (EU) 2020/1055, capping cabotage at three operations in seven days with a four-day cooling-off and requiring the vehicle back to the establishment every eight weeks. The binding planning clock is the driver’s, not the truck’s: Art. 8(8a) of 561/2006 as amended requires the operator to organise the driver’s return to the operational centre or place of residence every four weeks, or every three where two consecutive reduced weekly rests have been taken.
  • GDPR Articles 88 and 35 with Article 5 of the EU AI Act — telematics location, speed, harsh-event, idling and login data is personal data once linked to a named driver, and workplace emotion inference has been prohibited outright since 2 February 2025, with Recital 18 naming driver fatigue detection as the permitted safety case.

Road freight runs on 2–5% margins, so we only ever count in hard euros.

What you are probably thinking

We bought route optimisation three years ago and got nothing out of it.

Usually true, and almost never the solver’s fault. The pattern is well documented: planners over-constrain the model so it reproduces last year’s routes, hand-correct the output at five to fifteen minutes an iteration, give up after a few attempts, and keep the licence as a kilometre calculator. Our first deliverable is a planner acceptance rate measured on the tool you already own. Below roughly 70% the problem is constraint modelling and master data, and we will name the fields producing the overrides — service times, appointment lead times, and gate geocodes sitting on the street centreline instead of the dock.

Our TMS vendor already sells an AI module.

Then buy it where it fits, and we will say so out loud. Transporeon, Descartes, Blue Yonder and Manhattan ship genuinely capable optimisation, slotting and visibility, and replacing them is rarely the good trade. What none of them does is span your specific seams: normalising three telematics sources into one ETA, reading your particular customers’ consignment notes, matching backhauls across your subcontractor network, reconstructing posted-driver pay from tacho files, or filing an ENS against your goods catalogue. We build in the seams and integrate through their APIs.

ETA accuracy claims are marketing.

Correct, whenever they are quoted as a bare percentage — ‘95% accurate’ with no window and no horizon cannot be falsified. We report hit rate inside a stated window at a stated horizon plus mean absolute error in minutes, per lane, against realised arrivals, and we give you the physical floor before we quote a target. ACEA rFMS 5.0.0 guarantees position only every fifteen minutes — around twenty kilometres of uncertainty at motorway speed. Most OEMs push more often, but the guarantee is what you can build a contract on, and it means the last leg into a 30-minute dock window has to come from driver-app pings, not from the OEM feed. We measure the actual observed interval per OEM in week one and tell you which windows your data can and cannot support.

Half our drivers are Ukrainian and Uzbek and they will not touch another app; and we do not have a DPO to ask.

Then adoption is the project, not the model. Adoption rate per depot is a tracked KPI with a threshold agreed before the pilot — below it the feature is wrong, not the drivers — every interaction stays under fifteen seconds, the app runs in the driver’s own language, and exceptions are typed events rather than free text, so nothing depends on writing in a second language at 02:00. On the legal side, with no DPO in the building the position still has to be written down, and we write it: telematics location, speed, harsh-event, idling and login data becomes personal data the moment it is linked to a named driver, so the design is aggregate and operational use, privacy mode for private running, a stated retention period, and a DPIA we produce and hand you. The EU AI Act has prohibited workplace emotion inference outright since 2 February 2025, with Recital 18 naming driver fatigue detection as the permitted safety case — that is the line we design to. If you have a German or French establishment, works-council consultation goes on the calendar before the pilot, because skipping it there is the fastest way to invalidate an otherwise sound project.

We are mostly cross-trade out of Bulgaria. Western case studies do not transfer.

They partly do not, and we will not pretend otherwise. Cross-trade is over 44% of Bulgarian sector activity, and the constraint set is genuinely different: the vehicle’s eight-week return-to-base clock and the driver’s four-week one, cabotage counters, posting declarations in several states on a single trip, a driver pool working in five languages, and border-queue variance nobody in Western domestic distribution models. Empty running is 12.6% on international work against 25.8% national — and ‘international’ bundles bilateral, cross-trade and cabotage, which behave differently; Eurostat’s own average distance per tonne is 722 km cross-trade against 604 km for international overall. Your cross-trade share needs its own baseline, which is the first thing the reconstruction produces. A saving built on German or UK distribution transfers badly, and we will not quote one at you.

When we are the wrong choice

  • Fleets under roughly twenty own vehicles or three hundred loads a month. The hard-euro lines are real but too small to cover an integration, and a well-kept spreadsheet plus a phone is genuinely the better spend for another year.
  • Anyone whose objective is driver scoring or behaviour surveillance. Workplace emotion inference has been prohibited since 2 February 2025 and we will not build to the edge of that line; fatigue detection under the Recital 18 safety carve-out is a different system with a different purpose and a different legal basis.
  • Operations with no system of record. If bookings live in a shared mailbox and a spreadsheet, phase one is choosing and populating a TMS or WMS — a job we would help you specify but would not sell you as automation.
  • Anyone who needs a freight reference to sign. We do not have one yet, and a fixed-fee baseline reconstruction with a kill criterion is what we offer instead of a case study we cannot show you.

Questions we get asked

We run 60 trucks, mostly international. Is that enough to be worth automating?

For backhaul matching, document capture and posted-driver reconstruction, yes — those scale with loads, paperwork and countries crossed rather than with fleet size. Dock and yard work needs a facility you actually control. Below roughly twenty own vehicles or three hundred loads a month the hard-euro lines rarely cover the integration cost, and we will say so on the first call.

Our TMS only holds planned trips. How would you get a real empty-kilometre baseline?

From outside the TMS. Realised vehicle-kilometres come from rFMS positions and tachograph downloads, and each segment is classified laden or empty by joining to consignment records. That reconstruction is often phase one on its own, because until it exists no reduction claim — ours or a vendor’s — can be checked by anyone.

What is the payback when we run at a 3% margin?

At that margin a euro of avoided cost is worth roughly thirty euros of new revenue, which is why we scope against hard-euro lines only, and only lines something on this page actually attacks: loaded-versus-empty kilometres at your own contribution margin, fuel variance reconciled against card transactions, detention at €50–100 per started hour, emergency repairs at three to nine times planned cost against a fault-code-to-workshop-slot pipeline, and days-to-invoice on unbilled PODs. The case is built in your own cost-per-kilometre model, and the measurement method is agreed before anything is built.

Do we have to replace our TMS or WMS?

No, and we would turn down a project that required it. The integration surface is well defined: EDIFACT IFTMIN and IFTSTA over AS2 or SFTP for the contractual flow, REST and webhooks for visibility, rFMS for OEM vehicle data, fuel-card exports from Eurowag, DKV, UTA, E100 or AS24, and your own WMS or TMS tables for slotting and master data. Hybrid EDI plus API normalised into one internal model is the current industry pattern, not a compromise.

Half our subcontractors have no telematics at all. What happens to visibility then?

That long tail is usually the actual project. Visibility platforms are strongest on contracted carriers who will integrate and weakest on small subcontractors, which in this region is most of the fleet. The workable answer is a driver app kept under fifteen seconds per interaction, typed exception events in the driver’s own language, and honest degradation — fewer pings widens the published interval rather than producing a confident wrong number.

We are in the middle of the ICS2 and eFTI transition. Can we take on anything else?

That is the window, not the obstacle. ICS2 Release 3 has been mandatory for road since 1 September 2025 with no derogation in Bulgaria, and the eFTI obligation lands on 9 July 2027, after which no authority may demand a paper original. Work planned now is compliance work you owe anyway; the same work in 2027 is emergency work at emergency prices.

Warm light ribbons on a dark field

Start with the empty-kilometre number you do not have

Thirty minutes with an engineer, not a salesperson. Bring one corridor and one month of trips, and we will tell you which number we would measure first and exactly how — realised vehicle-kilometres from tachograph and rFMS, dwell from gate timestamps, straight-through processing on your own CMRs, fuel-card lines joined to positions, or ETA hit rate per lane.

If the measurement says the loss is commercial rather than operational — bad lane pricing, not bad planning — we will tell you that and stop there.