Manifest files

Modified on Mon, 25 Nov, 2024 at 1:19 PM

Manifest file examples and short explanations in files can be found at:

B2C manifest (default)

C2C manifest

Bag level manifest - only for 'Not registered' mail types

Minimal manifest - a minimal manifest can only be used when the parcels have been previously created either in "Labels" type shipment or via API

A manifest file contains several sections:

1. Shipment number

2. Bag code - The bag code should be unique. In case of postal channels, a postal bag code will be generated as well, but initially the bag record is created with the client's bag code.

3. Information about the parcels like parcel number, the consignee information (name, e-mail, phone number), address where the parcel should be delivered to, weights (in kilograms) and values (currency can be set in manifest file), tax type etc.

4. Item info in that are in the parcels, HS codes, items quantity, weight (in kilograms) and value. If there is more than one of the same items in the parcel, it needs to be indicated by the quantity. If there are two (or more) different items, the item info should be on two (or more) rows, where the parcel info will be duplicated as well.

Next let's see how to put the info in the file.


First let's look at the lowest level: the items.

Item level contains fields like:

  1. SKU code
  2. description of content
  3. HS code
  4. quantity
  5. weight per item (in kilograms)
  6. price per item
  7. currency


Let's say a customer has ordered 3 pairs of yoga pants, how would it look like in the manifest file? SKU code is optional, the description would state "Yoga pants", a valid HS code is necessary, quantity would be 3 and the price and weight for the singular item:

What happens if the same customer orders other different items as well? In these cases, there will be more than one row per parcel info - the fact that all these items are in one parcel needs to be indicated by the "Client ID" (also known as "Sender parcel number"). The client ID must be unique throughout all the shipments. This can be connected to an order number or generated randomly.

The rows with more than one different items in one parcel must be consecutive.

Next let's focus on the parcel level information.

Parcel level contains consignee information like name, address, phone number, e-mail but also the parcel weight and price. Parcel level information should be duplicated on all item rows in that parcel.

Continuing with the example above, we will have a parcel with 4 rows containing item information.

The address information is split into several columns: the country code, region (county/province), city, zip code and address.

Additionally to the address, our last mile partners need to be able to send a notification to the consignee once the parcel has arrived. This is why in most cases (at least non postal channels) the email or phone number is required.

Besides these fields the parcel has also a weight and a value, both of which can be calculated based on the item level information. To do this, we would need to add up all the items quantity times weight (and then the same for value).

In this specific case, the weight per parcel is calculated as follows:

3 * 0.14 +

5 * 0.12 +

1 * 0.18 +

3 * 0.2 = 1.8 kg

This value as all other parcel level information, needs to be duplicated on all item rows.

Since the value is on both item and parcel level, the currency must be the same for all items in one parcel.

The parcel level also contains info about Tax type, tax identification (if applicable) and mail type. The tax type and available options are described in the default manifest example (also linked above ↑).

Mail type is dependent on which products and lanes are opened to the customer. The account manager will provide the necessary information when on-boarding.


There are also columns for service code and route info, both of which will be provided once applicable.


The parcel ID will be generated while uploading. In some rare cases, an offline range of postal parcel numbers is provided, which could be used to fill this column prior to uploading. Mostly, the parcel ID will be filled by the system when uploading. The system will provide either postal or non-postal labels, depending on the channel.

Next step would be to sort these parcels into bags. The bag code is no different from other codes we use - this too must be unique throughout all the shipments. In the manifest file, it's called "Package ID".

All bags need to be sent out with a bag-tag with a scannable barcode. If the client is not able to generate such a tag, we have this option in extranet – Shipments – Bags – Generate bag labels:

Clicking on Generate Bag labels will open up a drawer window, where the client can fill in relevant information. More than one bag tag can be generated at once bu clicking on „Add“ to fill more rows:

Additional information is optional. After filling all the info (please note that additional info is optional), clicking on „Save“ and „Generate“ will provide a PDF file with all bag tags.

Mixed bags would slow down the transit time significantly, this is why it's advised to sort parcels into bags based on countries and channels (postal/non-postal).

Here are four parcels divided into two bags. The first half goes to Norway and is a non-postal channel, so it's suitable to put these into one bag. The next half goes to Denmark and is a postal channel.

None of the bags should weight more than 30 kilograms and it's advised to keep it closer to 20 kg.


Here we can also see a column called "Way bill". This is also known as the "shipment number". The shipment number is either generated by our system or filled by the customer based on requirements.

The way bill needs to be filled before uploading the manifest to the shipment and needs to match the shipment number in the system exactly.


Read more about creating the shipments and shipment numbers in the "Shipments" article.


Short summary

  • In case more than one of the same item was ordered, increase the quantity
  • In case several different items were ordered, use several rows to indicate item data and connect these rows by duplicating parcel information on these rows
  • One parcel info must be on consecutive rows in the manifest
  • Parcel price and weight are calculated based on the items inside the parcel.
  • The currency needs to be the same throughout one parcel items, since the currency also applies to the parcel total value.
  • Client ID (Sender parcel number) must always be unique.
  • Bag code (Package ID) must me unique throughout all shipments.
  • Parcels should be divided into bags based on country and channel.
  • Bags should not be heavier than 30 kilograms, but it's better to keep it around 20 kilograms.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article