Delivery

The Kibo Composable Commerce Platform (KCCP) enables shoppers to select delivery services for their products when placing an order, in which the fulfillment location will either deliver a product to the customer using their own trucks or dispatch it to a provider.


Restricted Content

Internal-Only Note: Legacy Attribute

This guide details the enhanced version of Delivery released in April 2025. The tenant attribute ClassicDeliveryFulfillmentEnabled keeps clients that depend on legacy delivery behavior on their existing version (without the additional steps of Dispatch and Delivery Confirmation). If you need to provide a client with the legacy documentation, share the Classic Delivery guide with them as a PDF.

How Delivery Works

All items that are ordered for delivery will be grouped into a shipment of the Delivery fulfillment type. This fulfillment process is initially similar to Ship to Home, but includes additional steps to prepare, dispatch, and confirm the delivery via either the fulfiller's own trucks or a delivery provider.

  • Accept Shipment: The order has been accepted and is ready to be sent through fulfillment. 
  • Print Pick Sheet: The pick sheet is generated for store associates to collect shipment items.
  • Validate Items in Stock: Confirm whether all items were available for picking. If not all items are in stock and Delivery Consolidation is not enabled, then you will be prompted to split the shipment (if you have partial inventory available) or reassign it to a new location (if you have none of the inventory available).
  • Wait for Transfer: The shipment goes through this optional state if inventory was not available and a transfer is requested.
  • Print Packing Slip: All items are at the fulfillment location and the packing slip is printed.
  • Prepare for Delivery: The shipment has been packed and is ready to be delivered. If the shipment includes assembly, then that must be completed.
  • Dispatch: The items are ready to hand off to a delivery provider. 
  • Delivery Confirmation: The shipment is pending delivery confirmation from the provider.
  • Complete: The shipment has been successfully delivered to the customer. 

This diagram illustrates the basic delivery process flow, with options for whether a transfer is needed to supply missing inventory or consolidate shipments.Diagram illustrating the Delivery BPM

Configure Delivery Fulfillment

The Delivery fulfillment type is available out-of-the-box alongside STH and BOPIS.

Fees are determined by the delivery provider's shipping method rates, which can be retrieved via the Get Rates API. The API documentation will be updated soon with the associated fields.

Enable Locations for Delivery

Delivery fulfillment must be configured at both the product and location level. Fulfillment locations that offer this service must have the Delivery fulfillment type enabled:

  1. Go to Main > Orders > Locations.
  2. Click a location (or click Edit from the dropdown menu on that location in the table).
  3. From the Fulfillment Types drop-down menu, select Delivery.The Fulfillment Types configuration with In Store Pickup, Direct Ship, and Delivery selected
  4. Click Save.

Enable Products for Delivery

In order for a product to be purchased for delivery, that fulfillment option must also be available for the product in the catalog. To enable this option for a specific product:

  1. Go to Main > Catalog > Products.
  2. Click the product that will allow delivery (or click Edit from the dropdown menu on that product in the table).
  3. Under the Shipping section, check Delivery.
  4. Click Save.

Close-up of Shipping settings with Direct Ship, In Store Pickup, and Delivery toggles enabled

Configure Routing Logic

Delivery routing scenarios should be configured to handle shipment assignment cases if the customer does not specify one, as well as if you want the optimal delivery location to be displayed on the storefront based on the shopper's address. This logic will determine how a location is selected to assign Delivery shipments to, such as by prioritizing the closest distance from the shopper's address.

Optional: Enable Consolidation

Delivery also supports consolidation via transfers, following the same method as Ship-to-Home Consolidation when not enough inventory is available at the chosen delivery location. If there is inventory at transfer locations, then transfers will be created to consolidate all items at the delivery consolidation location with no inventory (either the provided location selected by the customer or the location determined to have the shortest distance from the customer).

First, enable Delivery Consolidation in your site's transfer settings:

  1. Go to System Settings General Site.
  2. In the Transfers section, toggle on Delivery Shipment ConsolidationThe Delivery Consolidation site setting configurations
  3. You can optionally set a Default shipping method for the transfer shipments.
  4. Toggle on Cancel transfer shipment/item if you want to cancel transfer shipments and items when a cancellation occurs on the parent shipment. If you enable this, you can also select which fulfillment steps to restrict cancellation on.
  5. Toggle on Force Consolidation with 0 inventory if you want to consolidate even when there is no inventory at any consolidation location. If enabled and there is inventory at transfer locations, then transfers will be created to be consolidated at a delivery location with no inventory (either a specified location or the location determined to have the shortest distance from the customer) If the system cannot identify a valid delivery consolidation location, it will follow the after-actions defined in your Delivery routing strategy.

Then, consolidation must be enabled at the location level. In order for Order Routing to use consolidation, the consolidation location must also be enabled for Delivery fulfillment and at least one other location in the group must have transfers enabled.

  1. Go to Main Orders Locations.
  2. Select a location from the table.
  3. In the Transfer settings section, toggle on Delivery Consolidation if you want that location to be able to consolidate shipments. The location transfer settings enabled for Delivery Consolidation
  4. Click Save.

Storefront Options

Once set up in your tenant, the shopper can opt into delivery as their fulfillment method.

You can modify your storefront product details and/or cart pages to ask the shopper for their zip code (or use a saved address, if applicable), which Order Routing will use to suggest the optimal delivery location. This is done via the Suggest Candidates API, which you can integrate with using the Suggest Candidates API Extensions to display its suggestion on the page.

Example of a product in the cart with Ship Items, In-Store Pickup, and Delivery options

Fulfillment Example

For more information about fulfillment flows, see the Fulfillment Method Types guide. Any customer emails that notify the customer their shipment is ready for delivery or out for delivery should be sent by your delivery provider or third-party integration.

Restricted Content

Note that multiship, or shipping to multiple addresses, is not supported for Delivery. If an order consists of two shipments, STH and Delivery, then the STH items can go to different fulfillment addresses but all Delivery items will only go to one address.

Additionally, returns are not supported via delivery providers and thus you will not be able to print a return label for the shipment on either the FFUI or the Admin UI.

View Delivery Information

On the Fulfiller UI homepage, there is a card for the Delivery fulfillment type that lists the number of shipments in each step of that process. Click a step on the card to be taken to the list of shipments in that step. When viewing shipment details, any delivery information is displayed at the top indicating the expected date, delivery instructions, and any other notes.

Example of a Delivery shipment details

Initial Fulfillment Steps

The Accept Shipment, Print Pick Sheet, Validate Items in Stock, Wait for Transfer (if applicable), and Print Packing Slip sections of a Delivery shipment are the same as those of the Ship to Home process.

Prepare for Delivery

When a Delivery shipment enters the Prepare for Delivery step, all items should be packed and made ready for dispatch.  Enter the details of each package such as the dimensions and weight, then print the delivery label(s). You can also reprint a packing slip if needed.

If the shipment includes a service such as assembly, then that should be performed as well.  Click Ready for Dispatch when everything is complete.

The Prepare for Delivery step

Dispatch

During the Dispatch step, place the prepared shipment into the delivery area of your fulfillment location and click either Handover to Delivery Provider or Return to Preparation for Delivery (if corrections to the package are needed).

Once handed over, the shipment will be marked with the Dispatched status and you will be redirected back to the FFUI dashboard. You can return to the shipment for the next step once delivery is completed.

The Dispatch step

Delivery Confirmation

This step displays all of the delivery information and the current status (such as Dispatched). Click Order Was Delivered to manually confirm that delivery is complete and mark the shipment Fulfilled.

The Delivery Confirmation step