International Shipping
To ship internationally, your package will be required to go through customs in the destination country. You must know about laws, regulations, and customs procedures that preside over customs.
It's required that you send us a list of contents with their declared value while requesting your label. A custom's item comprises of the following properties.
Customs Items
Property | Type | Required | Description |
---|---|---|---|
customs_item_id | string | ✔ | Do not include a customs_item_id when you create your shipment. One will be generated for you and returned in the response. Providing a customs_item_id in your initial request will cause an error. You will need to include this identifier if you wish to update customs items when you make a request to update a shipment. |
description | string | A short description of the product you are shipping. | |
quantity | integer | ✔ | The number of items in the shipment. The minimum value is 1 . |
value | decimal | ✔ | The declared customs value of each item. |
harmonized_tariff_code | string | ✔ | The Harmonization Codes as standardized by the World Customs Organization. See below. |
country_of_origin | string | The two letter country code as it corresponds to ISO 3166-1 alpha-2. | |
sku | string | ✔ *required by some carriers | The Stock Keeping Unit for this shipment. This value must be between 1 and 20 characters. |
sku_description | string | A description of the sku. |
Make sure to pay attention to the customs
field, as it contains two other fields contents
and non_delivery
The Customs Object
Property | Type | Required | Description |
---|---|---|---|
contents | enumerated string | ✔ | The contents of the shipment. Valid values include the following: gift - The package contains a gift merchandise - The package contains merchandise.returned_goods - The package is a returned shipment. documents - The package contains documents. sample - The package contains a commercial sample, such as a flooring sample. |
non_delivery | enumerated string | ✔ | Indicates what should be done if the shipment cannot be delivered. Valid values include the following: treat_as_abandoned - Treat the shipment as abandoned. return_to_sender - Return the shipment ot the sender. |
custom_items | Customs Items[] | ✔ | An array of Customs Items associated with this shipment. |
The Tax Identifiers Object
ShipEngine supports applying tax identifiers to your shipment to comply with the new Brexit Requirements. Note that these properties exist inside the shipment
object so you will need
to take this into account when creating both shipments and labels
Property | Type | Required | Description |
---|---|---|---|
taxable_entity_type | enumerated string | ✔ | The taxable entity type for this tax item. Valid values include the following: shipper - The shipper is responsible for this tax. recipient - The recipient of the shipment is responsible for this tax. |
identifier_type | enumerated string | ✔ | The type of this tax identifier. Valid values include the following: vat - The tax identifier is a Value Added Tax. eori - The tax identifier is an Economic Operators Registration and Identification Number (EORI). ssn - The tax identifier is a Social Security Number. ein - The tax identifier is an Employer Identification Number (EIN). tin - The tax identifier is a Tax Identification Number (TIN). ioss - The tax identifier is an Import One-Stop Shop (IOSS). pan - The tax identifier is a Permanent Account Number (PAN). voec - The tax identifier is a Norwegian VAT On E-Commerce(VOEC). |
value | string | ✔ | The value of the identifier. |
issuing_authority | string | ✔ | The authority that issued this tax. This must be a valid 2 character ISO 3166 Alpha 2 country code. |
API Example
POST /v1/labels
Now that you understand the Customs Object and the Tax Identifiers Object, we can drop those into a basic label
request by adding a customs
object and a tax_identifiers
object, like this:
Example Request
Example Response
You can now print your label and ship it! Your label and customs form can be found by navigating to label_download.href
and links.form_download
in the response, respectively.
Prepay Duties & Taxes for Canada Shipments
If you ship from the US to Canada using USPS First-Class Mail International, Priority Mail International, or Priority Mail Express International, you have the option to create a Delivered Duty Paid (DDP) shipment.
When you create a DDP shipment, you will be charged a flat fee to pay duties or taxes in advance so that your recipient does not have to pay them upon delivery. The fee is determined by the USPS international service you select:
- First-Class Mail International: $6.95
- Priority Mail International and Priority Mail Express International: $9.95
DDP is specified in your Create Label requests as an Advanced Option. The flat fee will display in the other_amount
field of the rate response.