Guide

WooCommerce HS Code and Country of Origin Guide

Learn how to prepare HS code and country of origin fields in WooCommerce products before international shipping.

What it means

WooCommerce does not have built-in customs fields the same way Shopify does. Instead, it uses product attributes to store HS code and country of origin. Attributes can be set per product or used as variations. The data then flows into shipping labels, carrier customs forms, and invoice generators when configured with the right integration.

Where WooCommerce stores these fields

WooCommerce product attributes are found under the Attributes section of the product editor. There is no dedicated "HS code" or "country of origin" field; you create an attribute with the name you prefer (such as HS Code or COO) and enter the value per product. Attributes marked "Visible" appear on the product page; attributes for internal use can be kept hidden.

Step-by-step workflow

1) Go to the product editor in WooCommerce. 2) Open the Attributes section. 3) Add a custom attribute named "HS Code" and enter the value. 4) Add a custom attribute named "Country of Origin" and enter the value (use the two-letter ISO code, e.g., CN for China). 5) Save the product. 6) For bulk updates, export the product CSV, add attribute columns, fill values, and re-import.

How WooCommerce attributes map to shipping integrations

Many WooCommerce shipping label apps and carrier integrations read product attributes as customs data. Sendcloud, Starshipit, and similar services can pull the HS Code and Country of Origin attributes directly from the product into customs forms. Not all integrations do this automatically; check the specific integration documentation to confirm attribute mapping.

Example

A WooCommerce store selling essential oil diffusers might have: attribute "HS Code" = 3302, attribute "Country of Origin" = CN. For a cotton t-shirt: attribute "HS Code" = 6109, attribute "Country of Origin" = VN. The same product sold from a US warehouse would still carry the actual manufacturing origin, not the warehouse country.

Variant handling

WooCommerce product variations inherit the parent product attributes, but variation-level customs data requires setting the attribute at the variation level. Variants that differ in material (glass vs plastic) or origin (China vs India) should have separate HS code or country of origin values at the variation level, not just the parent level.

Common mistakes

Using the warehouse country or seller country as country of origin is the most common error. Origin is where the product was manufactured, not where it ships from. Mixing up HS code with the first six harmonized digits and the full national code is another frequent mistake; verify the destination tariff for the complete code.

Source note

Use WooCommerce Help Center for attribute setup, the destination tariff database (such as USITC HTS or EU TARIC) for HS code verification, and verify attribute-to-carrier mapping with the specific shipping integration before relying on it for customs filing.

Maintainer

Reviewed by Ryan Cole

Ryan Cole maintains TariffCatalog from the perspective of a long-time ecommerce operator with 15+ years of experience in product catalog, international shipping, and pre-shipment data workflows. This page is reviewed for guide workflow clarity, source-check clarity, and estimate-only or candidate-only wording.

TariffCatalog is a preparation aid, not a customs broker, legal, tax, or freight-forwarding service. Verify final classifications, rates, documents, and filing treatment with official sources or qualified professionals.

Official source note

References to verify

FAQ

Common questions

Does WooCommerce have a dedicated customs field?

No. WooCommerce does not have a dedicated customs fields section. HS code and country of origin are stored as product attributes. You create the attribute name (such as "HS Code" or "COO") and enter the value per product. Some third-party plugins add dedicated fields, but the attribute approach works natively.

How do I add HS code to a WooCommerce product?

Go to the product editor, open the Attributes section, click "Add attribute," enter a name like "HS Code," check "Visible," and enter the HS code value. Save the product. For multiple products, use the CSV export/import method: export products, add an HS Code column, fill values, and re-import.

Where does country of origin go in WooCommerce?

Add country of origin as a separate product attribute named "Country of Origin" or "COO." Use the two-letter ISO country code (CN for China, VN for Vietnam, IN for India, US for the United States). Enter the actual manufacturing country, not the warehouse or seller country.

Can I bulk update HS codes in WooCommerce?

Yes, through CSV export and import. In WooCommerce, go to Products → Export, include attribute columns, open the CSV, fill in the HS code and COO values, and import the file. Be careful: importing overwrites existing values. Always export a backup before bulk importing.

Do variations need separate HS codes?

Yes, when variants differ in material, function, or manufacturing origin. A variation in plastic vs glass, or China vs Vietnam origin, typically needs a separate HS code or country of origin at the variation level. Without variation-level attributes, the parent product attribute applies to all variations.

Which WooCommerce shipping apps read these attributes?

Sendcloud, Starshipit, and several other WooCommerce shipping label apps can read product attributes for customs data. Not all integrations read the same attribute names. Confirm with your specific app whether it reads "HS Code," "HTS," "COO," or another variant, and set the attribute name accordingly.

What if the product is made in two countries?

Declare the country where the product underwent its last substantial transformation. If components are manufactured in one country and assembled in another, the country of assembly is typically the origin. A licensed professional or binding ruling can confirm the correct origin for complex supply chains.

How do I know the correct HS code for my product?

Start with the product material, function, and construction to identify candidate headings, then verify the final code in the destination tariff database. The first six digits are harmonized internationally, but digits after six vary by country. Use USITC HTS for US imports, EU TARIC for EU imports, or the destination country tariff database for other markets.

Last reviewed: July 2026

Disclaimer

TariffCatalog provides informational tools and preparation workflows only. Verify final classification, rates, document requirements, and filing treatment with official sources or licensed professionals.