HTS Classification Explained: The General Rules of Interpretation for Developers and Importers

Who is affected and why it matters
Every US duty calculation starts with an HTS code. Get the code wrong and the duty, the additional measures, the admissibility checks and the landed cost are all wrong, however good the rest of your system is.
If you are a developer, you probably inherited an hs_code column that someone filled in years ago, and nobody knows where the values came from. If you are an importer, the legal responsibility for classification is yours: since the Customs Modernization Act, the importer of record must use “reasonable care” to classify goods, even when a supplier or broker suggests the code (CBP, Tariff Classification). This guide covers how classification actually works, so you can build data handling that holds up.
HS, HTS, and Schedule B: what’s the difference?
Code Digits Who maintains it Used for HS (Harmonized System) 6 World Customs Organization International base shared by most countries HTSUS 10 (8 legal + 2 statistical) US International Trade Commission US imports: duty rates and statistics Schedule B 10 US Census Bureau US exports: export statisticsThe first six digits are shared internationally. Everything after that is national, and the US import and export schedules can differ from there on. HTS numbers can be reported on most export filings, but Schedule B numbers can never be used on an import entry (USITC FAQ, Census Schedule B).
How the 10 digits break down, using men’s cotton knit T-shirts (not the plain all-white kind) as an example:
- 61: chapter (articles of apparel and clothing accessories, knitted or crocheted)
- 6109: heading (T-shirts, singlets, tank tops and similar garments, knitted or crocheted)
- 6109.10: HS subheading (of cotton)
- 6109.10.00: US rate line
- 6109.10.00.12: statistical suffix (other T-shirts, men’s)
Duty rates are set at the 8-digit level, and every 10-digit number under a rate line carries that line’s rate. The last two digits are statistical and not part of the legal text, but the full 10-digit number must still be used on the entry.

The General Rules of Interpretation (GRIs)
The HTSUS opens with six General Rules of Interpretation, followed by a short set of Additional U.S. Rules. The GRIs are the legal method for classifying goods, and they are applied in order: you only move to the next rule if the previous one doesn’t settle the question.
GRI 1: Headings and notes first
Classification is decided by the terms of the headings and any section or chapter notes. The table of contents, the index and the titles of sections and chapters are there for ease of reference only. GRI 1 takes precedence over every other rule, and a product that a heading or note fully describes is settled right here. In practice that means reading the section and chapter notes before anything else, because they often exclude products you would expect to find in a chapter.
GRI 2: Unfinished goods and mixtures
GRI 2(a) brings incomplete or unfinished articles into the heading for the finished article, as long as they already have its essential character. It also covers complete articles that arrive unassembled or disassembled. GRI 2(b) extends a heading for a material to mixtures and combinations of that material, and sends goods of more than one material on to GRI 3.
GRI 3: When two headings fit
- 3(a): the most specific description wins. But when each heading describes only part of a mixed or composite good, or only some items in a retail set, those headings count as equally specific.
- 3(b): mixtures, composite goods and retail sets are then classified by the material or component that gives them their essential character.
- 3(c): if it is still a tie, use the heading that comes last in numerical order among those that equally merit consideration.
GRI 4: Most akin
Goods that can’t be classified by the rules above go in the heading for the goods they are most akin to.
GRI 5: Cases and packing
Camera cases, instrument cases and similar containers that are specially shaped or fitted for an article, suitable for long-term use, and entered with it are classified with that article when they are normally sold with it. That rule does not apply when the container itself gives the whole its essential character. Normal packing materials and containers go with the goods, unless they are clearly suitable for repeated use.
GRI 6: Subheadings
The same logic applies at the subheading level, using the terms of the subheadings and any subheading notes, and comparing only subheadings at the same level.

How to find an HTS code
- Describe the product the way the schedule does: what it is, what it’s made of, and what it does. Marketing names don’t help.
- Find the chapter and read its notes. The notes are legally part of the classification under GRI 1, and they often decide the case.
- Work down the levels with GRI 1 and GRI 6, using GRI 2 and 3 for mixtures and sets.
- Check CBP rulings. The CROSS database lets you search CBP’s published rulings on similar products for free.
- Get a binding ruling for anything high-volume or unclear. Under 19 CFR Part 177, you can ask CBP for a ruling before you import.
CBP’s informed compliance publication, What Every Member of the Trade Community Should Know About: Tariff Classification, is the best free primer.
Handling HTS codes in product data
Classification is a legal judgment, and no API should decide it for you. What software can do is keep codes clean, current and checked.
Store codes properly
- Store the full 10-digit code as a string. Leading zeros matter: 0101.21.00.10 breaks if it is stored as a number.
- Keep the code at the SKU level, along with country of origin, who classified it, when, and the ruling reference if there is one.
- Record the HTS revision the code was checked against. The schedule changes often: by the end of October 2026, USITC had already published 22 revisions of the 2026 edition.
Check codes against the current schedule
HTS lines get split, merged and retired between revisions. The resolve endpoint reports how your code matched the current schedule:
curl -s "https://tariffsapi.com/api/v1/tariffs/resolve?hts=3926.90.99&origin=CN&resolve_chapter_99=true" \
-H "Authorization: Bearer $TARIFFS_API_KEY"
body = JSON.parse(response.body)
if response.code.to_i == 404 && body.dig("error", "code") == "HTS_NOT_FOUND"
# the code is not in the schedule we serve: stop and reclassify
block_checkout_quote(sku, "HTS code not found: #{body.dig('error', 'details', 'suggested_codes')}")
else
res = body["resolution"]
revision = body.dig("data_source", "hts_revision")
case res["match_type"]
when "EXACT"
# code exists as given in the current revision
when "PREFIX_MATCH", "PARENT_INHERITANCE"
flag_for_review(sku, "Resolved via #{res['match_type']} to #{res['resolved_hts']} (#{revision})")
end
end
Run this as a nightly job over your catalog. Anything that isn’t EXACT goes to the person who owns classification. To look up the raw schedule entry and its measures, GET /api/v1/tariffs/by_hts/:hts_number returns the rate line itself.
Watch for Chapter 99
Many additional duties are attached through Chapter 99 provisions that list specific underlying HTS codes, often for specific origins. Because those lists name individual lines, moving a product to a neighbouring line can change which measures apply. That is one more reason to resolve codes through data rather than a static table. Try a single footwear line such as 6404.11.90 in the HTS browser, or any code in the tariff calculator.
FAQ
What is HTS classification?
HTS classification is the process of assigning an imported product to its code in the Harmonized Tariff Schedule of the United States. The code decides the duty rate, any additional measures, and the statistical reporting for the entry.
What are the General Rules of Interpretation?
The General Rules of Interpretation are six legal rules at the start of the Harmonized Tariff Schedule that govern how goods are classified. They are applied in order, starting with GRI 1, which classifies by the terms of the headings and the section and chapter notes.
What is the difference between an HS code and an HTS code?
An HS code is the 6-digit international code maintained by the World Customs Organization. The US HTS code extends it to 10 digits, with eight legal digits that set the duty rate and two statistical digits.
Is Schedule B the same as HTS?
No. Schedule B numbers, maintained by the Census Bureau, are used to report US exports. HTS codes, maintained by the USITC, are used for US imports. They share the international 6-digit base, and HTS numbers can be used for most exports, but Schedule B numbers cannot be used on import entries.
Who is responsible for HTS classification?
The importer of record is legally responsible for using reasonable care to classify goods correctly, even if a supplier, broker, or software suggests the code.
Can an API classify my products?
An API can check that a code exists in the current schedule and resolve its duties, but classification is a legal decision. For high-volume or ambiguous products, use CBP rulings and consider a binding ruling under 19 CFR Part 177.
Keep your catalog codes checked against the current schedule. See pricing or start with the API documentation.
This article is general information, not legal or customs advice. For classification decisions on specific goods, consult CBP rulings or a licensed customs broker.