}

The ISO 14083 carbon report per shipment has five data layers. A spreadsheet holds one of them.

By
Bodo Buschick
16/9/26
•
7 min
The ISO 14083 carbon report per shipment has five data layers. A spreadsheet holds one of them.

Since 1 June 2026 the EU has one method for transport emissions. Regulation (EU) 2026/1030 makes EN ISO 14083:2023 the required method. It applies to anyone who discloses the emissions of a transport service. Full application by the end of 2030. If you do not deliver a value per shipment today, someone will ask for it soon.

At the forwarders we talk to, the ISO 14083 carbon report is a spreadsheet. Someone in quality management pulls litres from the fuel card portal. Then kilometres from the telematics. Then shipments from the TMS. Then a factor goes on top. The result looks like a report. It is one layer of five. The other four are missing, and those are the ones the standard looks at.

What the standard actually asks for

Three requirements separate ISO 14083 from the old EN 16258. They are laid out in the guideline of the German Environment Agency on ISO 14083. It was written by ifeu and Fraunhofer IML, with the forwarders' association DSLV, in March 2024.

First, well-to-wheel. The standard counts the emissions from operating the vehicle and the emissions from producing the fuel. For diesel, table 17 of the guideline gives a total of 97.82 g CO2e per megajoule. Per litre that is about 3.5 kg CO2e (my own calculation from 42.8 MJ/kg and 0.832 kg/l). The tailpipe part alone is 75.26 g per megajoule. Use only that and you land almost a quarter too low.

Second, the whole rotation. A transport operation category should cover the complete vehicle rotation, the guideline says. Outbound, return and empty runs. The empty return leg belongs, in shares, to every shipment on the outbound leg. For collection and delivery rounds, the emissions of the round are split across the shipments. The key is tonne-kilometres. That needs a freight mass and a distance per shipment.

Third, data quality. The standard knows three levels. Primary data, meaning measured consumption (a litre is a litre). Modelled data. And default values. Defaults are allowed when nothing else exists. But the report has to state where they were used. The line "secondary data used for" is mandatory. In the spreadsheets we see, it is almost always missing.

ISO 14083 carbon report: the five layers in build order

This is how we build the data flow in a logistics project. The order is not a preference. Each layer needs the key of the one before it.

Layer 1 is the vehicle master. Plate, vehicle type, fuel, CO2 emission class. This layer feeds two things at once: the report and the toll. Toll Collect puts every vehicle without proof into CO2 class 1, the most expensive one. The CO2 share of the German toll is not small. For a five-axle truck above 18 tonnes it is 15.8 cents per kilometre in class 1 and 7.9 cents in class 4 (rates since 1 December 2023). Since 1 July 2026, stricter reference values apply. We checked one fleet for a toll reconciliation. In the fleet lists we see, the CO2 class is often maintained for only part of the vehicles. The rest pay class 1 and sit in the report with a default value. Two problems, one record.

Layer 2 is consumption. The fuel card delivers date, time, station, litres, fuel type, plate or card number. It is the primary source for consumption, and it is a good one. It just does not know what the fuel was used for. A fill-up on Monday covers trips until Wednesday. The link to individual trips comes from layer 3.

Layer 3 is movement. The telematics deliver positions, kilometres, ignition on and off. From that come trips with start, end, distance and time. The key to the fuel card is the plate plus a time window. The data flow spreads the litres of one fill-up across the kilometres until the next one. Empty runs become visible here: trips with no shipment in the TMS. They stay in the rotation and get their share, as the standard requires.

Layer 4 is the shipment. The TMS delivers order, weight, loading point, unloading point and the tour the shipment travelled on. Weight and distance give tonne-kilometres. For collection rounds the guideline uses a notional distance per shipment. Loading point to unloading point, not the actual route. The emissions of the tour are allocated across those tonne-kilometres. This is where a number per truck becomes a number per shipment.

Layer 5 is the report. Every shipment gets a value in kg CO2e. Plus the factor behind it and the empty-run share. Plus the data level: primary, modelled or default. The customer report under ISO 14083 is a query on this table, filtered by customer and month. It comes out of a query, not out of a build.

IDS Logistics shows that this works in production. Since 2025 the German groupage network calculates the emissions of all national shipments. Every night. Under ISO 14083, from primary data and defaults, with EcoTransIT World and the Fraunhofer REff tool. The number is there in the morning. Nobody builds it.

Where the data flow breaks, and what the protocol does then

The data flow itself is quick to build. The time goes into the gaps. Three of them show up in every project.

The fill-up without a trip. A fuel transaction where the telematics know no movement in the time window. Device off, driver card not inserted, vehicle swapped. The litres are real, the link is missing. The data flow does not spread them silently over the next rotation. It puts them in a review list with a reason. Dispatch sees it in the morning: litres, plate, Tuesday, no trip found.

The empty-run share that is wrong. The TMS knows one tour, the telematics show two trips. Then one of them is empty or booked wrong. That is a line in the review list too. (Usually it is the return leg that never existed in the TMS, because nobody dispatched it.)

The missing CO2 class. No class, no specific factor. The data flow takes the default, writes "secondary data" on the shipment, and reports the vehicle to fleet management. Once the class is entered, the next night calculates with the real value. And the toll gets cheaper.

An honest caveat: the rules under the regulation are not finished. The EU databases for default values are still to come, and the Commission is working on the detailed acts. According to the IRU, the primary data obligation applies only to large operators in domestic transport. Small companies are exempt from verification. What a shipper demands in a contract is a different matter. And that matter arrives faster.

Why the shipper asks, even though he no longer has to report

After the Omnibus, the CSRD applies only above 1,000 employees and 450 million euros in revenue. Most forwarders sit below that. Their customers in industry and retail do not. They need Scope 3 values for their transports, and they get them from the forwarder. The request arrives as a spreadsheet template by mail. (Always by mail. Always a different template.)

Whoever has the five layers fills the template from one query. Whoever does not starts at layer 2 every time and guesses at layer 4.

Tools

A daily export from the fuel card portal. A pull from the telematics via the vendor's interface. An export of tours and shipments from the TMS. One table per layer, one key between them. A script that runs the allocation and writes every gap with a reason. A monitor that counts the runs and alerts when they stop. None of this is new. What is new is that the order is fixed and the gaps have names.

The ISO 14083 report from fuel card and telematics is a build of a few days for us. If you want to see the data flow on your own data, ask for the process check. You name the fleet, we show you the review list.