This guide will explain and identify the key and essential areas you will need to access and input information into, in order to set up international shipping within your Shiptheory account! 

You can see below the index of what will be covered in this article, and you can jump to any areas you need by clicking on the headers:


Inputting Your Duty Tax Codes

When setting up International Shipping, you are going to want to input duty tax codes relevant to where you are shipping to. Shiptheory has the option to input multiple different duty tax codes, however you will only need to input the ones specific to your shipping locations. In order to input these duty tax codes, use the following as reference:

On the Shiptheory website, click on your company email at the top of the screen > Advanced > Company Details.

When in this section of Shiptheory, you are going to have to input the necessary duty tax codes relevant to where you plan on shipping. 

Rule Based Tax Numbers

Within your Shiptheory Shipping Rules, you have the ability to update the Duty Tax Type and Duty Tax Numbers on orders coming into Shiptheory. 

To do this, locate your Shipping Rules tab and update or create a new rule, then locate Advanced Settings. From here scroll to Update Shipment Details

In this tab, you have the option to update orders Duty Tax Types:, and also the Duty Tax Numbers for these orders.

and also the Duty Tax Numbers for these orders:

You can see more regarding the Shipping Rules being used to update Duty Tax Information here. It's worth noting that Numbers input here will take priority over what is specified in your Company Details.

What are the Duty Tax Codes:

EORI Number - If you are based in the UK, you will need an EORI number to trade goods with countries outside of the EU.

If you’re based outside of the EU, you will need an EORI number to trade goods with the UK.

IOSS Number -  if you are prepaying VAT when exporting to the EU.

ATO Reference Number - If you are registered with the Australian Taxation Office (ATO) and collect GST on your sales or imports

ABN Reference Number - Australian Business Number

IRD Reference Number - If you are registered with the New Zealand Inland Revenue

OSS Reference Number - If you have registered for a German VAT identification number

VOEC Reference Number - VAT on E-Commerce, If you ship to Norway

RGR Number - Returned Goods Relief Number - Exporters from the UK can pay less Customs Duty and VAT when re-importing goods to the UK by sending their Returned Goods Relief number to their carrier.

MID Code - Manufacturers Identification Code

You can find more descriptions regarding these Duty Tax Codes within the "Company Details" tab on Shiptheory.

Enabling paperless trade

If you have intentions of international shipping you will want to enable paperless trade on the intended carriers that are going to be used for international shipping. This is going to be found in the carriers settings on Shiptheory. 

Paperless trade enables the automatic submission of Commercial Invoices to the carrier electronically. It is worth noting that Paperless Trade may need to be enabled on your carrier account before you can use this function on Shiptheory, so it may be worth contacting your carrier account manager before enabling this option.

Duty Charges Responsibility

You may chose who you would like to pay duty charges, whether this be the recipient or the sender. You can select the responsibility under your carriers settings. To locate this, navigate;

Shiptheory email > Manage Carriers > (carrier)

Under your carriers regular or Advanced Settings, you will see the option to set the responsible duty charge payer.

Please note:

DDP = Sender

DDU = Recipient (Paid on Delivery) 

DAP = Recipient (Paid on Delivery)

DT1 = Sender (Pre-Paid)

The below is an example of what you will see in DPD's settings.

This is not the case for every carrier, however if your carrier requires you to specify who is responsible, then you can do so by following the above.

For some carriers, such as DHL, you will be able to specify the duty charge payer within the Shipping Rules as follows:

Please note that this is not available for every carrier.

IOSS Settings/Currencies

To add currencies to your IOSS Settings, you will want to navigate:

Shipthory Email > Advanced > IOSS Settings

It is within this tab you will Decide at which value a shipment is to be processed as IOSS. Each currency you trade in will need to be added separately, e.g. if you add GBP below with a shipment value of 135, any shipment with a value of 135 or lower will be sent with an IOSS number if one is available.

To see a full description on how this threshold works, please see here.

CN22/23 Documents and Commercial Invoices


If you are sending international shipments with a goods total of £270 or less, you must attach a CN22 Customs Declaration with your regular shipping label. If you are sending international shipments with a goods total over £270, you must attach a CN23 customs declaration with your regular shipping label. These documents are used for customers clearance at the destination country.

Some international carriers provide paperless customs documents, which remove the requirement for you to complete a CN22/23 document. If you are not sure if your carrier offers this functionality, please get in touch with us or contact your carrier directly.

Commercial Invoices

If you are sending any international shipments, you must attach a Commercial Invoice with your regular shipping label(s). This document is used for customs clearance at the destination country.

Some international carriers provide paperless customs documents, which remove the requirement for you to complete a Commercial Invoice. If you are not sure if your carrier offers this functionality, please get in touch with us or contact your carrier directly.

Creating Customs Documents in Shiptheory

Customs Documents can be set up to be generated and printed automatically as your shipping labels are booked in. 

To enable Shiptheory to print these documents automatically, navigate:

Shiptheory Email > Advanced > Import/Export Documents

From here, you can select for which carriers Shiptheory should automatically generate and print Customs Declaration forms (CN22 & CN23). Simply select the slider next to each carrier on your account to enable/disable form production.

You can further customize your generated customs document at the bottom of this page by pressing "Advanced Settings"

From here you will be greeted with multiple fields where you will want to input the correct information, such as Shipping Origin Country, Declaration Currency, Form Type etc. Make sure to follow these carefully, you can see more information on these settings by hovering over the field for a description, or see a more detailed explanation of this page here.

At the bottom of this page, you will be able to select how you would like these documents to print, and from what printer.

International Shipping Rules

One of the last steps for intentional shipping. Once you have ensured that your Shiptheory account is set up correctly to start sending shipments internationally, you will want to create Shipping Rules to specify the carriers and services to use for international orders.

As you can see above, there is multiple ways to set up Shipping Rules, and this will be entirely based on your workflow/setup. One good way to specify when to use an international service is to have the criteria populate the recipient country(s).

You will also want to ensure that you have got any international services you intend to use enabled via your carrier. Although we can select a service for your orders, if the service is not enabled on your carrier account, any orders trying to book in will be rejected. You can make sure these services are enabled by contacting your carrier directly.

To see a full guide on setting up your Shipping Rules, and to see a much more in depth explanation on rule criteria, please see here or contact support

Commodity Information

Shiptheory uses commodity data to provide information on items being sent internationally. The data includes information on what type of product is being sent (e.g. "Car Parts"), country of manufacture and what the product is actually made of.

The fields required for export documentation are:

Commodity Code / HS Tariff code - A commodity code is a 8-digit number allocated to goods to classify imports from both in and outside of the EU. Every item will fall under a commodity code – this commodity code dictates your duty rating, as well as alerts you to any import or export restrictions.

The commodity code is very strictly required when shipping internationally, and it is important we send the correct commodity codes.

We always recommend finding your 8 digit Commodity/HS Tariff Code on the government website, which you can find here

Commodity Description - This is a brief description of the product being sent. It does not need to be incredibly descriptive however needs to have enough information to understand and be accepted by the carrier. For example, "Shirt" will likely get rejected, however "Long Sleeve Shirt" will get accepted.

Country of Manufacture - ISO-2 country code, e.g. "GB" for the United Kingdom. This code is strictly required, similar to the HS Tariff code, you will want to ensure you are including the correct 2 digit country code at all times on all your products that you are sending internationally. To ensure you have got the correct 2 digit country codes, please see the government website here.

Composition / Materials - This one, similar to the description, is not sensitive to what you input as much as the Country/Tariff codes, however you will want to make sure you do your best to give a good description of the composition/materials that are used to manufacture the product you are sending. For example, "Polyester" or "Steel"

How to Check if Shiptheory is Downloading Commodity Data Correctly

Every time an order comes into Shiptheory, the products information, including the commodity data, is updated. You can view all the products that have come into Shiptheory in your Products Page

On the Products Page, you can view select a product and view all the commodity data that Shiptheory stores about it. You are also able to edit this information. You can read more on how to update a product's data on this guide here.

Uploading Commodity Information

Uploading commodity information into Shiptheory is very dependent on the channel(s) you use to send orders. We integrate with every Channel differently so each one has a different method of sending commodity information. Listed below you will find a list of all the Channels we use differently based on integration, and by clicking on them you will find a description of how to set up commodity data sending:

Sending Commodity Data from Shopify

Shopify has limited functionality for which commodity fields are supported out of the box, to set up your Shiptheory account to work with out of the box commodity data available in Shopify

Required Commodity Information

Commodity HS Tariff Code (Supported by default in Shopify)

Country of Manufacturer  (Supported by default in Shopify)

Commodity Description  (Requires metafields)

Commodity Composition  (Requires metafields)

For complete commodity data coverage, we recommend developing your Shopify store further with third-party extensions that use Metafields, many of which can be connected to Shiptheory.

The Commodity HS Tariff Code supported by Shopify does have a limit on the number of characters it supports.  However, if you add a metafield for the Tariff Code, this will override the value set in the default Shopify and allow you to specify more than the 6 characters limited by Shopify

What needs to be done to ensure full functionality between Shiptheory and Shopify for commodity information, is set up these metafields using a third party application within Shopify such as Metafield Guru and Metafield Editor.

A metafield is made up of 3 sections, a 'namespace', a 'key' and a 'value'

Namespace - The namespace differentiates metadata from one another and in this case you would call your namespace for this metadata, 'Commodity Information'. A general description that's going to contain more in-depth information within it.

Key - A key is the name of the metafield, using the previous example of the Namespace being 'Commodity Information', your key would be 'Commodity Description' and 'Country Of Manufacture'

Value - As you'd expect, this is the value of the key, for the key 'Commodity description' it would have a value like 'trousers', 't-shirt' or 'notepad'.

Once you have worked in your Shopify and set up the metafields correctly, you will want to ensure that you enter the namespace and keys in Shiptheory (as seen above), under your Shopify's advanced settings. Once this is done, Shiptheory will begin to pull through commodity information from these metafields when an order is placed with products containing commodity information.

This is a brief overview and description on how these fields work, for a full description on how to set this up, we highly recommend you see here.

Sending Commodity Data from Brightpearl

To have Shiptheory download this data, create a Product Custom Field in Brightpearl for the Commodity Code, Manufacturer Country, Description and Composition.

Add Custom Product Fields to Brightpearl

In Brightpearl, you'll need to go to the settings menu, select Custom Fields from the left hand menu bar and then Products.

In the below example, we are adding the Commodity Code, Description, Country of Manufacturer and Composition. Please note that the manufacturer country expects your field to be populated with the ISO 2 character country code.

Here you'll see any custom fields you have already created in Brightpearl. Each field has a name (the name you see) and a 'field code'  The field code is what you'll need in a minute. Take a note of it. In the screenshot below we've created our four fields with codes PCF_UNCODE, PCF_CTRYOM, PCF_UNDESCRI and PCF_PRODUCTC.

Configure in Shiptheory

Within your Shiptheory account, browse to the Brightpearl Settings page and scroll to the bottom. You will see a Cog icon in the bottom left. Click to expand advanced settings

Find the Commodity Code Brightpearl Custom Field, Commodity Description Brightpearl Custom Field, Commodity Composition Brightpearl Custom Field and Manufacturer Country Brightpearl Custom Field fields and enter the field code you just created in Brightpearl, then save.

Now, any products that contain data in these fields in Brightpearl will be downloaded by Shiptheory as orders are shipped.

Sending Commodity Data from WooCommerce

Setting up commodity data in WooCommerce requires you to set up custom attribute fields for your products, then correspondingly input these fields into Shiptheory. Once this is done, we will begin pulling through the information in these fields (the commodity information)

To do this, begin by heading over to your WooCommerce store, then navigating to products > attributes. From here you will want to create a custom attribute field for each of the commodity fields you require (Tariff Code, Country Code, Description and Composition) And create a unique "slug", this is going to be the code you enter into Shiptheory later.

Above you can see a perfect example of a field for Commodity Code. 

From here, you will want to locate your WooCommerce Advanced Settings in Shiptheory. Then scoll down to "Customs Information" and enter the "Slug" for each of these fields into the require attribute fields.

As you can see here, this is now corresponding with the information we have given WooCommerce, and commodity codes will begin to pull through from WooCommerce,

 assuming it is present on the product(s).

Sending Commodity Data from Magento

When shipping internationally, some carriers require product Commodity Code, Manufacturer Country, Description and Composition used during Customs. It is possible to download this additional commodity data to Shiptheory from Magento when Shiptheory picks up your orders.

To have Shiptheory download this data, create a Product Attributes in Magento for the Commodity Code, Description and Composition. There is an existing Country of Manufacturer attribute in Magento, you can use this pr-existing field or create a new field.

You are going to want to set up different product attribute fields within your Magento store, then you will want to make sure you update any products you have in Magento with the correct commodity information, making use of the new fields you have just created. Once this is done, you are going to need to enter these attribute fields correspondingly in Shiptheory, then commodity information will begin to pull through once present on a product within Magento.

To ensure you create these attribute fields correctly, please see this in-depth article, walking through the entire process of setting up Magento to send commodity data to Shiptheory. You can find this here.

Sending Commodity Data from Magento 2

Similar to Magento, you are going to need to create product attribute fields to input the different commodity information. Then correspondingly enter these fields into Shiptheory for us to begin pulling information from your orders.

You can add attributes by navigating;

Stores > Product > Add New Attribute

It is within here you will want to name your attribute, then "save and continue edit". You now need to assign this attribute to any attribute sets so that you can see this attribute when editing products. Do this by clicking "Attribute Set" in the "Stores" page, then click "Default", make sure to then hit "Save".

From here, you will want to update any pre-existing products you may have in your Magento 2 store, and make sure to specify the commodity information under the new attribute sets you have made. Once done, we will need to make sure to update Shiptheory to know where to pull commodity information from.

To do this, head to your Magento 2 Advanced Settings in Manage Carriers. Then, scroll to the Commodity Attribute Fields, and input the fields you have just created. From here, Shiptheory will start to pull information from these fields when orders come through.

For more information and more detail on how to set up commodity information within Magento 2, please see here.

Sending Commodity Data from TradeGecko

Shiptheory is sent the information that is available on the product's information page in TradeGecko. The can be found by going to Inventory>Products and then selecting the product. The information on this page is where the commodity information comes from. 

Data we receive includes:

SKU, Product Name/variant name, HS Code, Country of Origin, Price, Weight and Product Description.

Uploading Commodity Data Using a CSV

If you are using a channel that does not support commodity information, such as Etsy, Amazon or Ebay, then you can upload commodity information into Shiptheory using a CSV import

Using our CSV Import tool, you can essentially create an order in Shiptheory that contains every product, and in this you can specify product information for every product- and then due to how Shiptheory works, we will download all of this information and update your product catalog with this information.

This means, when an order comes in containing a product that you have in your catalog, any information that is missing from the product in the order that is being sent from your channel, we will automatically update using the information you previously uploaded. 

Creating a CSV

To create a CSV, head to the CSV Import Page and download the template (you may want to download the example aswell for reference). You will see on this page, all of the required information to be on the CSV in order for Shiptheory to accept the CSV as an order, make sure that all of this is present.

Please note when uploading a CSV, ensure reference 1 and reference 2 are the same throughout. For example make sure every product has a reference 1 of "01234" and a reference 2 of "12345". Doing so will ensure that all products are specified under the same order, and if you have different references, every product will come through in its own order, bombarding your account with orders.

Once you have got the template downloaded, open it via means of Google Sheets or Excel etc, and fill in all the necessary product information. One you are satisfied that you have added all necessary information, and specified some test order recipient information, you can export the document to a .CSV file. From here you can upload it to the Shiptheory CSV Import Page.

You can see a little bit more regarding CSV's here

We also recommend contacting our support team to ask for assistance with CSV's, as we can ensure these are created properly and have everything properly imported!

Sending Commodity Data Through the API

There are two ways of specifying commodity information when sending orders via the API. These are as follows:

Booking a Shipment - You can specify commodity information when booking a shipment via the API by populating the commodity fields.  When making a book shipment request, within the products array you can specify commodity fields for each product in the shipment. You can find where exactly to specify this by viewing our rest API documentation.

Add Product Call - You can directly add a product to your Shiptheory via the API by making an "Add Product Call". When making this call, specify the commodity information under the commodity fields.To see exactly where to specify this, see our rest API documentation.

If you have any questions or issues regarding any of the steps laid out above, please feel free to Contact Support!