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.
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.
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:
- Go to Main > Orders > Locations.
- Click a location (or click Edit from the dropdown menu on that location in the table).
- From the Fulfillment Types drop-down menu, select Delivery.
- 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:
- Go to Main > Catalog > Products.
- Click the product that will allow delivery (or click Edit from the dropdown menu on that product in the table).
- Under the Shipping section, check Delivery.
- Click Save.
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:
- Go to System > Settings > General > Site.
- In the Transfers section, toggle on Delivery Shipment Consolidation.
- You can optionally set a Default shipping method for the transfer shipments.
- 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.
- 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.
- Go to Main > Orders > Locations.
- Select a location from the table.
- In the Transfer settings section, toggle on Delivery Consolidation if you want that location to be able to consolidate shipments.
- 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.
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.
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.
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.
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.
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.