CBAM

CBAM: How to Prepare the Quarterly Report from Odoo

The Carbon Border Adjustment Mechanism (CBAM) requires reporting imports of carbon-intensive goods every quarter. We explain what it is, who it affects and how to prepare the report from Odoo without living inside spreadsheets.

CBAM (the Carbon Border Adjustment Mechanism) is the European regulation that puts a price on the carbon embedded in certain imports. The underlying goal is to prevent 'carbon leakage': European industry, subject to the emissions trading scheme, competing with imports made outside the EU under less demanding standards.

Important: during the transitional period (until the end of 2025) CBAM was reporting-only. From 2026 the definitive phase applies, with the purchase of certificates. This article is not legal advice: always confirm dates and obligations with your customs authority.

Who it affects and which goods it covers

CBAM affects any importer established in the EU bringing in goods from six carbon-intensive sectors: iron and steel, aluminium, cement, fertilisers, electricity and hydrogen. Sector membership is determined by the commodity code (the CN code from the combined nomenclature), not by the product's commercial description.

Here is the first practical trap: if you buy steel fasteners or aluminium profiles from a non-EU supplier, it is quite possible you fall within CBAM scope even if nobody on your team associates it with 'carbon'. What governs is the CN code of the imported line.

What the quarterly report asks for

The report is filed each quarter in the Commission's CBAM Registry, usually within the month following the quarter's close. The upload format is structured (XML), so the real problem is not 'filling in a form' but having clean, complete and traceable data behind it.

Where this data lives in Odoo

The good news is that most of the information already lives in Odoo, scattered: purchases and receipts sit in purchase.order and stock.picking; country of origin and commodity code, on the product record; the supplier, in res.partner. What does not exist out of the box are the CBAM-specific fields (emissions per tonne, installation, carbon price paid) nor the logic that filters exactly what falls in scope.

The approach we follow is to add those fields where you already work (product and supplier), flag which CN codes are in scope, and let Odoo walk through the quarter's receipts to group quantities by code and origin. With that in place, the embedded-emissions calculation comes down to multiplying quantity by emission factor, and the report is generated straight from the ERP instead of being rebuilt by hand every three months.

CBAM module for Odoo 19See the module's focus, scope and screens Install from the Odoo App StoreOfficial module page on apps.odoo.com

What to watch before the first report

The honest message is this: CBAM is not a huge IT project, but it is a data discipline. If your purchases and product records are clean, the quarterly report is almost automatic. If they are not, no tool will fix that on its own, and the first quarter is exactly where you put that order in place.

Want to check whether CBAM affects you and how to handle it from Odoo?

We look at your CN codes, your origins and your receipts to tell you whether you are in scope and how to automate the quarterly report. Book a call via Calendly (calendly.com/flexigotech0) or call +34 616 809 504.

Talk to an engineer