Inbound Shipments with the Pack Later workflow

Learn how to inbound shipments with a pack-later workflow when carton information is unknown.

Learn how to create an inbound plans when carton information is unknown at the time of shipment creation using the Fulfillment Inbound API.

Diagram of pack later workflow

This workflow is available for both Amazon Partnered Carriers or Your Own Carriers but only for Pallet Deliveries.

As a supplement to this guide, the FBA Inbound Sample Solution Code App provides all required resources to deploy a fully functional SP-API application that implements the new Fulfillment Inbound API v2024-03-20.

Step 1. Create an inbound plan

Operation

Parameters

  • destinationMarketplaces: List of marketplaces where the items are sent.
  • sourceAddress: The address from which the items are shipped.
  • items: A list of items to include in the inbound plan. Each item should have the following attributes:
    • prepOwner: The one responsible for prepping the item.
    • labelOwner: The one responsible for the labeling process.
    • msku: The Merchant Stock Keeping Unit (SKU) for the item.
    • quantity: The quantity of items to ship.

Response

  • operationId: An ID that you can use to check the status of the inbound plan creation.
  • inboundPlanId: An ID that uniquely identifies the inbound plan.

📘

Note

POST operations are asynchronous. Check the status of a POST operation by passing its operationId to getInboundOperationStatus.

Step 2. Generate placement options

Operation

Parameters

  • inboundPlanId: ID of the inbound plan.

Response

  • operationId: An ID that you can use to check the status of placement options generation.

Step 3. List placement options

Operation

Parameters

  • inboundPlanId: ID of the inbound plan.

Response

  • Includes available placementOptions, each represented by a placementOptionId.
  • Each placementOptionId includes one or more shipmentIds and details on fees or discounts.

📘

Note

Choose only one placement option (placementOptionId)

Step 4. Confirm placement option

Operation

Parameters

  • inboundPlanId: ID of the inbound plan.
  • placementOptionId: The chosen placement option ID to confirm.

Response

  • operationId: An ID that you can use to check the status of the placement confirmation.

📘

Note

You can only confirm one placement option per inbound plan.

Step 5. Set packing information

Operation

Parameters

  • inboundPlanId: ID of the inbound plan.
  • shipmentId: ID for each packing group within the chosen packing option.
  • boxes: Includes box contents source, box dimensions (weight and quantity), items with prep info, and item quantities that match the inbound plan.

Response

  • operationId: An ID that you can use to check the status of the API call.

Step 6. Generate transportation options

Operation

Parameters

  • inboundPlanId: ID of the inbound plan.
  • placementOptionId: Chosen placement option ID.
  • shipmentTransportationConfigurations: Configuration details, which include:
    • shipmentId: Each shipment ID within the chosen placement option. Include all shipment IDs within the selected placement option.
    • readyToShipWindow: Start date for when shipments are ready for delivery.
    • freightInformation: Declared value and freight class.
    • pallets : Information about the shipped pallets, including quantity, dimensions, weight, and stackability.

Response

  • operationId: An ID that you can use to check the status of transportation options generation.

Step 7. List transportation options

Operation

Parameters

  • inboundPlanId: The ID of the inbound plan.
  • placementOptionId: The ID of the chosen placement option.

Response

  • Includes different available transportationOptions, each represented by transportationOptionId per shipmentId. Each transportation option contains details about:
    • carrier: The carrier.
    • shippingMode: The shipment type (for example, Small Parcel Delivery vs. pallets).
    • shippingSolution: The shipping solution. Identifies whether the carrier is Amazon Partnered or your own transportation carrier.
    • preconditions: Conditions that must be met to provide the delivery window. Only applicable to your own carrier options.

📘

Note

If you have multiple shipmentIds from listPlacementOptions, choose a transportationOptionId for each shipmentId.

Ship using a partnered carrier

To ship using a partnered carrier, you must select the transportationOption based on your shipment type:

  • For pallet shipments, choose the option where shippingMode is FREIGHT_LTL.
  • Choose shippingSolution as AMAZON_PARTNERED_CARRIER

Ship using a non-partnered carrier

To ship using a non-partnered carrier, you must select the transportationOption based on your shipment type:

  • For pallet shipments, choose the option where shippingMode is FREIGHT_LTL.
  • Choose shippingSolution as USE_YOUR_OWN_CARRIER.
  • preconditions lists the requirements for confirming the delivery windows. You must generate, list, and confirm a delivery window for each shipment that you send using your own carrier. Follow the tutorial for detailed steps.

Step 8. Generate delivery window options [Only for Non-Partnered Carrier]

Operation

Parameters

  • inboundPlanId: ID of the inbound plan.
  • shipmentId: ID of the specific shipment for which to generate delivery windows.

Response

  • operationId: An ID that you can use to check the status of the delivery window options generation.

📘

Note

You must generate delivery windows for all shipmentIds within the inbound plan.

Step 9. List Delivery Window Options [Only for Non-Partnered Carrier]

Operation

Parameters

  • inboundPlanId: ID of the inbound plan.
  • shipmentId: ID of the specific shipment for which to retrieve delivery window options.

Response

  • Includes a list of available deliveryWindowOptions, each represented by a deliveryWindowOptionId.
  • Each option includes startDate and endDate that indicate the time frame during which the shipment must arrive.

Step 10. Get shipment

Operation

Parameters

  • inboundPlanId: ID of the inbound plan.
  • shipmentId: ID of the specific shipment for which to retrieve details.

Response

  • Includes the details related to the contents of the specified shipment, including:
    • Source address: The address from which the shipment originates.
    • Destination warehouse address: The address of the chosen destination warehouse.
    • Status: The current status of the shipment.

📘

Note

If you are not satisfied with the chosen options, you can regenerate and select transportation option before final confirmation.

Step 11. Confirm delivery window options [Only for Non-Partnered Carrier]

Operation

Parameters

  • inboundPlanId: ID of the inbound plan.
  • shipmentId: ID of the specific shipment for which the delivery window option is being confirmed.
  • deliveryWindowOptionId: ID of the chosen delivery window option.

Response

  • operationId: An ID that you can use to check the status of the delivery window confirmation.

Step 12. Confirm transportation options

Operation

Parameters

  • inboundPlanId: ID of the inbound plan.
  • transportationSelections: A list of selected transportation options for each shipment, including:
    • shipmentId: The ID of the shipment.
    • transportationOptionId: The chosen transportation option ID for that shipment.

Response

  • operationId: An ID that you can use to check the status of the transportation confirmation.

Step 13. Get shipment

Operation

Parameters

  • inboundPlanId: ID of the inbound plan.
  • shipmentId: The ID of the shipment.

Response

  • Includes the details of shipment, including:
    • sourceAddress: The origin address of the shipment.
    • destinationWarehouseAddress: The address of the destination warehouse.
    • amazonReferenceId: Amazon's reference ID for the shipment.
    • selectedTransportationOptionId: The chosen transportation option ID.
    • placementOptionId: The ID of the chosen placement option.
    • shipmentConfirmationId: The ID that confirms the shipment.
    • trackingDetails: Information regarding the shipment tracking.
    • status: The current status of the shipment.

Step 14. Get labels

Operation

Parameters

  • shipmentConfirmationId: The ID confirming the shipment, retrieved from the getShipment response.
  • PageType: Specifies the type of page for the labels.
  • LabelType: Specifies the type of label to retrieve.

For Pallet Shipments:

  • NumberOfPallets: The total number of pallets included in the shipment.
  • PageSize: Specifies the size of the label pages to retrieve.

Response

  • Includes a URL that you can use to download the labels associated with each shipment ID within your inbound plan.

Step 15. Update shipment tracking details [Only for Non-Partnered Carrier]

Operation

Parameters

  • inboundPlanId: ID of the inbound plan.
  • shipmentId: ID of the shipment.
  • trackingDetails: Details for updating tracking information based on shipment type.
    • For pallet (LTL/FTL) delivery:
      • ltlTrackingDetail: Details that include the freightBillNumber that your carrier provides for the pallet shipment.

Response

  • operationId: An ID that you can use to check the status of the tracking details update.