Split Shipments in Checkout
About this article
This article explains how the split shipments feature works. With this feature, customers can see and choose delivery options for multiple shipments directly in the checkout process. To enable this, your Direct-to-Consumer store needs to integrate with Centra’s DTC API and involve a frontend partner for implementation.
What Are Split Shipments?
Split shipments happen when an order is delivered in more than one package. This could be for several reasons, such as:
- Shipping from multiple locations: Items might come from different warehouses or stores.
- Availability issues: Some items might ship later because they aren’t in stock yet.
- Package size limits: Large or heavy items might be split into smaller shipments.
Traditionally, customers learn about split shipments in their order confirmation or shipping emails. With this feature, you can show planned deliveries during checkout, making the interaction with the customer more transparent.
How to Get Started
To enable split shipments, you need:
- An external allocation system: Any tool like an ERP that can decide how to split orders based on inventory or other factors.
- Ingrid delivery checkout: To benefit from the feature fully, you can use Ingrid as a delivery experience solution. It is also possible to use this feature without Ingrid, in which case shipping methods in the checkout will come from Centra’s configuration and they will not be per delivery group, but rather per the entire checkout.
- DTC GQL API: Your storefront needs to be built on the DTC GQL API
- Integration API: For post-purchase order and delivery group management, please use Integration API.
Once you have these ready, follow the Split Shipment Integration Flow Guide for step-by-step instructions.
Key Components of Split Shipments
How customers interact with split shipments in the storefront
-
Display of multiple shipments in the checkout: Customers can see split shipment details in the Ingrid delivery checkout widget.
-
Customizable shipping methods: Customers can choose different shipping options for each delivery group in the checkout.
-
Order confirmation with split details: An order confirmation page that outlines delivery splits and associated shipping methods.For details on how to build it, please refer to Split Shipment on centra.dev
-
Order view page: My account page shows the orders view with delivery groups. Once actual shipments are created, you can update the order view with shipments instead of the delivery groups; this is achievable using Centra’s Integration API for retrieving shipments. For details on how to build it, please refer to Split Shipment at centra.dev
Manual split shipment management in Centra
-
View delivery groups: Check multiple delivery groups and related shipping costs in the order view.
-
Create shipments from delivery groups:
-
Select the relevant delivery group: Choose the relevant delivery group for which you want to generate the shipment
(delivery group 1):
(delivery group 2):
-
Generate the shipment: Create the shipment from the delivery group (ex.delivery group 1)
-
Assigning shipping costs: Centra allows only one shipping cost per shipment
If you have multiple shipping costs (e.g., different rates for express or standard shipping), Centra won’t let you add them all to a single shipment. To work around this:
-
Apply one shipping cost to the shipment
-
Update this cost to reflect the total shipment amount
-
Set all other shipping costs to zero. This ensures the customer is charged only ones, with the correct total costs
-
Split shipment management via Integrations
- Retrieve delivery groups data via API: Use the Integration API to access orders, delivery groups, and related costs
- Shipment creation via API: Create shipments from delivery groups using the Integration API.
- Flexible updates: Update shipping costs and cancel specific lines within delivery groups using the Integration API.
What is the difference between Delivery Groups and Shipments?
When it comes to understanding how orders are organized and shipped, it’s helpful to break down two concepts: Delivery Groups and Shipments.
- Delivery Groups: These are delivery and fulfillment plans created at checkout based on inventory and shipping factors. They represent how the order might be split due to the known fulfillment and delivery factors at the time of customer placing their order.
- Shipments: Finalized delivery plans created when the package is being prepared or shipped. The contents of shipments may or may not differ from delivery groups depending on whether fulfillment and delivery factors have changed between order placement and shipment creation. Once the shipment/s are created, there is a low likelihood that the delivery method and number of packages are going to change.
Example:
Consider a scenario where a customer in the US would like to buy some products. The external allocation system initially (in the checkout) determined that their basket should be shipped in two packages due to limited stock in a single inventory location.
- A part of the order is planned to be shipped from a physical store in Milan and the other part - from the US Warehouse, which correspond to two delivery groups
- However, before it’s time to package the order, the missing items arrive at the US Warehouse, so two packages are no longer necessary. In this case, you can create just one shipment and deliver the entire order to the customer faster and cheaper.
- The order will still have two delivery groups, because that was the system’s best guess when the order was placed. But, since the situation changed, your finalised delivery plan was to combine everything into a single shipment.
Practical Details about how delivery groups and shipments interact:
- Delivery groups exist at the basket and order levels, not on the shipment level.
- Shipments can be created from delivery groups and each shipment corresponds to a full delivery group.
- Partial delivery group splits cannot be made. For example, you cannot use the Integration API or Centra to create a shipment from a specified delivery group with a specified order line.
Limitations when managing delivery groups
- Orders with multiple delivery groups cannot be manually created in Centra. They can only be created with an integrated external allocation system.
- When adding new items to an order with multiple delivery groups manually, Centra will add the items outside the already existing delivery groups. It is not possible to add items manually or via APIs to specific delivery groups after the order has been created.
Supported split shipments scenarios
- Since Centra does not dictate the split, any type of split would be accepted as dictated by your external allocation system. Centra only needs to be told about the number and contents of the delivery groups.
- Buy Online, Pick up in Store (BOPIS) and Buy Online, Ship from Store (BOSS) split scenarios are not supported with the standard Centra-Ingrid integration flow (but if you're interested, you can read about these here and here).
- However, you can still support both BOPIS and BOSS with Ingrid without using the standard flow. Depending on the systems you use, the way to do so is with an external allocation system - Centra integration and Ingrid-POS integration. You would also need to make sure your POS is informed when items are purchased and that you update stock levels back to Centra.
How orders with delivery groups are allocated?
While the order split is determined by an external system, Centra handles stock allocation based on its own rules. This means that Centra doesn’t rely on the external system to allocate inventory to particular inventory sources.
- For example, when an external allocation system informs Centra about several deliveries in the checkout that come from specific warehouses in the external allocation system, Centra would allocate the order to the warehouses as dictated by stock levels and Centra’s allocation rules.
- If allocation rules and inventory levels are the same in the external allocation system and Centra, you would see the same allocation results. If not, the warehouses and inventory levels would differ between the two systems.