# Shopify Markets Customs Information: What It Needs

> Turning on Markets and duties raises the bar on your catalogue. The customs data Shopify requires, its stated conditions, and what breaks without it.

Canonical: https://origova.com/shopify-markets-customs-information

---

# Shopify Markets and the customs data it expects

_By [Spencer Flaherty](https://origova.com/about), founder of Origova_

Enabling **Shopify Markets** and duty collection is mostly a settings exercise. What surprises people is that it quietly raises the bar on your product data — fields that were optional become the difference between an accurate quote and a customer receiving a surprise bill.

> **Where does your catalog stand?** — Origova scans every variant for missing or malformed HS codes, country of origin and weight — free, at any catalog size. [Run the free scan](https://apps.shopify.com/origova)

## What Shopify actually requires

Shopify's help documentation is direct about this: to accurately calculate duties, your products must have HS codes and a country or region of origin assigned.

For collecting duties and import taxes at checkout, its requirements page lists three conditions:

- If you use Shopify shipping labels, the carrier must **support DDP labels**.
- You cannot be using **Shopify Fulfillment Network**.
- You must have **Harmonized System (HS) codes applied to products**.

## What happens when data is missing

_Shopify's documented fallback behaviour_

| What is missing | What Shopify does | Practical result |
|---|---|---|
| HS code | Falls back to the product's description and category | Described by Shopify as less accurate |
| HS code, description and category | Still calculates | Shopify says likely to be inaccurate |
| Country of origin | Calculates without it | Shopify warns of additional duties on delivery |
| Nothing missing | Uses your data | Best available estimate — still an estimate |

> **Nothing errors, which is the problem** — None of the rows above produces an error message. The store keeps selling, the checkout keeps quoting, and the failure shows up weeks later as a customer complaint about a courier invoice. This is why enabling Markets is a good moment to audit the catalogue rather than a moment to assume it is fine.

## Estimates are estimates

Worth being clear with your own customer-service expectations: Shopify describes duty calculations as estimates, notes that the amount charged by customs authorities may differ, and notes that some countries apply de minimis thresholds below which no duties apply. A DDP checkout reduces surprise, it does not eliminate variance. For the wider picture see [landed cost for Shopify sellers](/landed-cost-for-shopify-sellers).

## A pre-launch checklist

_Before you turn duty collection on_

| Check | How | Why |
|---|---|---|
| Every shipping variant has an HS code | Inventory CSV export, filter `HS Code` blanks | It is a stated requirement |
| Every shipping variant has an origin | Same file, filter `COO` blanks | Required for accurate calculation |
| Origin values are ISO codes | Read the distinct values in `COO` | `China` and `UK` fail; `CN` and `GB` pass |
| Codes are six digits or more, even length | Filter by length | Short or odd codes trigger the invalid-code error |
| Weights are set | Check for zero weights | Carrier labels and duty-by-weight lanes need them |
| Carrier supports DDP labels | Check with the carrier | Shopify lists it as a condition |

That is six checks, and the first five are answerable from one inventory CSV export. If the catalogue is large, a free [Origova](/) scan reports all of them per variant in one pass and lets you fix by group with an undo.

## Why this shows up out of nowhere

A lot of merchants meet these fields for the first time right after enabling international markets, because that is when Shopify starts asking. If Shopify has started demanding customs data on orders you consider domestic, [that has its own explanation](/hs-code-required-domestic-order-shopify).

## The short version

Markets and duty collection do not create new customs obligations — they surface the ones your catalogue already had. HS code and origin on every variant that ships, ISO codes for origin, six-digit-plus codes, and a carrier that supports DDP. Audit first, enable second.

> **Not customs advice** — Origova scans and bulk-fixes the customs data in your Shopify catalog. It does not replace a licensed customs broker and it does not make the final classification decision for you. Classification depends on the product's material, use, composition and origin. Verify classifications with the [HTS](https://hts.usitc.gov), [CBP rulings](https://rulings.cbp.gov), or a licensed customs broker.

## Frequently asked questions

### What customs information does Shopify Markets need?

For duty calculation Shopify states that products must have HS codes and a country or region of origin assigned. Without an HS code it falls back to the product's description and category, which it describes as less accurate.

### What are Shopify's requirements for charging duties at checkout?

Its help page lists three conditions: if you use Shopify shipping labels the carrier must support DDP labels, you cannot be using Shopify Fulfillment Network, and you must have Harmonized System (HS) codes applied to products.

### Can I collect duties without HS codes on every product?

Duties are still calculated, but Shopify warns they are likely to be inaccurate when HS code, description and category are all absent, and that inaccurate information may lead to additional duties charged to the customer on delivery.

### Does enabling Markets explain why Shopify suddenly wants HS codes?

Often yes. Merchants who never saw customs prompts before frequently start seeing them after enabling international markets or a carrier service that requires customs data.

### Is a Shopify duty quote the final amount?

No. Shopify describes duty calculations as estimates and notes that amounts charged by customs authorities may differ, and that some countries apply de minimis thresholds below which no duties apply.

Sources for this page: [Shopify: Duties and taxes for markets](https://help.shopify.com/en/manual/markets/customizations/duties-and-taxes) · [Shopify: Charging duties at checkout](https://help.shopify.com/en/manual/international/duties-and-import-taxes/charging-duties) · [Shopify: Adding HS codes to your products](https://help.shopify.com/en/manual/international/shipping/hs-codes) · [Shopify: Inventory CSV](https://help.shopify.com/en/manual/products/inventory/setup/inventory-csv)

Related: [Shopify customs information explained](https://origova.com/shopify-customs-information) · [Landed cost explained](https://origova.com/landed-cost-for-shopify-sellers) · [Preparing for US customs rules](https://origova.com/prepare-shopify-store-us-customs-rules) · [All customs errors, indexed](https://origova.com/shopify-customs-errors)
