CBAM QReport XML: what it is and how to generate it
The QReport XML is the machine-readable file you upload to the EU CBAM registry for a reporting period. It carries your declarant details, the imported goods, and their embedded emissions in the exact structure the registry expects.
What's inside a QReport
- Report header — reporting period, year, a report ID.
- Declarant — your company identification (EORI), name and address.
- Imported goods — per line: CN code, country of origin, quantity, and the emissions data (direct, indirect, total embedded emissions, specific embedded emissions).
- Remarks — optional notes (e.g. an audit note of the certificate price applied).
The official schema
The registry validates uploads against the official CBAM XML schema (XSD). If a field is missing, mis-typed, or out of order, the file is rejected. That's why generating the XML by hand is risky — a single wrong element fails the whole submission.
How to generate a valid one
The reliable approach is to let the tool build the XML from your calculated data and validate it against the EU schema before returning it, so an invalid structure can never leave the system. In practice: calculate your lines (from customs data and default values), enter declarant details, and export — you get a schema-valid QReport in seconds.
Common mistakes to avoid
- 8-digit CN codes are required for the registry — 6-digit HS codes won't do.
- Quantity units matter — convert kilograms to tonnes before you calculate.
- Keep evidence for any actual-data or carbon-price claims.
Related: How to file a CBAM report · CBAM default values · Pricing