> ## 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 DSV XPress

> Connect DSV XPress under Carriers with your Subscription key, Booking service key, Personal access token and Account number, plus the optional Tracking subscription key and Tracking service key.

**DSV XPress** is DSV's express and parcel service. DSV hands each parcel to one of its partner carriers, such as UPS, FedEx or GLS, on your DSV rates, and the label you print is that carrier's. The fields that every carrier shares are on [Carrier credentials](/docs/how-to/carrier-credentials).

DSV has three carriers in Zippendo. Pick the one your DSV agreement is for: **DSV XPress** (this page) for express and parcels, [DSV Road](/docs/how-to/connect-dsv-road) for road freight in myDSV, and [DSV Road (DB Schenker)](/docs/how-to/connect-dsv-schenker) for the former DB Schenker road network.

<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). DSV needs a phone number on every address: the sender, the receiver and any pickup address.
</Info>

## Before you start

* A DSV XPress account and its account number. In the XPress portal ([xpress.dsv.com](https://xpress.dsv.com)), open your **API profile** page. It shows your **Booking** key, your **Tracking** key and your personal access token. In your XPress user settings, set the label format to 10x15.
* An account on [developer.dsv.com](https://developer.dsv.com) with a subscription to **Booking - XPress**, which DSV approves. Its primary key is on your **Profile** page there. DSV may also give you a separate **Tracking - XPress** subscription.
* A written note to your DSV contact that Zippendo sends DSV XPress shipments on your behalf. DSV's terms ask for it before you send.

You can connect DSV XPress more than once. Give each connection its own **Carrier name**. **Learn more** on the card opens DSV's page about DSV XPress.

<Note>
  DSV XPress has no **Test mode**. Your keys decide whether you reach DSV's demo service or its live service, because DSV uses the same address for both. To test, connect the demo keys from [demo.xpress.dsv.com](https://demo.xpress.dsv.com) and your demo subscription as one carrier, and your live keys as another. Keep all the keys on one connection from the same environment. See [Test mode](/docs/how-to/sandbox-mode).
</Note>

## Connect DSV XPress

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

  <Step title="Find DSV XPress">
    On the **DSV XPress** card, click **Connect**.
  </Step>

  <Step title="Fill in the form">
    The **Connect carrier** window opens. Enter a **Carrier name**, your **Subscription key**, **Booking service key**, **Personal access token** and **Account number**. **Tracking subscription key** and **Tracking service key** are 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>

## 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 **DSV XPress**. |
| **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. |
| **Subscription key** | Yes | The primary key of your **Booking - XPress** subscription, from your **Profile** page on developer.dsv.com. Enter your demo key to test. |
| **Booking service key** | Yes | The **Booking** key on the **API profile** page of the XPress portal: demo.xpress.dsv.com for demo, xpress.dsv.com for live. |
| **Personal access token** | Yes | Your personal access token, from the same **API profile** page. |
| **Account number** | Yes | Your DSV XPress account number, digits only. Also set the label format to 10x15 in your XPress user settings. |
| **Tracking subscription key** | No | The primary key of your **Tracking - XPress** subscription, if DSV gave you a separate one. Leave it empty to use the **Subscription key** for tracking too. |
| **Tracking service key** | No | The **Tracking** key on the **API profile** page of the XPress portal. Shipments are not tracked without it. |

**Connect** does nothing until **Carrier name**, **Subscription key**, **Booking service key**, **Personal access token** and **Account number** have a value.

## 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 that is not on your DSV agreement is refused when you send, with DSV's reason.

| Product | Use it for | Delivers to |
| - | - | - |
| **DSV XPress Air Express** | Express delivery by air, with delivery by 9:00, 10:30 or 12:00 if you want it | Worldwide |
| **DSV XPress Economy** | Slower delivery at a lower rate than Air Express | Worldwide |
| **DSV XPress Parcels** | Parcels by road within Europe | The EU, the United Kingdom, Switzerland and Norway |
| **DSV XPress Parcels to GLS ParcelShop** | Parcels by road in Denmark to a GLS ParcelShop the receiver chooses | Denmark |
| **DSV XPress Air Express Import** | **Inbound**: express collection from abroad, delivered to you by air | Your address |
| **DSV XPress Economy Import** | **Inbound**: slower collection from abroad, delivered to you | Your address |
| **DSV XPress Parcels Import** | **Inbound**: parcels collected by road within Europe and delivered to you | Your address |

A shipment holds 1 to 100 parcels and at most 100 order lines. Every parcel needs a weight. The label is the partner carrier's, on the page size set in your XPress user settings.

### Services and extra details

Choose services on the shipment or in a shipping rule. Each product lists the services it offers.

| Service | What it does |
| - | - |
| **Insurance** | Insures the shipment. Fill in **Insured value**. |
| **Cash on delivery** | Air Express, Economy and Parcels: the carrier collects the **Cash-on-delivery amount** from the receiver. |
| **Saturday delivery** | Air Express: delivery on Saturday, where the route offers it. |

Tick **Drop off at the carrier** when you hand the parcel in at the carrier yourself. When it is not ticked, the carrier collects the parcel from your pickup address, one collection per address, day and carrier.

Under **Extra details for the carrier** you also find **Label format** (**PDF** or **ZPL (thermal)** for a label printer), **Package type** and **Delivery time** on Air Express, **Currency** for the insured value and the cash-on-delivery amount, and **Export reason** and **Invoice type** for shipments that clear customs.

### GLS ParcelShops (service points)

**DSV XPress Parcels to GLS ParcelShop** delivers to a service point. Choose the GLS ParcelShop in the **Service point** section of the shipment before you send. The search lists GLS ParcelShops in Denmark near the receiver's address. See [Pick a service point](/docs/how-to/pick-a-service-point) and [Service points](/docs/how-to/drop-point-and-service-points).

### Customs

Parcels that leave or enter the EU carry an invoice built from the order lines. Give every order line a unit price, a currency and a country of origin, and use one currency for all lines. Your EORI and IOSS numbers come from [Organization settings](/docs/how-to/organization-settings), or from the brand when it has its own customs identifiers. To print a commercial or proforma invoice with the label, turn on **Generate commercial invoice** or **Generate proforma invoice** under **Document generation** in the shipping rule. See [Customs and documents](/docs/how-to/customs-and-documents).

### Pickups and tracking

* DSV XPress is not available under **Pickups**. DSV arranges the collection with each shipment. See [Schedule a pickup](/docs/how-to/schedule-a-pickup) for the carriers that are.
* The **Pickup details** section does not appear for DSV XPress products, so you cannot set a pickup window on a shipment you create in Zippendo. A shipment created through the [Zippendo API](/docs/api-reference/overview) with pickup details is collected in that window. Otherwise Zippendo asks DSV to collect between 09:00 and 17:00: the same day when you send before 15:00 on a weekday, or else the next weekday.
* Zippendo cannot cancel a DSV XPress shipment. Contact DSV with the tracking number.
* When **Tracking service key** is filled in, Zippendo fetches tracking updates from DSV about once an hour, and they appear on the shipment's **Tracking** tab. There is nothing else to set up. Without the key, no tracking events appear. See [Carrier tracking webhooks](/docs/how-to/tracking-webhooks).
* The tracking number is DSV's shipment number, and the **Tracking link** opens DSV's public tracking page.

## 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**: the same DSV XPress fields as on the connect form.

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 |
| - | - |
| "Couldn't connect the carrier. Try again." | Check the required fields, then 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." when you send | A key is wrong or has expired, DSV has not approved your subscription yet, or demo and live keys are mixed on one connection. Fix it on **Edit carrier**. |
| "The carrier's settings are incomplete or not valid. Check them under Carriers." | **Account number** contains something other than digits. Fix it on **Edit carrier**. |
| "DSV XPress couldn't create the shipment." | DSV refused the shipment. The shipment shows DSV's reason, for example an address without a valid phone number, a parcel without a weight, or more than 100 parcels. Fix it and send again. |
| "The customs declaration is incomplete. Each item needs a description, a quantity, and a declared value greater than zero." | An order line has no price or no country of origin, or the order lines use more than one currency. The shipment shows which it is. Fix the order lines and send again. |
| "This product delivers to a service point. Select a service point before sending." | Choose a GLS ParcelShop 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 hasn't confirmed the shipment, so no label was issued. Use Fetch label on the shipment to confirm it and get the label. Don't send the shipment again." | Click **Fetch label** on the shipment. If it then shows DSV's reason, for example a pickup window that has passed, contact DSV. |
| "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." | DSV confirmed the shipment, but the label did not arrive. Click **Fetch label** on the shipment. |
| "The carrier did not respond. Try again in a moment." | DSV did not answer before the shipment was created. Send it again. |
| "We can't reach the carriers right now. Try again in a moment." or "The carrier rejected this. Check the carrier's reason, correct the details and try again." | DSV or Zippendo's connection to it is down, or DSV refused the request. Try again later, or fix what DSV names. |

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

## Related

* [Connect DSV Road](/docs/how-to/connect-dsv-road)
* [Connect DSV Road (DB Schenker)](/docs/how-to/connect-dsv-schenker)
* [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)
* [Pick a service point](/docs/how-to/pick-a-service-point)
* [Carriers](/docs/tutorials/carriers)


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