How to file a CBAM report: step by step
Filing a CBAM report comes down to four steps: get your import data, calculate the embedded emissions, produce the official XML, and submit it. Here's how to do it cleanly for a quarter.
Step 1 — Gather your import data
Pull the line items for the reporting period from your customs broker or ERP: CN code, quantity, and country of origin for each import. A CSV or Excel export is ideal. If you have verified emissions data from the producer, keep it handy — it lowers your liability and skips the default-value mark-up.
Step 2 — Calculate embedded emissions
For each line, embedded emissions = mass × specific embedded emissions (SEE). If you don't have verified data, use the EU default values for that CN code and country — the tool looks them up and applies the correct 2026–2028 mark-up automatically. Any carbon price already paid abroad can be deducted once, with evidence (Article 9).
Doing this by hand across many lines is error-prone. A bulk importer lets you upload the whole customs export and calculates every line at once, flagging any rows that need fixing.
Step 3 — Generate the QReport XML
The submission itself is the official EU QReport XML. Enter your declarant details (company, EORI, address), confirm the goods lines, and generate. A good tool validates the file against the official EU schema before handing it to you, so it can't be rejected for structure.
Step 4 — Submit to the registry
Log in to the EU CBAM registry (or hand the file to your declarant) and upload the QReport XML for the period. Keep your evidence — price provenance and any actual-data documentation — for audit.
How long does it take?
For a mid-sized importer using default values, expect about one to two hours in-app once your data file is ready, and less in later quarters once your export and column mapping are set up.
Related: CBAM default values explained · CBAM QReport XML · FAQ