Purpose: Learn how to add and connect multiple shipping contracts with the same carrier to your Sendcloud account so that you can ship with your own rates.
*For French, Italian and Spanish users, the multi-contract feature is available from the Growth plan.
The Sendcloud subscription plans have been updated. If the subscriptions shown in the banner above don’t match your current subscription plan and you’d like to know more, please click here.
Add your contracts
To add multiple shipping contracts in one Sendcloud account, follow these instructions as many times as the number of contracts you want to add:
- In your Sendcloud panel, go to Shipping > Carriers > My contracts
- Click Add your own contract
- Find the carrier and add the required information and credentials
- Save to add the contract
You can add an unlimited amount of carrier contracts.
Read our detailed guide for more information: How can I add my own carrier contract?
You can create labels via the API or directly from your Sendcloud panel (manually or with shipping rules). Read the relevant section:
Create your labels via the API
- First, find the contract id of the contract that you want to use. This can be done in two ways:
-
- In the Sendcloud panel, go to Shipping > Carriers > My contracts > Find the contract you want to use and click the pen icon to open the edit view > Copy the last part of the URL, after the last slash. That is the contract id.
- Via the "Retrieve a list of contracts" API endpoint. This endpoint will retrieve information about all of the available contracts you have in your Sendcloud account. It will also return the
contract_id
of your contracts, which you can use to get more details about a specific contract. Read a detailed explanation in our API documentation.
- In the Sendcloud panel, go to Shipping > Carriers > My contracts > Find the contract you want to use and click the pen icon to open the edit view > Copy the last part of the URL, after the last slash. That is the contract id.
-
- Announce the parcel and create the shipping label
-
- Find your current API request (see example request below)
- Include the contract id that you obtained in the previous step using the "contract" parameter. In the example below, replace the xxxx values with the contract id to announce a parcel.
Note: You can choose to announce the parcel and create the shipping label at the same time by providing the parameter
request_label: "true"
. More information is available in our API documentation.
Example request
{
"parcel": {
"order_number": "83773",
"external_reference": "83773",
"name": "John Doe",
"company_name": "FlowerShop",
"email": "john@doe.com",
"telephone": "+31611223344",
"address": "Fürstenrieder Str.",
"house_number": "70",
"address_2": "",
"city": "Munich",
"country": "DE",
"postal_code": "80686",
"country_state": null,
"to_service_point": 10168633,
"to_post_number": 262373726,
"customs_invoice_nr": "",
"customs_shipment_type": 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"
},
{
"description": "Laptop",
"hs_code": "84713010",
"origin_country": "DE",
"product_id": "5756464758",
"properties": {
"color": "Black",
"internal_storage": "2TB"
},
"quantity": 1,
"sku": "LT-PN2020-B23",
"value": "876.97",
"weight": "1.69"
}
],
"weight": "3.49",
"length": "31.5",
"width": "27.2",
"height": "12.7",
"total_order_value": "896.92",
"total_order_value_currency": "EUR",
"shipment": {
"id": xxxx,
"name": "DHL eCommerce UK 2-5kg to ParcelShop"
},
"shipping_method_checkout_name": "Battery WarehouseX DHL",
"sender_address": xxxxxx,
"quantity": 1,
"total_insured_value": 0,
"shipment_uuid": "4a84d84f-aa76-44b7-985d-3ef9e04dad38",
"is_return": false,
"request_label": true,
"apply_shipping_rules": false,
"request_label_async": false,
"contract": xxxx
}
}
FAQ
What happens if I have more than one active contract and don’t specify the contract id?
- The response will return an error message.
What happens if I have only one active contract and don't specify the contract id?
- Nothing, we will always default to the active direct contract.
Can I also ship with Sendcloud rates?
- Yes, but you can only know the contract id using the contracts endpoint and not via the Sendcloud panel.
Is the contract id of a contract unique to a user account or to Sendcloud as a whole?
- It is unique to Sendcloud as a whole.
Create your labels in the Sendcloud panel
Manually
- Manually create a shipment in your Sendcloud account by going to Shipping > Orders > + New shipment.
- Enter the necessary information, including the shipping method.
- At the end of the page you will see a section called Carrier contract. Click the arrow to display the drop-down menu and choose here the contract that you wish to use. All your active contracts will be displayed.
- Select the relevant contract.
- Click Create label when ready.
With shipping rules
To automatize the selection of the correct shipping contract for each case, you can use shipping rules. To create a new shipping rule, go to Shipping > Shipping rules >Create new rule > Enter the condition/s and the action/s > Click Save shipping rule. To select a shipping contract, enter the action "Use shipping contract" and then click the arrow to display all your available contracts and the Sendcloud rates.
You will find here some suggestions:
-
If “Sender address” “is/ is not” “xxxx” AND “Carrier” “is/is not” “xxxx” THEN “Use shipping contract” “xxxx”
-
If “Sender address” “is/ is not” “xxxx” AND “Checkout delivery method” “is/is not/…” “xxxx” THEN “Use shipping contract” “xxxx”
-
If “Carrier” “is/is not” “xxxx” THEN “Use shipping contract” “xxxx”
-
If “Checkout delivery method” “is/is not/…” “xxxx” THEN “Use shipping contract” “xxxx” and "Ship with" "xxxx"
Learn more about shipping rules here: Shipping rules overview and application.
Return labels
We currently do not support contract-related return rules. We only offer the action "Use shipping contract" for shipping rules.
Important note about returns with DHL Germany
When a shipping contract with DHL Germany is added to Sendcloud, you need to define which countries will that contract allow returns from.
As we do not support contract-related return rules, make sure you manually select the correct contract before you create a label, especially if you have several DHL Germany contracts supporting returns from different countries. You can do this when you create a new return or if you edit an incoming return.
Related articles:
→ How can I add my own carrier contract?