> ## Documentation Index
> Fetch the complete documentation index at: https://sendcloud.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# International shipping

Sendcloud enables you to deliver orders from Europe to destinations across the globe, through a large selection of reliable and cost-effective shipping methods.

## Customs documents

Customs documents are **always required** for parcels shipping to destinations outside the EU. In most cases a commercial invoice is required by commercial carriers (e.g. UPS and DHL), however postal carriers (e.g. PostNL and Royal Mail) require a CN22 or CN23 form.

Sendcloud will automatically generate the correct type of documentation for your parcel when you create an international parcel through our API. You just need to include some additional properties in your API call, as listed below.

<Tip>
  **Tip:** You can find extensive guides to help you navigate the various types of documentation required for
  international shipping, and tips on shipping post-Brexit, in our [help
  center](https://support.sendcloud.com/hc/en-us/sections/360008404271-International-Shipping).
</Tip>

## Required fields for international shipments

When you [create a parcel](/docs/archive/shipping/create-a-parcel) for an international shipment, you need to include the properties below in your request. This is to ensure that customs documentation can be correctly rendered, and that the items in your order are listed alongside their value and description, as required.

| Parameter       | Type                             | Required                                   | Description                                                                                                                          |
| --------------- | -------------------------------- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ |
| `country_state` | `string`                         | Yes (for Australia, Canada, Italy and USA) | Code of the state (e.g. New York = `NY`).                                                                                            |
| `parcel_items`  | `array` of `parcel_item` objects | Yes                                        | An array of objects describing the items in the parcel. See the [parcel item object](#parcel-item-object) section below for details. |

### Parcel item object

The following properties should be included in each object in the `parcel_items` array:

| Parameter        | Type                           | Required | Description                                                                                                  |
| ---------------- | ------------------------------ | -------- | ------------------------------------------------------------------------------------------------------------ |
| `description`    | `string`                       | Yes      | Description of the product                                                                                   |
| `quantity`       | `integer`                      | Yes      | Number of items shipped                                                                                      |
| `weight`         | `string` (as a decimal number) | Yes      | Weight of the product in kilograms                                                                           |
| `value`          | `string` (as a decimal number) | Yes      | Value of the product, to 2 decimal places                                                                    |
| `hs_code`        | `string`                       | Yes      | 8 digit [Harmonized System](https://en.wikipedia.org/wiki/Harmonized_System) code for the product            |
| `origin_country` | `string`                       | Yes      | [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) for the product's origin |
| `product_id`     | `string`                       | No       | Your internal ID for the product                                                                             |
| `properties`     | `array` of `property` objects  | No       | Properties of the product, e.g. `color: "Black"`                                                             |

```json Example parcel_items array theme={null}
{
  "parcel_items": [
    {
      "description": "T-Shirt",
      "hs_code": "6109",
      "origin_country": "SE",
      "product_id": "898678671",
      "properties": {
        "color": "Blue",
        "size": "Medium"
      },
      "quantity": 2,
      "sku": "TST-OD2019-B620",
      "value": "19.95",
      "weight": "0.9"
    }
  ]
}
```

<Info>
  **Tip:** Adding items to commercial invoices & CN22/23 customs forms

  The amount of items you can include on a single commercial invoice differs depending on the type of shipping carrier you have selected. For a full overview, refer to our [help center](https://support.sendcloud.com/hc/en-us/articles/360042555232-How-to-download-customs-documents-through-Sendcloud)
</Info>

## Providing additional customs information with the `customs_information` object

The `customs_information` object contains optional customs information that should be provided for international parcels. The parameters are listed in the [Create a parcel or parcels](/api/v2/parcels/create-a-parcel-or-parcels#body-parcel-customs-information) endpoint specification.

The tax number validation for the `tax_number` field in this object is implemented with the following principles:

* By Sender: the country code can match either the sender country code or the destination country code.
* By Receiver or Importer of record: the country code can match only the destination country code
* For IOSS, the country code can contain any value in the EU and does not follow the logic above.

## Downloading customs documents

Once you have created an international parcel via the API, the response will contain customs documents for the parcel in the `documents` object.

```json Example response body theme={null}
{
  // ... other parcel properties
  "documents": [
    {
      "type": "commercial-invoice",
      "size": "a4",
      "link": "https://panel.sendcloud.sc/api/v2/parcels/1/documents/commercial-invoice"
    },
    {
      "type": "label",
      "size": "a6",
      "link": "https://panel.sendcloud.sc/api/v2/parcels/1/documents/label"
    }
  ]
}
```

In most cases, you'll need to download and print the documents, ready to attach them to your parcel. Note that some carriers require multiple copies of the commercial invoice or CN23 form to be attached to the parcel.

You can download documents using the URL provided in the response, or via the [Retrieve parcel documents](/api/v2/parcel-documents/retrieve-parcel-documents) endpoint by providing the parcel `id`.

<Info>
  **Tip: Paperless trade**

  Sendcloud supports digital sending of customs documents for carriers who support Paperless trade. You can find a list of supporting carriers in our [help center](https://support.sendcloud.com/hc/en-us/articles/4417349714452-Send-your-customs-documents-digitally-via-Paperless-Trade-).
</Info>
