Build a CBAM Quarterly Report (Transitional Registry XML)
Skill: Convert imported-goods embedded-emissions data into the CBAM quarterly report
Region: European Union (EU-wide) Category: Customs / Environment — Carbon Border Adjustment Mechanism (Regulation (EU) 2023/956) Does: Takes data on imports of CBAM-covered goods (cement, iron & steel, aluminium, fertilisers, hydrogen, electricity) and their embedded emissions, and produces the CBAM quarterly report uploaded to the CBAM Transitional Registry as the XML import file (the registry's communication template) lodged by the reporting declarant. Standard: Regulation (EU) 2023/956 + Implementing Reg. (EU) 2023/1773 · CBAM Transitional Registry XML schema
During the transitional period, importers (reporting declarants) file a quarterly CBAM report within one month of quarter-end declaring imported quantities and embedded direct/indirect emissions per good, by CN code and country of origin. The definitive regime (certificates) phases in from 2026. This skill builds the registry's XML upload; values can also be keyed manually. Confirm the current schema/version and the emissions-determination rules before generating.
When this applies
- You are the reporting declarant (importer or indirect customs representative) importing CBAM goods into the EU customs territory above the de-minimis.
- Quarterly: e.g. Q1 (Jan–Mar) due 30 April; report covers goods released for free circulation that quarter.
- Emissions are determined using actual data or, where permitted, default values.
Input data required
| Group | Fields |
|---|---|
| Declarant | EORI, name, the reporting period (year + quarter) |
| Imported good | CN code (8-digit), commodity/aggregated goods category, country of origin, customs procedure |
| Quantity | net mass (tonnes) or MWh (electricity), per import |
| Installation | operator name, installation ID, country, geo-coordinates (where known) |
| Embedded emissions | direct and indirect specific embedded emissions (tCO2e/t), determination method, emission factors |
| Carbon price | any carbon price due/paid in the country of origin (rebates) |
Document structure (CBAM XML)
QReport (registry communication template)
├── ReportingPeriod (year, quarter)
├── Declarant (EORI, identification)
└── ImportedGoods ...
├── CNCode / CommodityCode / CountryOfOrigin / Quantity (net mass or MWh)
├── ProductionInstallation (operator, id, country, coordinates)
└── EmissionsData
├── DirectEmissions (specific embedded, method, emission factor)
├── IndirectEmissions (specific embedded, electricity consumed, factor)
└── CarbonPricePaid (amount, currency, applicable form/period)
Calculation rules
- Embedded emissions per import = quantity × specific embedded emissions (direct + indirect) for that good and installation.
- Direct emissions from the production process; indirect emissions from electricity consumed in production (use the relevant electricity emission factor).
- Aggregate per CN code × country of origin × installation for the quarter.
- Report any carbon price actually paid in the origin country (to be netted in the definitive regime).
- Use the default values published by the Commission only where actual data are unavailable and permitted.
Worked example (one steel import, outline)
<QReport xmlns="urn:eu:cbam:transitional-registry">
<ReportingPeriod><Year>2026</Year><Quarter>1</Quarter></ReportingPeriod>
<Declarant><EORI>DE1234567890123</EORI><Name>Import GmbH</Name></Declarant>
<ImportedGoods>
<CNCode>72081000</CNCode>
<CommodityCategory>Iron and steel</CommodityCategory>
<CountryOfOrigin>IN</CountryOfOrigin>
<Quantity unit="t">500.000</Quantity>
<ProductionInstallation>
<OperatorName>Example Steel Ltd</OperatorName>
<InstallationCountry>IN</InstallationCountry>
</ProductionInstallation>
<EmissionsData>
<DirectEmissions specificEmbedded="1.85" unit="tCO2e/t" method="actual"/>
<IndirectEmissions specificEmbedded="0.35" unit="tCO2e/t"/>
<TotalEmbeddedEmissions unit="tCO2e">1100.000</TotalEmbeddedEmissions>
<CarbonPricePaid amount="0" currency="EUR"/>
</EmissionsData>
</ImportedGoods>
</QReport>
(Total embedded = 500 t × (1.85 + 0.35) = 1,100 tCO2e.)
Validation checklist
- Reporting period (year + quarter) and declarant EORI correct
- Each good: 8-digit CN code, country of origin, quantity (t or MWh), customs procedure
- Direct and indirect specific embedded emissions with determination method; defaults only where allowed
- Installation details provided where known; carbon price paid declared
- Totals reconcile (quantity × specific emissions); validates against the CBAM Registry XML schema
- Filed in the CBAM Transitional Registry within one month of quarter-end
Last updated: 2026-06-04 — confirm the active CBAM Transitional Registry XML schema, CN-code scope, default values, and the transitional-vs-definitive-regime rules against the current European Commission (DG TAXUD) specifications before use.