Shipping & customs6 min read

Shopify HS Codes and Country of Origin: Add Them, Find the Gaps

Where Shopify keeps HS codes and country of origin, three ways to fill them in, country-specific codes, and how to find the products that still miss them.

In this guide
  1. What the two fields are
  2. Where Shopify keeps them
  3. Three ways to add HS codes and country of origin
  4. How to find the right code
  5. Country-specific HS codes
  6. Find the products that still miss a code
  7. Where Tarifo: Commercial Invoices fits
  8. FAQ

You ship a parcel to Switzerland, Norway, the UK or the US, and the carrier asks for an HS code and a country of origin for every item. You open the product in Shopify and the fields are empty. Or some products have them and others do not, and you only find out which ones at the packing table.

This guide covers where Shopify keeps this data, the three ways to fill it in, what country-specific codes are for, and how to find the products that still miss a code before an order needs them. It is practical guidance, not customs advice: the code you choose and what you declare stay your responsibility.

What the two fields are

An HS code (Harmonized System code) classifies a product for customs. The first six digits are shared internationally; countries add more digits for their own tariffs. Shopify describes the code as usually six digits long and says that if you ship internationally, each of your products must include one (Shopify Help Center: Adding HS codes).

The country of origin is where the product was made or assembled into the form you sell. It is not where you ship from. A jumper you buy from a factory in Portugal and resell from Germany has Portugal as its origin.

Customs and carriers use both on the forms that travel with a parcel, such as a commercial invoice or a CN23. The UPU’s instructions on the CN 22 and CN 23 forms ask for the HS tariff number and the country of origin for commercial items (UPU International Bureau Circular 100, 2022).

Where Shopify keeps them

Both fields sit in the Shipping section of a product or variant in Shopify admin, next to the weight, once the item is marked as a physical product. They are stored per variant, so a product with a cotton and a wool variant can have two codes.

Shopify uses them in several places: on customs forms when you buy a shipping label through Shopify, when it estimates duties and import taxes at checkout, and in any app that reads product data to build shipping documents. Fill them in once and every tool that reads them gets the same values.

Three ways to add HS codes and country of origin

Shopify’s help page lists these methods (Adding HS codes):

Method Best for How
Product page A few products Open the product, check that it is a physical product, then fill in Country of origin and Harmonized System (HS) code under Shipping
Bulk editor Dozens of products Select products, click Bulk edit, then add the Harmonized system code and Country of origin columns
CSV A large catalogue, or codes kept in a spreadsheet Settings > Taxes and duties, then Manage under Duties and import taxes, Update with CSV, export, edit and import

A few practical notes:

  • Use the CSV for this data only. Shopify says this CSV is meant for HS codes and country of origin; other product values go through the normal product or inventory CSV.
  • Group products before you look up codes. Products of the same material and type usually share a code. Sort by product type or collection and classify one group at a time.
  • Set a default country of origin if most of what you sell comes from one country. In Settings > Taxes and duties, the Customs information section has a Default country of origin. It applies only to products without their own origin; a value on the product wins.

How to find the right code

Shopify does not choose a code for you unless you use Managed Markets, which assigns codes automatically. For everyone else, the official lookup tools are:

  • EU: TARIC, the EU’s integrated tariff, for shipments into or out of the EU.
  • UK: the UK Trade Tariff, with 10-digit commodity codes for imports into the UK.
  • Switzerland: Tares, the Swiss customs tariff.

Search by what the product is made of and what it is for, not by your product title. “Organic Merino Hoodie” means nothing to a tariff; “knitted pullover of wool” does. If two codes seem to fit, ask a customs broker or your national customs office. Many customs authorities also offer binding tariff information when you need a decision you can rely on.

Country-specific HS codes

The first six digits are the same everywhere, but the UK, the EU, the US and others add digits of their own. Shopify lets you store those next to the general code: from the product’s menu, choose Add HS codes by country/region. You can only pick countries or regions that are in your markets. When a country-specific code exists, Shopify uses it for that destination; otherwise it uses the six-digit code (Adding HS codes).

This matters most for destinations that check the full code, such as the UK. If most of your international orders go to one or two countries, add those countries’ codes first.

Find the products that still miss a code

Filling in codes is a one-off job. Keeping them complete is not, because new products arrive and nobody adds the customs fields. Three habits help:

  1. Check new products before they go live. Add HS code, origin and weight to your product checklist, next to photos and price.
  2. Export and filter. The duties CSV from step three above lists every product with its code and origin. Filter for empty cells once a month.
  3. Check open orders, not only the catalogue. What matters on a given day is whether the orders you are about to ship have complete data. A product without a code that never sells abroad is not urgent; one in tomorrow’s parcel to Zurich is.

Watch the weight while you are there. A weight of zero or a missing weight is just as much of a problem on a customs form as a missing code, and the forms ask for the weight of each item.

Where Tarifo: Commercial Invoices fits

Tarifo: Commercial Invoices is an app that reads the HS codes, countries of origin and weights you keep in Shopify and turns your orders into commercial invoices, proforma invoices and CN23 forms.

  • Pre-shipment check. It lists your open international orders and flags each one: HS code missing, Origin missing, Weight missing, or Ready. Missing customs descriptions and registration numbers show as warnings. A Products to complete list links straight to the products to fix in Shopify.
  • Country-specific codes. When Shopify holds a code for the destination country, that code goes on the document; otherwise the general code does.
  • Documents. Commercial invoice, proforma invoice and CN23, from one order or up to 250 at once, as one PDF or a ZIP. The PDFs are built in your browser and not stored by the app.

The app does not classify goods. It uses the codes on your variants and does not suggest them, and it does not file anything with customs. You remain responsible for what you declare. See the app’s page for the full list.

FAQ

Does every Shopify product need an HS code? Shopify says each product needs an HS code if you ship internationally. Products you only sell at home do not need one for customs, but adding the code early saves a search later.

How many digits should the HS code have in Shopify? The general code is usually six digits. Add longer country-specific codes with Add HS codes by country/region for the destinations that use them.

Is country of origin the country I ship from? No. It is where the product was made or assembled into the form you sell. A product made in China and shipped from your warehouse in the Netherlands has China as its origin.

Can I fill in HS codes for all products at once? Yes, with the bulk editor or the duties CSV under Settings > Taxes and duties. Shopify does not pick the codes for you unless you use Managed Markets.