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

# Connect DHL Parcel Benelux

> Connect DHL Parcel Benelux under Carriers with your API user ID, API key and Account number from My DHL eCommerce, plus the optional Test mode.

**DHL Parcel Benelux** sends parcels from the Netherlands, Belgium and Luxembourg: home, ServicePoint and mailbox parcels, Europlus business parcels and pallets, Parcel Connect across Europe, return shipments and pickups. The fields that every carrier shares are on [Carrier credentials](/docs/how-to/carrier-credentials).

For worldwide express shipments, see [Connect DHL Express](/docs/how-to/connect-dhl): it is a separate DHL account. If DHL eCommerce Europe gave you eConnect API access and a customer ID, use [Connect DHL eCommerce Europe](/docs/how-to/connect-dhl-ecommerce-eu) instead.

<Info>
  You do not pick a sender address on this form. Add your addresses under the organization menu → **Manage** → **Addresses**. You choose the sender address on each shipment or in a [shipping rule](/docs/how-to/shipping-rule-fields). DHL Parcel Benelux ships from an address in the Netherlands, Belgium or Luxembourg, and return shipments come back to one.
</Info>

## Before you start

* A DHL eCommerce business account with access to **My DHL eCommerce**. DHL's sales team opens business accounts. **Learn more** on the card opens [DHL eCommerce for business](https://www.dhlecommerce.nl/en/business).
* An API key from My DHL eCommerce (see below), and the DHL **account number** your shipments and pickups are billed to, for example `08500001`.
* For **Test mode**: a test account from DHL's sales team. Your live API key does not work in DHL's test system.

You can connect DHL Parcel Benelux more than once. Give each connection its own **Carrier name**.

## Get your API key

In My DHL eCommerce, open **Settings** in the user menu, go to the **API keys** tab and click **Create API key**. DHL shows the user ID and the key only once, so copy both straight away. A new key replaces the old one at once, so update every connection for that DHL account on **Edit carrier**.

## Connect DHL Parcel Benelux

<Steps>
  <Step title="Open All carriers">
    In the sidebar, click **Carriers**, then open the **All carriers** tab.
  </Step>

  <Step title="Find DHL Parcel Benelux">
    On the **DHL Parcel Benelux** card, click **Connect**.
  </Step>

  <Step title="Fill in the form">
    The **Connect carrier** window opens. Enter a **Carrier name**, your **API user ID**, **API key** and **Account number**. **Test mode** is under **Optional fields**.
  </Step>

  <Step title="Connect the carrier">
    Click **Connect**. You see "Carrier connected", and the carrier appears on the **My carriers** tab.
  </Step>
</Steps>

<Frame caption="The DHL Parcel Benelux card on All carriers">
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/zippendo/images/how-to/connect-dhl-parcel-nl/01-all-carriers-card-light.png" alt="All carriers with the DHL Parcel Benelux card and its Connect and Learn more buttons" className="block dark:hidden" />

  <img src="https://mintlify.s3.us-west-1.amazonaws.com/zippendo/images/how-to/connect-dhl-parcel-nl/01-all-carriers-card-dark.png" alt="All carriers with the DHL Parcel Benelux card and its Connect and Learn more buttons" className="hidden dark:block" />
</Frame>

<Frame caption="Connect carrier for DHL Parcel Benelux - fill in API user ID, API key and Account number">
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/zippendo/images/how-to/connect-dhl-parcel-nl/02-connect-modal-light.png" alt="Connect carrier window for DHL Parcel Benelux with the required API user ID, API key and Account number fields" className="block dark:hidden" />

  <img src="https://mintlify.s3.us-west-1.amazonaws.com/zippendo/images/how-to/connect-dhl-parcel-nl/02-connect-modal-dark.png" alt="Connect carrier window for DHL Parcel Benelux with the required API user ID, API key and Account number fields" className="hidden dark:block" />
</Frame>

## Fields on the form

| Field | Required | What to enter |
| - | - | - |
| **Carrier name** | Yes | The name you see on **My carriers** and when you pick a carrier on a shipment. It starts as **DHL Parcel Benelux**. |
| **Brand** | No | Shown only if your organization has [brands](/docs/how-to/create-a-brand). The form says: "Only this brand can use this carrier." Leave it empty to let every brand use it. |
| **API user ID** | Yes | Shown when you create the key. Copy it exactly. The form says: "The user ID of your API key, found in My DHL eCommerce under Settings > API keys." |
| **API key** | Yes | Shown once, together with the user ID. The form says: "The secret of the same API key, from My DHL eCommerce under Settings > API keys." |
| **Account number** | Yes | From your DHL contract. The form says: "Your DHL eCommerce account number, billed for shipments and pickups (e.g. 08500001)." |
| **Test mode** | No | A checkbox, off by default. The form says: "Use DHL Parcel's test environment. Requires test credentials from DHL's sales team; your regular API key does not work there." |

**Connect** does nothing until **Carrier name**, **API user ID**, **API key** and **Account number** have a value.

Leave **Test mode** off for real orders. A test account only works with **Test mode** on, and your live API key only with it off. See [Test mode](/docs/how-to/sandbox-mode).

## After you connect

The carrier appears on **My carriers** with a **Connected** badge. You choose the product on each shipment or in a shipping rule, not on this form. See [Carrier products and services](/docs/how-to/carrier-products-and-services). A product or service that is not on your DHL contract is refused when you send, with DHL's reason.

| Product | Delivers to | Parcels per shipment | Max weight |
| - | - | - | - |
| **DHL Parcel Home delivery** | Consumers in the Netherlands and Belgium. | One | 31 kg |
| **DHL Parcel ServicePoint delivery** | A DHL ServicePoint or parcel locker in the Netherlands or Belgium. | One | 20 kg |
| **DHL Parcel Mailbox parcel** | Letterboxes in the Netherlands and Belgium, up to 38 x 26 x 3 cm. Not from Luxembourg. | One | 2 kg |
| **DHL Europlus Business delivery** | Businesses in the Netherlands, Belgium and Luxembourg. | Several parcels or pallets | 31 kg per parcel, 1000 kg per pallet |
| **DHL Europlus International** | Businesses across Europe, including Switzerland, Norway and the United Kingdom. | Several parcels or pallets | 31 kg per parcel, 1000 kg per pallet |
| **DHL Parcel Connect Home delivery** | Consumers in other EU countries. | One | 31 kg |
| **DHL Parcel Connect ServicePoint delivery** | A DHL ServicePoint in other EU countries. | One | 31 kg |
| **DHL Parcel Return** | Return shipment: your customer sends a parcel back to your address. | One | 31 kg |

For a one-parcel product, split a shipment with more parcels first. See [Split and move parcels](/docs/how-to/split-and-move-parcels). The Home, ServicePoint, Mailbox and Parcel Connect products need the receiver's email address.

### Services and extra details

Pick services on the shipment or in a shipping rule. Each product lists the services it offers, and some only apply in certain countries.

| Service | What it does |
| - | - |
| **Evening delivery** / **Saturday delivery** | Delivery in the evening or on Saturday. You can't use both on one shipment. |
| **Signature on delivery** / **Signature at the ServicePoint** | The receiver signs for the parcel. |
| **No delivery to neighbors** | DHL does not leave the parcel with a neighbor. |
| **Age check on delivery** | DHL checks the receiver's age. |
| **Multiple delivery attempts** | DHL tries to deliver more than once. |
| **Expresser (delivery before 11:00)** / **Delivery to a construction site** | Europlus Business delivery before 11:00, or to a building site. |
| **All-risks insurance** | Insures the parcel. Fill in **Insured amount (EUR)**. |
| **Return label included** | Adds a return label for your customer to the shipment's documents. |
| **Printless return (QR code by email)** | For **DHL Parcel Return** from the Netherlands. See "Return shipments" below. |

Under **Extra details for the carrier**, every product also has **Label format** (PDF, or ZPL for a Zebra label printer) and **Parcel type**. Leave **Parcel type** empty, and Zippendo picks it from each parcel's weight and size.

### DHL ServicePoints (service points)

**DHL Parcel ServicePoint delivery** and **DHL Parcel Connect ServicePoint delivery** deliver to a service point. Choose the service point in the **Service point** section of the shipment before you send. See [Pick a service point](/docs/how-to/pick-a-service-point) and [Service points](/docs/how-to/drop-point-and-service-points).

### Return shipments

**DHL Parcel Return** brings a parcel from your customer to your address. Your customer hands it in at a DHL ServicePoint. With **Printless return (QR code by email)**, DHL emails your customer a QR code to show at the ServicePoint instead of a label. It needs your customer's email address, and the shipment gets no tracking number. See [Inbound and returns](/docs/how-to/inbound-and-returns).

### Customs

**DHL Europlus International** shipments that leave the EU carry a customs declaration built from the order lines. Every order line needs a description, a tariff number (HS code), a quantity, a value and a country of origin, all in one currency. **Export reason** and **Invoice number** are optional details on the product. DHL makes the customs declaration or commercial invoice, and Zippendo adds it to the shipment's documents. Your EORI and VOEC numbers come from [Organization settings](/docs/how-to/organization-settings). See [Customs and documents](/docs/how-to/customs-and-documents).

### Pickups and tracking

* **Pickups:** you can book DHL Parcel Benelux pickups under **Pickups**. See [Schedule a pickup](/docs/how-to/schedule-a-pickup). The pickup form has no time fields for DHL, and the shipment itself has no pickup window you can set. Pick a date after today and an address in the Netherlands, Belgium or Luxembourg that has a name, street and city. DHL receives your **Special instructions (optional)**. You can't cancel or change a DHL pickup in Zippendo. To cancel, contact DHL Parcel with the **Carrier reference**.
* **Tracking:** Zippendo fetches tracking updates from DHL by itself. There is nothing to set up. The **Tracking timeline** starts when DHL registers the parcel, and the **Tracking link** opens DHL's tracking page. See [Carrier tracking webhooks](/docs/how-to/tracking-webhooks).

## Change or remove the connection

To change it, open **Carriers** → **My carriers** and click **Edit carrier** on the card. The **Edit carrier** page has two sections:

* **General**: **Carrier name**, and **Brand** if your organization has brands.
* **Carrier settings**: **API user ID**, **API key**, **Account number** and **Test mode**.

Click **Save**. You see "Carrier updated".

To remove it, click **Delete** on the same page, type the carrier name in capital letters, and click **Delete**. Shipping rules that use this carrier are deleted with it. Shipments you already sent keep their labels and tracking numbers.

## Common problems

| What you see | What to do |
| - | - |
| Nothing happens when you click **Connect** | Fill in **Carrier name**, **API user ID**, **API key** and **Account number**. |
| "Couldn't connect the carrier. Try again." | Try again. |
| "You've reached your plan's limit. Upgrade your plan or remove something you no longer use." or "You're over your plan's limits. Upgrade your plan or remove what you no longer use." | Your plan's carrier limit is reached. See [Billing and usage](/docs/how-to/billing-and-usage). |
| "The carrier rejected your login details. Update the carrier credentials under Carriers." | The API key is wrong or has been replaced, or it does not match **Test mode**. Fix it on **Edit carrier**. |
| "The carrier's settings are incomplete or not valid. Check them under Carriers." | The **API user ID** was not copied exactly. Copy it again from **Settings** → **API keys** in My DHL eCommerce. |
| "Some options for this carrier product are missing or not valid. Check the shipment's services and options, then try again." | Several parcels on a one-parcel product, a missing receiver email address, a service outside its countries, or insurance without an amount. The shipment shows what to change. |
| "The customs declaration is incomplete. Each item needs a description, a quantity, and a declared value greater than zero." | An order line is missing customs data. Fill it in and send again. |
| "DHL Parcel Benelux couldn't create the shipment." | DHL refused the shipment. The shipment shows DHL's reason, for example a product that is not on your contract. |
| "This product delivers to a service point. Select a service point before sending." | Choose a DHL ServicePoint on the shipment. |
| "The selected carrier product does not ship between these countries. Choose a different product." | Choose a product for this route. |
| "The carrier accepted the shipment but its label couldn't be downloaded. The parcel will still be collected. Use Fetch label on the shipment to try again." | Click **Fetch label** on the shipment. |
| "The carrier issued the label but couldn't produce one of the accompanying documents. Check the shipment's documents before handing the parcel over." | The customs form did not download. Download it in My DHL eCommerce before you hand the parcel over. |
| "The connection to the carrier was lost before it answered. Zippendo has no confirmation that the shipment was created, so check with the carrier before sending again." | Look the shipment up in My DHL eCommerce first. |
| Pickup shows **Failed** in the **Pickups** list with "The carrier rejected this. Check the carrier's reason, correct the details and try again." | Check that the date is after today and that the pickup address is in the Netherlands, Belgium or Luxembourg with a name, street and city. If all of that is right, check with DHL Parcel before you request the pickup again: the pickup may already be scheduled. |
| "The carrier didn't confirm the pickup, so it may still have been scheduled. Check with the carrier before requesting the pickup again." | DHL Parcel may have scheduled the pickup even though it did not answer. Ask DHL Parcel before you request it again, so the driver does not come twice. |

More help: [Carrier authentication failures](/docs/knowledge-base/carrier-authentication-failures).

## Related

* [Connect DHL eCommerce Europe](/docs/how-to/connect-dhl-ecommerce-eu)
* [Connect DHL Express](/docs/how-to/connect-dhl)
* [Connect a carrier or integration](/docs/how-to/connect-index)
* [Carrier credentials](/docs/how-to/carrier-credentials)
* [Test mode](/docs/how-to/sandbox-mode)
* [Carrier products and services](/docs/how-to/carrier-products-and-services)
* [Schedule a pickup](/docs/how-to/schedule-a-pickup)
* [Request a carrier integration](/docs/how-to/request-carrier-integration)
* [Carriers](/docs/tutorials/carriers)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.