The DHL Express Break Bulk product is a service for bulk shipments clearing customs as a single unit. The subsequent delivery of individual shipments is made within the same destination country or customs union (the EU).
This article will explain how to make DHL Break Bulk shipments in Shipment Server and will cover the following topics:
- Prerequisites - what you need to get started
- Activate Bulk Shipments on a stack
- Submit shipment (baby)
- Create Break Bulk shipment (mother)
- Submit Break Bulk Shipment (mother)
- Transmit shipment
Prerequisites - what you need to get started
Before you can start making DHL Express Break Bulk shipments, you need the correct products activated in your Ticket.
- Express Worldwide Break Bulk (BBX) - Subcarrier "DHL Express"
- Economy Select Dutiable (ESI) or Express Worldwide Dutiable (WPX) on subcarrier "DHL Express GLS"
If you do not have these products available in your Shipment Server, you must contact our Customer Service to have them activated.
It is also important, that you tell us when you start booking Break Bulk shipments in Shipso we can notify DHL Express. Booking Break Bulk shipments requires a special setup.
Activating Bulk Shipments on a stack
Once the correct products are available, you need to create a specific stack for your Bulk Shipments:
Method: CreateStack
The first method is to create the stack on DHL Express subcarrier.
You need to define one stack per non EU country for instance NO or CH.
For shipments going from outside EU to EU country you can define one common stack for EU, which let you do the customs in any EU country and not one spesific EU country.
Example request:
{
"SubcarrierConceptID": 336,
"StackName": "BBX NO"
}
Response:
{
"StackCSID": 42712
}
Method: CreateBreakBulk
IsEU - 0 means non EU
IsEU - 1 means EU (leave country code blank)
Request:
{
"StackCSID": 42712,
"ProdCSID": 2055,
"CountryCode": "NO",
"IsEU": 0
}
Response:
{
"Messages": [
"Break bulk created"
]
}
SubmitShipment (Baby)
Method: SubmitShipment
The Express Worldwide Break Bulk (BBX) product is used to create all the "children" in the bulk shipment and Economy Select Dutiable (ESI) or Express Worldwide Dutiable (WPX), depending on the settings on the stack in Outbox, is used for creating the "mother" shipment.
Start by creating all the "child" shipments using SubmitShipment with the product Express Worldwide Break Bulk (BBX).
Select the stack for the destination of the break bulk shipment (mother) for instance NO or EU.
Request:
{
"Kind": 1,
"OrderNo": "TEST",
"ActorCSID": 1999,
"ProdConceptID": 1955,
"StackCSID": 42712,
"Services": [
182023
],
"Addresses": [
{
"Kind": 2,
"Name1": "Test",
"Street1": "Street 1",
"PostCode": "8000",
"City": "AARHUS",
"Phone": "1234567890",
"Attention": "TEST",
"CountryCode": "DK"
},
{
"Kind": 1,
"Name1": "John Doe",
"Street1": "Test address 1",
"Street2": "Test address 2",
"PostCode": "0580",
"City": "OSLO",
"Phone": "1234567890",
"Attention": "TEST",
"CountryCode": "NO"
}
],
"Amounts": [
{
"Kind": 10,
"CurrencyCode": "1",
"Value": 150.0
}
],
"Lines": [
{
"PkgWeight": 5000,
"GoodsTypeKey1": "PA",
"References": [
{
"Kind": 23,
"Value": "TEST"
}
],
"Pkgs": [
{
"ItemNo": 1
}
]
}
]
}
Method: GetBreakBulkInvoiceSummary
This method is used to check the invoice value and currency on the BBX (child) shipments on specified stack.
{
"StackCSID": 42712
}
Response:
"BreakBulkInvoiceSummary": [
{
"CurrencyCode": "NOK",
"Value": 124
},
{
"CurrencyCode": "DKK",
"Value": 125
}
]
}
Create Break Bulk Shipment (mother)
Method: CreateBreakBulkShipment
When all your BBX (child) shipments have been created you use this method to create the mother shipment. It will be done in two steps.
Request:
{
"StackCSID": 42712,
"CurrencyCode": "NOK",
"Value": "500"
}
Response:
You will get a draft mother shipment with the shipment number.
Use the shipment number of the response for the next method SubmitShipment (submitting the mother).
{
"InstallationID": "30000186327",
"PhysicalInstallationID": "20001795127",
"Kind": 1,
"ShpNo": "0000000070",
"PickupDt": "2021-06-29T00:00:00",
"Weight": 10000,
"ActorCSID": 1999,
"Temperature": 1,
"CarriagePayer": 1,
"CarrierConceptID": 182,
"CarrierCSID": 152,
"SubcarrierConceptID": 717,
"SubcarrierCSID": 491,
"ProdConceptID": 3099,
"ProdCSID": 2055,
"StackCSID": 42580,
"PayerAccountAtCarrier": "302392184",
"SenderAccountAtCarrier": "302392184",
"Addresses": [
{
"Kind": 11
},
{
"Kind": 1,
"CountryCode": "NO"
},
{
"Kind": 14,
"CountryCode": "NO"
},
{
"Kind": 4,
"CountryCode": "NO"
},
{
"Kind": 3,
"CountryCode": "NO"
},
{
"Kind": 9,
"CountryCode": "NO"
},
{
"Kind": 5,
"CountryCode": "NO"
},
{
"Kind": 8,
"CountryCode": "NO"
},
{
"Kind": 13,
"CountryCode": "NO"
},
{
"Kind": 2,
"Name1": "TESTING",
"Street1": "BULK TEST",
"PostCode": "8000",
"City": "AARHUS",
"Email": "test@domain.com",
"CountryCode": "DK",
"Attention": "Test",
"Phone": 123456789
}
],
"Amounts": [
{
"Kind": 10,
"CurrencyCode": 1,
"CurrencyName": "NOK",
"Value": 500
}
],
"References": [
{
"Kind": 32,
"Value": "TEST"
},
{
"Kind": 32,
"Value": "TEST"
}
],
"ShpConnections": [
{
"Kind": 4,
"ChildCSID": 140162473
},
{
"Kind": 4,
"ChildCSID": 140162750
}
],
"Lines": [
{
"LineWeight": 10000,
"PkgWeight": 10000,
"Pkgs": [
{
"PkgNo": "00370730253091742429"
}
]
}
],
"Services": [
182021,
182034
]
}
Submit Shipment (mother)
Request: SubmitShipment (mother)
It is important to use OverrideShpNo: 1 and include the fields ShpNo and ShpConnections from the previous request CreateBreakBulkShipment
You need to add detail lines for the mother shipment as it is the one that you will use in custom.
In addition to detail lines you need to add the receiver address in the country where the customs will be done.
You also need to add other mandatory data like incoterms etc.
Remember to add a label type in options because you need to print the label for the mother shipment.
Once the mother shipment is submitted, the bulk shipment number is cleared from the stack and ready for a new mother.
{"OverrideShpNo":1,
"InstallationID": "30000186327",
"PhysicalInstallationID": "20001795127",
"Kind": 1,
"ShpNo": "0000000070",
"PickupDt": "2021-06-28T00:00:00",
"Weight": 25000,
"ActorCSID": 1999,
"Temperature": 1,
"CarriagePayer": 1,
"CarrierConceptID": 182,
"CarrierCSID": 152,
"SubcarrierConceptID": 717,
"SubcarrierCSID": 491,
"ProdConceptID": 3099,
"ProdCSID": 2055,
"StackCSID": 42580,
"PayerAccountAtCarrier": "302392184",
"SenderAccountAtCarrier": "302392184",
"Addresses": [
{
"Kind": 1,
"Name1": "TESTING",
"Street1": "TEST",
"PostCode": "0580",
"City": "OSLO",
"Email": "test@domain.com",
"CountryCode": "NO",
"Attention": "Test",
"Phone": 123456789
},
{
"Kind": 2,
"Name1": "TESTING",
"Street1": "BULK TEST",
"PostCode": "8000",
"City": "AARHUS",
"Email": "test@domain.com",
"CountryCode": "DK",
"Attention": "Test",
"Phone": 123456789
}
],
"Amounts": [
{
"Kind": 10,
"CurrencyCode": 1,
"CurrencyName": "NOK",
"Value": 500
}
],
"References": [
{
"Kind": 32,
"Value": "TEST"
}
],
"ShpConnections": [
{
"Kind": 4,
"ChildCSID": 139926827
},
{
"Kind": 4,
"ChildCSID": 139927160
},
{
"Kind": 4,
"ChildCSID": 139927504
}
],
"Lines": [
{
"LineWeight": 25000,
"PkgWeight": 25000,
"GoodsTypeKey1":"PA",
"References": [
{
"Kind": 23,
"Value": "TEST"
}
],
"Pkgs": [
{
"PkgNo": "00370730253091742429"
}
]
}
],
"DetailGroups": [
{
"GroupID": 1,
"Rows": [
{
"Details": [
{
"KindID": 5,
"Value": "1"
},
{
"KindID": 6,
"Value": "2000"
},
{
"KindID": 2,
"Value": "150"
},
{
"KindID": 8,
"Value": "KG"
},
{
"KindID": 7,
"Value": "Gift items"
},
{
"KindID": 18,
"Value": "1234567"
},
{
"KindID": 4,
"Value": "SE"
}
]
}
]
}
],
"Services": [
182021,
182029,
182034
]
}
Method: GetDocument
If you need a Commercial invoice you should use this method.
Transmit shipment
Method: TransmitStack, TransmitShipments, TransmitShipment
To be able to send the EDI to DHL with shipment data you need to transmit the stack for the GLS Subcarrier.
Remember also to transmit the DHL Express stack you have used to empty the stack before creating new child shipments.