Fulfillment Engine
Configure your account to use Shipium's Fulfillment Engine service.
About Fulfillment Engine
Fulfillment Engine helps you make sure that you're shipping the right products from the right fulfillment center at the right time. You post one or more orders, each with a list of items to be fulfilled along with inventory statuses and optional details, and the Fulfillment Engine API will respond with a recommended set of shipments to be fulfilled, including the sets of order items, quantities, and fulfillment centers from which they should be fulfilled.
Using Fulfillment Engine, you can bridge the gap between existing systems and optimize order decisions across your network. You can read more about Fulfillment Engine on our website.
This guide provides Shipium’s recommended steps for using Fulfillment Engine to:
- allocate orders into shipments;
- select packaging types for each shipment;
- determine optimal ship-from origin points in your fulfillment network on a per-shipment basis; and
- determine optimal carriers and service methods for each shipment.
The Shipium Fulfillment Engine API depends on configuration of the fulfillment network and information passed through in API calls. The API uses information about orders and inventory state along with carrier eligibility and costs to determine the optimal allocation of inventory to shipments in order to hit desired delivery dates (if provided) at the lowest cost.
When you call the Fulfillment Engine API, you'll receive a breakdown of proposed shipments, including which items from which orders should be included in those shipments.
Order and shipment lifecycle with Fulfillment Engine
It all begins with the order, which we think of as being made up of a few key pieces of information:
- A destination address. The address to which the items in the order are to be shipped
- A desired delivery date for the order (optional). The date that the order and its items should be delivered
- Ship option (optional). A speed at which the order is to be shipped
- Business days of transit (optional). The number of business days from the ship time by when the shipment needs to be delivered
- Order items. One or more items that were ordered and the quantities in which they were ordered
- Special properties of the order items (optional). Any properties that are important, such as hazmat details or that the item always ships in its own containers
- An ID that you associate with this order (optional). You can associate your own internal identifier in addition to one that Shipium assigns; this unique ID is case sensitive.
Set up Fulfillment Engine for your organization
To start using Fulfillment Engine, you’ll need to complete the following steps. Your dedicated Shipium team member will assist you with each one.
Step 1. Set up your Shipium account
You’ll set up your organization’s account within the Shipium platform. You can find guidance in Get Started with Shipium.
Step 2. Enable Fulfillment Engine for your account
Your Shipium team member will complete this step for you.
Step 3. Configure your fulfillment contexts
You'll configure your fulfillment contexts via the Shipium Console. The Fulfillment Contexts documentation offers step-by-step guidance for creating a new fulfillment context. Your Shipium team member is also available to assist with any step in the process.
Fulfillment context requirements
To be usable, a fulfillment context must have at least one origin and one carrier contract associated with it.
Your organization will need to provide the following information prior to using Fulfillment Engine (some of the data may alternately be included in calls to Shipium's APIs):
- Fulfillment center data
- Addresses and other standard details
- Processing times at each fulfillment center
- Carriers, service methods, and related costs for each fulfillment center
- Fulfillment Engine-specific configuration information, such as whether split shipments should be allowed and what types of splits will be considered (e.g., hazmat, no inventory available for all order items)
- Packaging data
- Order data
- Inventory data
Step 4. Configure your shipment package sizing (optional)
Package sizing details can be included in calls to the Fulfillment Engine API. Alternatively, you can set up your organization's package sizing in the Shipium Console as part of your network settings and/or use our Packaging Planner API. The Packaging Planner API documentation provides steps for configuring your package sizing within the Shipium Console and for calling the API. Your Shipium team member is available to assist with any of the steps.
Step 5. Configure global and fulfillment center settings
After establishing your fulfillment context(s), also within the Shipium Console, you'll determine Fulfillment Engine settings for your network at the global and/or fulfillment center level. Global settings apply across your fulfillment network, while fulfillment center level settings apply only the the specific fulfillment center.

Global settings

For global settings, you will need to provide the following details:
- Name. Required. The human-readable name you'll use to refer to this global setting
- Partner Provided ID. Optional. An optional identifier your organization can assign to the global setting for reference
- Description. Optional. Optional additional explanatory information you wish to provide for the global setting
- Tenant. Required. You'll select a tenant to which global settings will apply from a dropdown menu
- Currency Code. Required. You'll select the desired currency code from a dropdown menu
Fulfillment Engine Packaging Defaults. You can configure default settings for packaging parameters to apply globally across all fulfillment centers.
- Packaging Configuration. Optional. You can optionally select a predefined packaging configuration from the dropdown menu, or you can provide packaging details in the other packaging default fields. To provide custom information, you'll need to select Enter Custom Info in the dropdown.
- Packaging Type ID. Required, for custom packaging only. The packaging type identifier you have configured in the Shipium system
- Packaging Size Name. Optional, for custom packaging only. The name of the packaging you have configured in the Shipium system
- Fulfillment Cost (Per Package). Optional. You can set an integer value for additional processing cost added per package in a shipment.
- Packaging Material. Required, for custom packaging only. You'll select the type of packaging material from a dropdown menu.
- Max Content Weight. Optional, for custom packaging only. Maximum weight allowed for the contents inside the package
- Max Package Weight. Required, for custom packaging only. Maximum weight allowed per package
- Package Dimension Unit. Required, for custom packaging only. Default package dimension units used in Fulfillment Engine planner runs
- Package Length. Required, for custom packaging only. Default package length used in Fulfillment Engine planner runs
- Package Width. Required, for custom packaging only. Default package width used in Fulfillment Engine planner runs
- Package Height. Required, for custom packaging only. Default package height used in Fulfillment Engine planner runs
- Package Weight Unit. Required, for custom packaging only. You'll select the default package weight unit used in Fulfillment Engine planner runs from a dropdown menu.
- Package Weight. Required, for custom packaging only. Default package weight used in Fulfillment Engine planner runs
- Allow Splits. Optional. This optional setting allows you to enable or disable splits globally for shipments; you'll select Yes or No from the dropdown menu.
- Supported Split Types. Optional. You can multi-select the type of splits your organization supports globally from the dropdown menu.
- Max Items per Package. Optional. Maximum number of items allowed per package
- Max Packages per Order. Optional. Maximum number of packages allowed per order
Product Defaults. You can configure default settings for product parameters to apply globally across all fulfillment centers.
- Fulfillment Cost (Per Item). Optional. You can optionally add an additional processing cost per item in a shipment.
- Product Dimension Unit. Required. You'll select the default product dimension unit used in Fulfillment Engine planner runs from the dropdown menu.
- Product Length. Required. Default product length used in Fulfillment Engine planner runs
- Product Width. Required. Default product width used in Fulfillment Engine planner runs
- Product Height. Required. Default product height used in Fulfillment Engine planner runs
- Product Weight Unit. Required. You'll select the default product weight unit used in Fulfillment Engine planner runs from the dropdown menu.
- Product Weight. Required. Default product weight used in Fulfillment Engine planner runs
Fulfillment center settings

For settings at the fulfillment center level, you will need to provide the following details:
- Fulfillment Context. Required. You'll select your desired fulfillment context to associate with these fulfillment center settings from a dropdown menu.
- Name. Required. The human-readable name you'll use to refer to this global setting
- Partner Provided ID. Optional. An optional identifier your organization can assign to the global setting for reference
- Description. Optional. Optional additional explanatory information you wish to provide for the global setting
- Tenant. Optional. You'll select a tenant to which global settings will apply from a dropdown menu
- Currency Code. Required. You'll select the desired currency code from a dropdown menu
- Fulfillment Cost (Per Package). Optional. You can set an integer value for additional processing cost added per package in a shipment.
- Fulfillment Cost (Per Item). Optional. You can set an integer value for additional processing cost added per item in a shipment.
Fulfillment Engine Packaging Defaults. You can configure default settings for packaging parameters to apply globally across all fulfillment centers.
- Packaging Configuration. Optional. You can optionally select a predefined packaging configuration from the dropdown menu, or you can provide packaging details in the other packaging default fields. To provide custom information, you'll need to select Enter Custom Info in the dropdown.
- Packaging Type ID. Optional, for custom packaging only. The packaging type identifier you have configured in the Shipium system
- Packaging Size Name. Optional, for custom packaging only. The name of the packaging you have configured in the Shipium system
- Fulfillment Cost (Per Package). Optional. You can set an integer value for additional processing cost added per package in a shipment.
- Packaging Material. Optional, for custom packaging only. You'll select the type of packaging material from a dropdown menu.
- Max Content Weight. Optional, for custom packaging only. Maximum weight allowed for the contents inside the package
- Max Package Weight. Optional, for custom packaging only. Maximum weight allowed per package
- Package Dimension Unit. Optional, for custom packaging only. Default package dimension units used in Fulfillment Engine planner runs
- Package Length. Optional, for custom packaging only. Default package length used in Fulfillment Engine planner runs
- Package Width. Optional, for custom packaging only. Default package width used in Fulfillment Engine planner runs
- Package Height. Optional, for custom packaging only. Default package height used in Fulfillment Engine planner runs
- Package Weight Unit. Optional, for custom packaging only. You'll select the default package weight unit used in Fulfillment Engine planner runs from a dropdown menu.
- Package Weight. Optional, for custom packaging only. Default package weight used in Fulfillment Engine planner runs
- Allow Splits. Optional. This optional setting allows you to enable or disable splits globally for shipments; you'll select Yes or No from the dropdown menu.
- Supported Split Types. Optional. You can multi-select the type of splits your organization supports globally from the dropdown menu.
- Max Items per Package. Optional. Maximum number of items allowed per package
- Max Packages per Order. Optional. Maximum number of packages allowed per order
Product Defaults. You can configure default settings for product parameters to apply globally across all fulfillment centers.
- Fulfillment Cost (Per Item). Optional. You can optionally add an additional processing cost per item in a shipment.
- Product Dimension Unit. Required. You'll select the default product dimension unit used in Fulfillment Engine planner runs from the dropdown menu.
- Product Length. Required. Default product length used in Fulfillment Engine planner runs
- Product Width. Required. Default product width used in Fulfillment Engine planner runs
- Product Height. Required. Default product height used in Fulfillment Engine planner runs
- Product Weight Unit. Optional. You'll select the default product weight unit used in Fulfillment Engine planner runs from the dropdown menu.
- Product Weight. Optional. Default product weight used in Fulfillment Engine planner runs
View Fulfillment Engine details
You can view details for a Fulfillment Engine plan, order, or proposed shipment in the Shipium Console. You can search the system by plan ID, order ID, partner order ID, or proposed shipment ID. You also can restrict search results to a specific fulfillment context by selecting one from the dropdown menu in the search parameters.

The Plan Summary includes the plan ID, partner plan ID, and date of creation along with plan results. Plan results provide counts for the order, the shipment, and any unfulfillable items. If the plan includes unfulfillable items, they will be listed individually. You'll also see the API request and response bodies and a list of orders.

You can click on any partner order ID in the list of orders to view that order's Order Summary, which includes the plan ID, order ID, partner order ID, order date, desired delivery date or ship option specified, destination address, and any order properties. You'll also see product details for the order (product ID and quantity requested) in addition to order results.

If you expand a shipment ID in the shipments list in Order Results, you'll see packaging details, the fulfillment center that fulfilled the order, and product details for the order. You also can do the same for any unfulfillable items, which provides the reason the item was unfulfillable.

Resources
Your Shipium team member is available to help along the way. However, you might find these resources helpful:
Updated 15 days ago