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.