Cartonisation ("Parent" and "Child")

"Cartonisation" refers to the division of an "outer" or "parent" consignment (for example, a pallet) into "inner" or "child" consignments ("cartons"). These are then linked to the parent for tracking purposes.

Cartonisation can be used for both Ship to Store and Direct Injection.


The default setup is the Ship to Store/"Click and Collect" model, where the status(es) of the parent is applied to all the children.

To use Direct Injection, where the status(es) of the parent is not applied to the child/children, please ask Support for the retailer property directinjection.enabled to be set.

Regardless of setup, a child consignment can have only one parent consignment.

You can track each child carton as part of a linked relationship to the outer pallet/large box by using the outerConsignmentCode and outerParcelCode data in the child's Parcels Array. You can interrogate this data using findConsignmentByConsignmentCode, findConsignmentsByCartonId and findConsignmentsByOrderReference.

The status of the child varies according to whether the system is set up for Direct Injection or Ship to Store (see note above).

Cartonisation allows labels and manifests to be generated for two independent legs of a journey, for separate carriers that have no relationship, and for the consignments to be tracked over both legs (see below).

Direct Injection

This process refers to the direct injection of packages into a carrier network in another country.

The parent consignment is created and processed in the warehouse in the host country, where it is also cartonised into the "child" consignments. To prepare these consignments for direct injection, the paperwork is generated ready for immediate use within the destination country.

The first leg of the journey is the delivery, by a line haul carrier, of the parent and child consignments to the hub of the chosen carrier in the destination country.

The second leg is the tracked transit of the child consignments to the local depots of the chosen carrier, for onward "final mile" (or "last mile") delivery to the consumers.


Consider a scenario where you are shipping goods from the UK to Germany. You have already created the consignments with printed German address labels, and you already have an account for DHL Paket in Germany, which will undertake the final mile delivery to the German consumers. However, you need a pallet to move the consignment to Germany in the first place, so you create a parent consignment for the pallet and link the child consignments to it.

You then engage a line haul carrier, such as UPS, to collect the full pallet from the UK warehouse and deliver it to the DHL hub in Germany. At the end of this first leg the role of the parent pallet is complete.

DHL then 'injects" the child packages from the pallet into their local network, and the local DHL depots fulfil the final mile delivery of the packages to your German consumers.

By using parent/child linking, you obtain full tracking from the UK to Germany. Without it, you would only be able to track the children from the point that DHL received the parcel in Germany.

Ship to Store

This process allows sellers to use stock from different sources to fulfil their orders, which are then picked up by consumers from their nearest store.

The parent consignment is created in the warehouse, where it is also cartonised into the child consignments, and all the associated paperwork is generated.

The first leg of the journey is the delivery of the parent and child consignments to the seller's central distribution centre by a carrier or retailer fleet vehicle.

The second leg is the tracked transit of the child consignments to local stores, and "delivery" is the consumer collection.


The parent/child linking means that a store receipt for the parent and its subsequent cartonisation can be used as events to trigger e-mails for all the children, so that the associated consumers are notified when their packages can be picked up.

How to Cartonise a Consignment

Complete the following steps:

  1. Create the parent record for the pallet/large box by using createConsignments.

    Store the automatically generated Consignment Code (starting with DMC).

  2. Create and allocate the child record for each child package using, for example despatchConsignmentWithBookingCode, despatchConsignment or createAndAllocateConsignmentsWithBookingCode. You should specify the same carrier service code for each package (this should be the one for the carrier in the destination country if using Direct Injection).

    Store each Consignment Code.

  3. Generate the paperwork for each child consignment.

    If you used despatchConsignmentWithBookingCode or despatchConsignment, the paperwork will have been generated as part of the call. If you used createAndAllocateConsignmentsWithBookingCode, you need to use one of the following: createPaperworkForConsignments, createPaperworkForCarton or createPaperworkForParcel.

  4. Update the parent consignment with the additional weights and dimensions resulting from the packing in the previous step. You can use either update to modify particular fields or updateConsignments to modify the entire consignment.


    The updating must be carried out before allocation.

  5. Allocate the parent consignment to a carrier service using allocateConsignmentsWithBookingCode.

  6. Use addInnerToOuter to link each child to the parent as it is being packed. You do this using the parent/child Consignment Codes and parcel numbers.

    For example, link parcel 1 of the child consignment to parcel 1 of the parent consignment.

  7. Generate the paperwork for the parent consignment, using one of the following: createPaperworkForConsignments, createPaperworkForCarton or createPaperworkForParcel.

  8. Associate all the consignments (parent and child) with the same Manifest Group Code, so that they all go on the same trailer for the first leg of the journey (refer to Scan to Trailer).

  9. Mark all the consignments (both parent and children) as ready to manifest.

  10. Create the manifest.