Create Manifests

What are Manifests?

A manifest is a list of shipments. Manifests typically include data for each shipment like recipient name, service, tracking numbers, package details, shipping date, and other information.

Some carriers require a paper manifest for their driver at pickup, while others receive electronic manifests when you create a label. Electronic manifests make paper manifests unnecessary. However, some providers, like USPS require manifests when shipping large numbers of packages.

A manifest exists so the carrier can scan the manifest and check in all the packages being shipped. Think about how long it would take for a delivery driver to arrive, pick up 100 packages, and individually scan each of them.

While ShipEngine uses the term "manifest" to refer to these lists of packages, some carriers use other terminology, such as:

  • Shipment manifest
  • SCAN form
  • Order Summary
  • End of Day form

When are Manifests Needed?

Some carriers require manifests (paper and/or electronic) to properly process shipments. Manifests help postal workers and warehouse staff to work efficiently. Creating a manifest allows the warehouse to 'close out' what they're going to send with the postal worker and move to a new grouping.

Not all carriers require manifests. Some carriers make the manifest process optional, and may offer manifests in a PDF version.

Manifest Requirements by Carrier

Not all carriers require a manifest, and some may make them optional. Many carriers require you to print a PDF form and present it to the driver upon pickup. Some carriers support electronic manifesting, in which case ShipEngine will automatically submit the manifest for you.

Carrier Name Manifest Required? Manifest Method
Access Worldwide REQUIRED
APC REQUIRED PDF download
Asendia REQUIRED
Australia Post REQUIRED[^1] PDF download
Canada Post REQUIRED PDF download
DHL eCommerce REQUIRED PDF[^2]
DHL Express AU NO N/A
DHL Express Canada NO N/A
DHL Express UK REQUIRED Electronically submitted
DHL Express (US) NO N/A
DPD NO N/A
FedEx (US, CA) Optional [^3] PDF download
FedEx UK REQUIRED PDF download
FedEx International MailService NO
FirstMile REQUIRED Electronically submitted
Globegistics REQUIRED PDF download
Hermes NO N/A
IMEX REQUIRED [^4] PDF download
LSO (Lone Star Overnight) NO N/A
Newgistics REQUIRED Electronically submitted
OnTrac NO N/A
Parcelforce NO N/A
Purolator Canada REQUIRED [^4] PDF download
Royal Mail REQUIRED PDF download
RR Donnelley REQUIRED PDF download
Sendle NO N/A
UPS (CA, UK, US) Optional [^5]
UPS Mail Innovations NO
USPS Optional PDF download

[^1]: Australia Post calls this form Order Summary Report.

[^2]: PDF available via Endicia and ShipEngine, but not DHL eCommerce.

[^3]: _FedEx provides a PDF only for FedEx Ground Shipments that meet certain criteria. For certain kinds of FedEx Ground and FedEx Home Delivery shipments, a FedEx Ground Manifest will be available to print from ShipEngine. Print this form within the End of Day section in the Shipments tab. To be included in the FedEx Ground Manifest, a shipment must meet one or more of the following criteria:

  • Collect on Delivery Amount (COD Amount)
  • Declared Value greater than $100 U.S. dollars
  • Oversize (Length + Girth greater than 84")
  • Additional Handling applied to shipment
  • Acknowledgment of Delivery (A.O.D)
  • Residential delivery address_

[^4]: Submitted electronically through ShipEngine

[^5]: Optional via EDI apply to UPS via their Paperless Invoice Enrollment Page

Creating Manifests in ShipEngine

ShipEngine has two different ways to create manifests:

  1. Explicit Manifests
    Specify exactly which labels to include in the manifest.

  2. Implicit Manifests
    Allow ShipEngine to automatically create manifests for all packages shipped from a single warehouse on a given day.

Explicit Manifests

One way to create manifests in ShipEngine is to explicitly specify which labels to include in the manifest. You can include up to 500 labels per manifest.

To create an explicit manifest, you only need to set a single field:

Field Name Type Required? Description
label_ids array of strings yes Use this to group labels that you want shipped with that manifest.

Warning When using the label_ids property, all the listed labels need to share the same carrier_id, warehouse_id, and ship_date.

Example Request

POST /v1/manifests HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json

{
  "label_ids": ["se-29602037", "se-29544722", "se-29475869"]
}

Example Response

{
  "manifests": [
    {
      "manifest_id": "se-17618625",
      "form_id": "se-28529731",
      "created_at": "2019-07-12T13:37:39.050Z",
      "ship_date": "2019-07-25T05:00:00.000Z",
      "shipments": 100,
      "warehouse_id": "se-28529731",
      "submission_id": "9475711899564878915476",
      "carrier_id": "se-123890",
      "manifest_download": {
        "href": "https://api.shipengine.com/v1/downloads/0/ygFY9HxD50m52JMLZnnURA/manifest-11024.pdf"
      }
    }
  ]
}

Implicit Manifests

Specify a carrier + warehouse + ship date to manifest all of the corresponding labels and automatically exclude any other labels from the manifest.

The parameters below explain each method.

Property Description
carrier_id string, required
The Carrier ID you wish to create a manifest for.
excluded_label_ids string array
Use this to exclude any labels created with this ship_date that will not be shipped today.
warehouse_id string, required
The Warehouse ID this manifest is being created for.
ship_date date string, (ISO 8601 Standard), required
2019-07-25T15:24:46.657Z

Warning

Use warehouse_id instead of ship_from when creating a manifest.

Each ShipEngine manifest is created for a specific warehouse, so you'll need to provide the warehouse_id rather than the ship_from address. You can create a warehouse for each location that you want to create manifests for.

Example

POST /v1/manifests

POST /v1/manifests HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json

{
  "carrier_id": "se-123890",
  "excluded_label_ids": [],
  "warehouse_id": "se-11921",
  "ship_date": "2019-07-25T05:00:00.000Z"
}
{
  "manifests": [
    {
      "manifest_id": "se-17618625",
      "form_id": "se-28529731",
      "created_at": "2019-07-12T13:37:39.050Z",
      "ship_date": "2019-07-25T05:00:00.000Z",
      "shipments": 100,
      "warehouse_id": "se-28529731",
      "submission_id": "9475711899564878915476",
      "carrier_id": "se-123890",
      "manifest_download": {
        "href": "https://api.shipengine.com/v1/downloads/0/ygFY9HxD50m52JMLZnnURA/manifest-11024.pdf"
      }
    }
  ]
}

Group Labels into Multiple Manifests

If you have multiple outgoing shipments per day, you may want to group your available labels into more than one manifest. Use either the label_ids or excluded_label_ids properties to do this.

Info You can only use label_ids or excluded_label_ids when generating a manifest.

Example of label_ids property

Will only include the labels that are specified in the label_ids property. You no longer have to include the carrier_id, warehouse_id, or ship_date when using the label_ids property.

Example of exclude_label_idsproperty

This method will include all labels except for those you specify in the excluded_label_ids property.

POST /v1/manifests HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json

{
  "carrier_id": "se-123890",
  "excluded_label_ids": ["se-29602037", "se-29544722", "se-29475869"],
  "warehouse_id": "se-11921",
  "ship_date": "2019-07-25T05:00:00.000Z"
}

Response with exclude_label_idsproperty

{
  "manifests": [
    {
      "manifest_id": "se-17618625",
      "form_id": "se-28529731",
      "created_at": "2019-07-12T13:37:39.050Z",
      "ship_date": "2019-07-25T05:00:00.000Z",
      "shipments": 100,
      "warehouse_id": "se-28529731",
      "submission_id": "9475711899564878915476",
      "carrier_id": "se-123890",
      "manifest_download": {
        "href": "https://api.shipengine.com/v1/downloads/0/ygFY9HxD50m52JMLZnnURA/manifest-11024.pdf"
      }
    }
  ]
}