International & Customs

How do I assign 10-digit HTS codes to my Shopify SKUs and check if Section 301 China tariffs apply?

Assigning 10-digit HTS codes to your SKUs and checking whether Section 301 tariffs apply.

Last updated September 16, 2026

A supplier's six-digit HS is not a US ten-digit HTS. Section 301 is applied at the eight-digit heading. Origin is substantial transformation, not the last warehouse the carton sat in. Wrong codes are a costing miss and a compliance miss. This is classification mechanics, not legal advice. A licensed customs broker or trade counsel signs the entry. You still have to keep the SKU master honest.

From 6-digit HS to 10-digit HTS

Ask the factory for their HS and treat it as a hint. The first six digits are the international heading, shared across WCO countries. Digits seven and eight are the US tariff line, where the duty rate and the Section 301 lists live. Digits nine and ten are the US statistical suffix. They do not change the rate or the 301 hit inside that eight-digit line, but the entry still needs all ten. Two SKUs that share a six-digit heading can land in different eight-digit lines, and only one of those lines may sit under a Section 301 list. Look up the eight-digit heading on the current USTR Section 301 search, then store the full ten-digit HTS on the product. Do not paste one factory code onto every colorway and hope. Do not invent a rate.

Origin is substantial transformation

Origin is a CBP fact, not a logistics fact. Goods that left a China factory and were only packed, labeled, or stored in a Vietnam DC are still China origin unless a substantial transformation occurred in Vietnam. A packing-list warehouse note does not change that. Put country of origin on the product next to the HTS, then copy both onto every purchase order and every receipt. Duty belongs on the inbound that crosses a border, not on a domestic transfer of goods already entered. A blank origin or a missing HTS makes any estimate silent and the later broker invoice a surprise.

One HTS code per market

One code per market. The US ten-digit HTS is not the UK code and not an EU TARIC. An EU code is tied to a filing country, not "the EU." Shopify can show a tariff at checkout. It does not classify the SKU. If checkout duty, the commercial invoice, and the entry use three different numbers, you will true-up forever.

Duty and tariffs in landed cost

Duty and Section 301 add into landed cost. They capitalize on the receipt or when the broker bill posts. They do not replace supplier FOB. One expensive classified receipt re-prices the whole SKU average. Price off that landed average, not the factory quote. A code change after units are on the shelf corrects forward. History is not restated. Reconcile HTS, origin, and duty by SKU before you argue about ads.

Run this with AI

Connect Claude or ChatGPT to your Fulfil data with the Fulfil MCP, then run this prompt on your own numbers.

You are the trade-ops lead for a US Shopify Plus brand importing finished goods.
Here is: sku, supplier_hs_6, proposed_hts_10, origin_claimed, last_warehouse_country, section_301_8digit_hit (yes/no/unknown), fob_usd, estimated_duty, receiving_warehouse_country, checkout_tariff_code.
[paste]

Produce:
1. Rows where supplier 6-digit HS was used as if it were a US 10-digit HTS.
2. Rows where the 8-digit heading is on a Section 301 list, or is unknown and must be looked up.
3. Origin that is the last warehouse (Vietnam DC) rather than substantial transformation.
4. Missing first-class data (HTS-10, origin, HS per market) on the product or on the open PO/receipt.
This is classification hygiene, not legal advice. Do not invent tariff rates.

See it run on
your data.

Fulfil runs inventory, fulfillment, purchasing, and accounting for scaling DTC brands in one system.