HS Code CBAM for U.S. Importers: Map HTS to EU CN

HS Code CBAM for U.S. Importers: Map HTS to EU CN

CBAM coverage is determined entirely by the EU Combined Nomenclature (CN) codes listed in Annex I of Regulation (EU) 2023/956. Your U.S. Harmonized Tariff Schedule (HTS) number is the starting point, not the answer. The first thing you need to do is extract the first six digits of your HTS code, then search the TARIC database to confirm the matching EU CN code and check it against Annex I.
Before you go further, pull together three things:
- Your current HTS code (10-digit) from your commercial invoice or customs entry, or your best-known HS (6-digit) if you don’t have the full HTS
- Your commercial invoice or product specification sheet, including material composition and processing method
- Any supplier or process information relevant to how the goods were manufactured, since embedded emissions data will be required for the declaration
Table of Contents
- How do HS, CN, HTS, and TARIC codes relate to each other?
- How do you find the CN code that determines CBAM coverage?
- How do U.S. importers map HTS codes to EU CN codes for CBAM?
- How automation speeds up HS/HTS to CN mapping for CBAM compliance
- How CN codes connect to carbon emissions reporting under CBAM
- Are CN codes changing because of CBAM?
- Common errors in CBAM HS code classification
- What about goods that aren’t explicitly listed in Annex I?
- Key Takeaways
- What the classification process actually teaches you
- CarbonOps turns your CN codes into filed declarations
- Authoritative sources and tools for CN code verification
How do HS, CN, HTS, and TARIC codes relate to each other?
The global classification system is layered, and each layer adds digits for a specific jurisdiction’s purposes. Understanding where each code sits tells you which database to use and why the EU’s extra digits matter for CBAM.
The Harmonized System (HS) is maintained by the World Customs Organization and provides the universal 6-digit foundation. Every country that uses HS-based classification shares those first six digits, which is why your U.S. HTS code and an EU CN code will always agree at the 6-digit level.
| Code system | Digits | Jurisdiction | Primary use | Where to look |
|---|---|---|---|---|
| HS | 6 | Global (WCO) | International trade statistics, treaty negotiations | WCO / trade.gov |
| CN | 8 | EU | EU import/export declarations, CBAM Annex I | TARIC database |
| TARIC | 10 | EU (imports) | EU import measures, duties, CBAM document codes | TARIC database |
| HTS | 10 | United States | U.S. customs entries, duty rates | USITC HTS |
CBAM uses CN codes (8 digits) and sometimes 4-digit HS headings in Annex I. A 6-digit HS code alone is not sufficient for CBAM verification because the EU may distinguish between two CN codes that share the same HS 6-digit root. For example, two products with the same HS 6-digit prefix might land in different 8-digit CN codes, one of which is listed in Annex I and one of which is not.
The CBAM Guidance Document for EU importers confirms this directly: CN codes are 8 digits (with the first 6 matching HS), Annex I lists codes at 4, 6, or 8-digit specificity, and a 4-digit heading listing means all CN codes under it are covered.
TARIC adds a 10th digit for EU-specific import measures, including the CBAM document codes that become mandatory from January 1, 2026. The TARIC database is the authoritative place to confirm both the CN code and any associated CBAM measures for a given product.
How do you find the CN code that determines CBAM coverage?
The workflow is straightforward once you know the sequence. Here’s the process compliance teams and customs brokers use:
- Start with your product description and HTS code. Pull the 10-digit HTS from your entry documents using the USITC HTS search tool. If you don’t have an HTS yet, classify the product under U.S. rules first.
- Extract the first six digits. Those six digits are your HS code and are identical to the first six digits of the EU CN code. This is your bridge between the U.S. and EU systems.
- Search the TARIC database using those six digits. TARIC will return the matching CN codes (8-digit) and any TARIC measures attached to them. Review the CN text descriptions carefully, not just the numbers.
- Check Annex I. Compare the CN code(s) returned by TARIC against the Annex I list. Remember: if Annex I lists a 4-digit heading, every CN code under it is in scope. If it lists an 8-digit code, only that specific code is covered.
- Review the CN explanatory notes. The textual description of a CN code often contains essential characteristics that determine classification. A product’s material composition, processing state, or intended use can shift it from one CN to another.
Common mistakes to avoid:
- Treating the 6-digit HS as the final answer. It isn’t. Two products sharing an HS 6-digit prefix can land in different CN codes with different CBAM status.
- Scanning Annex I only for 8-digit matches and missing the 4-digit heading entries that sweep in broader coverage.
- Ignoring CN explanatory notes. The numeric code alone doesn’t always resolve ambiguous cases.
- Classifying by product name rather than material composition and processing state, which is how CN classification actually works.
Pro Tip: When classification is genuinely ambiguous, request a binding tariff information (BTI) ruling from the relevant EU customs authority before you file. A BTI is legally binding for three years and gives you a defensible classification record. Don’t wait until a declaration is under review to resolve an uncertain CN.
How do U.S. importers map HTS codes to EU CN codes for CBAM?
The logic is clean: your HTS 10-digit code and the EU CN 8-digit code share the same first six digits. The last four digits of HTS are U.S.-specific subheadings that have no direct equivalent in the CN system. So the mapping always runs through the HS 6-digit midpoint.
Here’s the practical approach:
- Look up your HTS code in the USITC HTS database and note the full 10-digit number.
- Extract digits 1 through 6. That is your HS code.
- Enter those six digits into the TARIC search. TARIC will show you the CN codes (8-digit) that share that HS root.
- Read the CN text descriptions for each candidate code. Match your product’s material, form, and processing state to the correct CN.
- Confirm the matched CN against Annex I. If it appears, or if its 4-digit heading appears, the product is in scope.
- Document your decision with the evidence you used: invoice, technical spec, TARIC search result, and any supplier confirmation.
The table below shows the mapping record a compliance team should maintain for each product line:
| Field | What to record |
|---|---|
| HTS (10-digit) | Your U.S. customs entry code |
| HS (6-digit) | First six digits extracted from HTS |
| Candidate CN code(s) | 8-digit codes returned by TARIC search |
| TARIC note / CN text | Key phrase from CN description that confirms the match |
| Annex I status | In scope / out of scope / 4-digit heading applies |
| Evidence on file | Invoice, spec sheet, BTI ruling, supplier confirmation |
| Date of classification | When the determination was made |
Keep this record for each SKU or product category. CN codes can change with annual CN updates, so the date column matters when you’re reviewing prior filings.
How automation speeds up HS/HTS to CN mapping for CBAM compliance
Manual CN mapping across dozens of product lines is where compliance teams lose the most time. An automated workflow changes that significantly.
A well-built automation handles the following sequence:
- Ingest your HTS or HS code list alongside supplier data (facility, production route, emissions factors)
- Normalize product SKUs and resolve duplicates or variant descriptions to a single canonical classification
- Map each HS 6-digit to candidate CN codes using TARIC concordance lookups, then apply CN text matching to select the correct 8-digit code
- Flag exceptions: codes where multiple CN candidates exist, where Annex I coverage is ambiguous, or where a binding ruling is on file
- Attach supplier-specific embedded emissions or apply the Commission’s published default values per CN code when supplier data is absent
- Generate a declaration draft in the format the CBAM registry expects, with full audit trail
For the automation to hold up under scrutiny, a few things matter beyond the mapping logic itself:
- Stable mapping rules with version control. CN codes update annually. Your mapping table needs a version date and a process for reviewing changes each January.
- Separate exception queues. Codes flagged for ambiguity or binding ruling review should not flow through the standard pipeline. They need a human decision before the declaration is finalized.
- Export completeness. The CBAM registry requires CN code, net mass, country of production, embedded emissions (direct and indirect), and verification evidence. Any automation that doesn’t export all five fields will create gaps you’ll have to fill manually.
CarbonOps handles this workflow in four steps: connect (enter shipments with HS code, mass, and origin), monitor (track quarterly declaration status), optimize (apply EU default values where supplier emissions are missing), and export (generate the declaration in the EU transitional CBAM registry format, retained with filing history). The platform validates supplier data at intake and keeps a complete audit trail, which matters when declarations are reviewed.
How CN codes connect to carbon emissions reporting under CBAM
The CN code isn’t just a classification label under CBAM. It’s the key that unlocks the entire emissions calculation framework.

Each CN code in Annex I is associated with a specific goods category, and each goods category has a defined methodology for calculating embedded emissions. The methodology specifies which emissions are counted (direct, indirect, or both), what the system boundary is (which production processes are included), and which default values apply if supplier-specific data isn’t available.
That means two products with different CN codes, even if they look similar, can have entirely different emissions reporting requirements. Flat-rolled steel and steel tubes share Chapter 72 but may have different CN codes, different default emission factors, and different reporting methodologies. Getting the CN code wrong doesn’t just create a classification error. It produces a declaration built on the wrong emissions framework.
The Commission’s default values spreadsheet is organized by CN code for exactly this reason. Each row corresponds to a specific CN code and lists the default embedded emissions value in tonnes of CO₂ equivalent per tonne of product. If you’re using defaults, the CN code determines which row you use.
Are CN codes changing because of CBAM?
The CN itself is updated annually by the European Commission, independent of CBAM. Those updates can add, remove, or restructure 8-digit codes, and any change to a CN code that appears in Annex I has direct compliance implications.
CBAM has not driven wholesale restructuring of the CN, but the implementation of the definitive phase from January 1, 2026 has prompted the Commission to introduce TARIC document codes specifically for CBAM. These are not changes to CN codes themselves but additions to the TARIC measures layer (the 10-digit level) that attach CBAM obligations to specific CN codes at the point of customs entry.
What this means practically: you need to re-verify your CN code assignments at the start of each calendar year against the current CN edition. A code that was correct in 2024 may have been renumbered or restructured in the 2025 or 2026 CN update. The TARIC database always reflects the current CN edition, so running your codes through TARIC at the start of each year is the simplest way to catch changes before they affect a filing.
The CBAM FAQ also notes that the Commission may expand the scope of CBAM to additional sectors in future legislative cycles. Staying subscribed to the EU Commission’s CBAM updates page is the most reliable way to catch scope changes before they affect your product lines.
Common errors in CBAM HS code classification
Classification errors under CBAM tend to cluster around a few recurring patterns, and most of them are avoidable.

Stopping at the 6-digit HS. The HS 6-digit code is a starting point, not a CBAM answer. Two CN codes can share the same HS root but have different Annex I status. Always take the classification to 8 digits in TARIC before making a coverage determination.
Missing the 4-digit heading entries in Annex I. Annex I uses mixed digit lengths. An importer who scans only for 8-digit matches will miss the 4-digit headings that cover entire chapters of the CN. The CBAM Guidance Document flags this explicitly as a common source of confusion.
Classifying by product name rather than material and process. CN classification follows the General Rules of Interpretation and the CN explanatory notes. A product’s commercial name is irrelevant. What matters is its material composition, form, and processing state. “Structural steel component” is not a CN code. The material, form factor, and whether it’s further worked determines whether it lands in Chapter 72 or 73 and which specific CN applies.
Assuming a finished product is out of scope because it’s not a raw material. Finished articles made of covered materials (steel beams, aluminum profiles, certain fertilizer products) are in scope. The finished state doesn’t remove CBAM coverage.
Using outdated CN codes. The CN updates every January 1. A code used for a 2024 filing may not exist in the 2026 CN edition. Always verify against the current TARIC before filing.
What about goods that aren’t explicitly listed in Annex I?
If your product’s CN code doesn’t appear in Annex I and isn’t under a 4-digit heading that’s listed, it’s out of scope. CBAM is a positive-list regime: coverage requires an explicit listing, not a judgment call about carbon intensity.
That said, borderline cases do arise, and they usually fall into one of three patterns:
The product is a precursor or intermediate for a covered sector. Iron ore pellets and ammonia are the clearest examples. These are in scope not because they’re finished goods but because they appear explicitly in Annex I as precursor materials. If your product feeds into the production of a covered good, check Annex I carefully. The listing may be at the 4-digit or 6-digit level, which would sweep in your specific CN.
The product is a processed or semi-finished form of a covered material. Coated steel, alloyed aluminum, and treated cement products sometimes raise questions about whether processing has moved them out of the covered CN codes. The answer depends on the CN classification of the processed form, not on whether it “feels” like a covered product. Run the processed form through TARIC and check the resulting CN against Annex I.
The product contains covered materials as a minor component. A machine with a steel housing classifies as machinery under Chapter 84 or 85. The steel is embedded in the finished product’s classification and is not separately assessed for CBAM. Only if the product itself classifies under a covered CN code does CBAM apply.
When you’re genuinely uncertain, a binding tariff information ruling from an EU customs authority is the right tool. It gives you a legally binding classification decision that holds for three years and protects you from retroactive reclassification. For high-volume product lines where the CN is ambiguous, the cost of a BTI is trivial compared to the risk of a misfiled declaration.
Key Takeaways
CBAM coverage is determined by the EU CN code (8-digit) listed in Annex I, and U.S. importers must map their HTS (10-digit) through the shared HS 6-digit root to identify the correct CN before any declaration can be prepared.
| Point | Details |
|---|---|
| CN code is the CBAM trigger | Check your product’s 8-digit CN in TARIC and compare it to Annex I before assuming in or out of scope. |
| 4-digit headings cover all CNs beneath | If Annex I lists a 4-digit HS heading, every CN code under it is in scope — scan for both digit lengths. |
| HTS maps through HS 6-digit | Extract digits 1–6 from your U.S. HTS code; those six digits are your bridge to the EU CN system. |
| Definitive phase starts January 1, 2026 | Certificate surrender and TARIC document codes are mandatory from this date; annual declarations are due by September 30. |
| Climastry’s CarbonOps automates the workflow | CarbonOps ingests HS codes and supplier data, applies default values where needed, and exports registry-ready declarations. |
What the classification process actually teaches you
The most expensive CBAM mistake isn’t a missed filing deadline. It’s a wrong CN code that goes undetected through multiple quarterly reports and then surfaces during a registry audit. By that point, you’re not correcting one declaration. You’re reconstructing emissions calculations across a full reporting period with the wrong methodology.
What most compliance guides understate is how much the CN code choice affects the emissions math, not just the coverage determination. Two adjacent CN codes in the same HS chapter can carry different default emission factors and different reporting methodologies. A company that classified flat-rolled steel under the wrong 8-digit CN during the transitional period may have filed accurate-looking reports that were built on the wrong framework entirely.
The practical lesson: treat CN classification as a technical decision that requires the same rigor as a customs entry, not a box-checking exercise. Get the CN confirmed in TARIC, document the evidence, and if there’s genuine ambiguity, get a binding ruling before the definitive phase locks in your obligations. The transitional period gave importers time to build this process. That window is now closed.
CarbonOps turns your CN codes into filed declarations
Once you’ve mapped your HTS codes to the correct EU CN codes, the next step is building the declaration itself, and that’s where most compliance teams hit a wall. Collecting supplier emissions data, applying the right default values per CN code, calculating embedded emissions across multiple shipments, and formatting everything for the CBAM registry is a multi-step process that doesn’t compress well into a spreadsheet.

CarbonOps is built for exactly this step. You enter each shipment with its HS code, mass, and country of origin. The platform validates your supplier data, tracks your quarterly declaration status, applies the Commission’s published EU default values where supplier-specific emissions are missing, and exports the completed declaration in the format the CBAM registry expects. No platform deployment, no sensor rollout, no procurement cycle. You bring the supplier data; you get the declaration back.
Pricing is one-time per declaration, with single, 5-pack, and 15-pack options. No subscription, no recurring commitment. For compliance officers handling a defined set of product lines each quarter, that model fits the actual workload. Start your first declaration at climastry.com.
Authoritative sources and tools for CN code verification
Use these sources directly. Each one serves a specific verification purpose:
| Source | Best used for |
|---|---|
| EU CBAM portal (European Commission) | Sector overview, links to Annex I, guidance documents, and implementing acts |
| CBAM Guidance Document (PDF) | Detailed explanation of CN/HS relationship, Annex I structure, and classification rules |
| CBAM FAQ (November 2023) | Classification complexity, precursor scope, and common importer questions |
| Regulation (EU) 2023/956 (consolidated text) | Legal text, Annex I, filing deadlines, and registry obligations |
| TARIC database | Definitive CN code search, TARIC document codes, and current CN measures |
| Default values spreadsheet (Commission) | Fallback embedded-emission values by CN code for transitional period filings |
| USITC HTS search | U.S. HTS lookup; extract HS 6-digit for CN mapping |
| HS codes overview (trade.gov) | Background on the WCO HS system and how national extensions like CN and HTS relate |
For unresolved classification questions, contact the customs authority in the EU member state where your goods will be imported and request a binding tariff information ruling. That ruling is the only document that gives you legally binding certainty on a CN code before a declaration is filed.
This article provides general information about CBAM classification and reporting requirements. It is not legal or customs advice. Verify current rules with the European Commission’s official CBAM resources or a qualified customs professional before filing.