Wove Logo
Wove Logo
Developers
BlogRelease Notes
When One Note Covers Thousands of Tariff Codes: Decoding Chapter 99

When One Note Covers Thousands of Tariff Codes: Decoding Chapter 99

Wove Team
Product Updates

If you've ever worked with HTS Chapter 99, you know it's a special kind of chaos. Unlike most HTS chapters that classify physical products, Chapter 99 is where the exceptions live: temporary entries, antidumping duties, Section 301 tariffs, and a constellation of special provisions that can apply to thousands of different products.

Recently, we took on the challenge of parsing the notes from Chapter 99 documents and making them machine-readable. What we discovered: a single note can govern the treatment of thousands of HTS codes, with logic so complex that even experienced compliance professionals need to read it multiple times.

The Problem with Chapter 99 Notes

Take Note 16(n) as an example. Here's what it says:

"The rates of duty in heading 9903.81.91 apply to: (1) all imported derivative iron or steel products classified in the following subheadings of the HTSUS, including products admitted into a U.S. foreign trade zone under privileged foreign status before August 18, 2025, unless the derivative iron or steel product was processed abroad from steel melted and poured in the U.S."

Straightforward? Not quite.

This single note applies to thousands of HTS codes across dozens of chapters. Here's what that actually looks like:

Screenshot 2026 01 22 at 6



Each of those numbers represents a specific product classification. This note contains:

  • Temporal logic (the August 18, 2025 cutoff)
  • Conditional exceptions (foreign trade zones, privileged foreign status)
  • Material origin requirements (steel melted and poured in the U.S.)
  • Cross-references to hundreds of "specified HTSUS provisions" scattered throughout the tariff schedule
  • For a customs broker trying to classify a steel product, this means:

    1. Identifying which base HTS code applies

    2. Determining if Note 16(n) creates an additional classification under heading 9903.81.91

    3. Checking if any of the exceptions apply

    4. Tracking down which specific provisions are covered

    5. Documenting the entire chain of reasoning

    Miss one condition, and you've misclassified the shipment.

    Why This Matters for Automation

    Traditional tariff calculation systems struggle with Chapter 99 because the notes don't follow predictable patterns. They're written in legal language, reference other parts of the HTS indirectly, and change frequently through Federal Register notices.

    Our ingestion engine had to handle:

  • Scope expansion: Parsing "all imported derivative iron or steel products" and mapping it to actual HTS codes
  • Exception logic: Understanding nested conditions and carve-outs
  • Temporal awareness: Tracking effective dates and applicability windows
  • Cross-referencing: Resolving references to hundreds of specific provisions across the entire HTS
  • The result? We can now automatically identify when Note 16(n)—or any other Chapter 99 provision—applies to a given shipment, without requiring manual lookup.

    What We Built

    Our approach combines document parsing with trade intelligence:

    1. Structured extraction: We break down each note into its logical components—scope, conditions, exceptions, and references

    2. Code mapping: We resolve references to "specified provisions" by extracting and indexing every HTS code covered

    3. Evaluation tree: We construct a decision tree that captures the logical flow of the regulation. For Note 16(n), this means: check if the product matches one of the covered HTS codes → verify the date conditions → evaluate FTZ status → check material origin requirements. Each branch represents a different outcome for duty calculation. Critically, this tree structure lets us automatically identify exclusions—products that appear to fall under the note but are actually exempt due to specific conditions.

    4. Rule generation: We convert the natural language logic into queryable rules that can be evaluated programmatically

    For Note 16(n) specifically, we mapped the language to every HTS code for derivative iron and steel products, built an evaluation tree that handles the temporal conditions and FTZ exceptions, and structured it all into rules that our API can process automatically.

    Screenshot 2026 01 22 at 12

    Wove's tariff calculator showing parsed notes from Chapter 99

    The Bigger Picture

    Chapter 99 is just one example of the hidden complexity in global trade. Regulations are written for humans, not machines. But as trade volumes grow and compliance requirements tighten, automation becomes essential.

    That's why we built our ingestion engine—to take messy, unstructured trade documents and turn them into something computers can reason about. Whether it's Chapter 99 notes, Section 301 tariff lists, or antidumping case texts, the challenge is the same: extract meaning, preserve nuance, and make it queryable.

    Want to see this in action? Try our tariff calculator to see how we handle these complex scenarios automatically. Or if you're building systems that need to understand trade regulations at scale, get in touch to learn more about our API.



    Share this post

    Ready to automate HTS Code classification?

    Container ship with colorful cargo containers