How to add HS codes to Shopify products in bulk
If you sell internationally, every physical product needs an HS code — the 6–10 digit classification customs authorities use to work out duties and clear your shipments. Shopify has a field for it. What Shopify doesn't have is a reasonable way to fill that field in across a few hundred products. This guide covers where the field actually lives, why the usual bulk tools can't touch it, and the three realistic ways to get it done.
Where the HS code field lives (and why it's easy to miss)
The HS code isn't a normal product field. It's stored on each variant's inventory item, and in the admin it only appears inside a product's Shipping section — which itself only appears when "This is a physical product" is checked. So the path for one product is: open the product → scroll to Shipping → expand the customs information area → enter the code → save. Multiply that by your catalog size and you can see the problem.
Why you can't bulk edit HS codes natively
Two facts surprise most merchants. First, Shopify's built-in bulk editor — the spreadsheet-style view you can open from the Products page — covers fields like price, inventory, and tags, but it doesn't expose HS codes or country of origin. Second, the standard product CSV import/export doesn't include an HS code column at all, because the value lives on the inventory item rather than the product. The two tools everyone reaches for first are both dead ends for this specific field.
Option 1: one product at a time
For a dozen SKUs, the manual path above is honestly fine. Budget roughly a minute per product once you're in a rhythm. The pain isn't any single edit — it's that Shopify gives you no list of which products are missing a code, so you're opening every product just to check.
Option 2: spreadsheet-driven import apps
Heavy-duty import/export apps (Matrixify is the best known) can read and write inventory-item fields, including HS codes, through their own extended spreadsheet formats. If you already live in spreadsheets and know exactly which products need which codes, this works well. The trade-offs: you're driving a general-purpose tool with a learning curve, and it assumes you already know what's missing — the audit step is still on you.
Option 3: scan first, then fix in bulk
Origova approaches it from the audit side: it scans your whole catalog, shows you exactly which variants are missing an HS code (or have one in a format customs will reject — anything outside 6–10 digits), and lets you select the affected items and apply a code to all of them in one batch. The write goes to the real Shopify inventory item, every batch is undoable, and non-physical items like gift cards can be excluded with one click. Your first scan runs in about two minutes — the docs walk through it.
A note on choosing the right code
No app can tell you what your product is — classification is your call. The first 6 digits of an HS code are internationally standardized; anything beyond that is country-specific (US imports use 10-digit HTS codes, for example). If several of your products are variations of the same thing, they usually share a code, which is exactly why bulk application makes sense. For genuinely ambiguous products, a customs broker or your carrier's classification help is worth the question — this guide isn't legal or customs advice.
The short version
Native admin: fine for a handful of products. Spreadsheet apps: powerful if you already know what's missing and like driving spreadsheets. Scan-first: fastest path from "I have no idea which products are missing codes" to "done, in bulk, reversibly." That last gap — knowing what's missing — is the part Shopify doesn't solve at any catalog size.
Related: Country of origin in Shopify: where it lives and how to set it in bulk