“Order Routing” is a powerful service within the KIBO Commerce platform that designs and executes “order-specific” assignment and visibility logic. It operates on a hierarchical structure of “Routes”, “Scenarios”, “Filters”, and “After Actions” to create a “Routing Strategy”. When a new order or shipment is created, Order Routing evaluates this “Strategy” against the “Line Items”, “Customer Address”, and “Fulfillment Location” data to recommend or assign the single best location or set of locations to fulfill the order. Order routing is a powerful service. Within the kibo Commerce platform, that designs and executes Order specific assignment and visibility logic. it operates on a hierarchical structure of roots scenarios filters and after actions to create a routing strategy, When a new order or shipment is created order, routing evaluates this strategy, against the line items customer address, and fulfillment location data to recommend or assign the single best location or set of locations to fulfill the order. In this video, I will demonstrate how to create an Order Routing “Strategy”, including creating “Scenarios”, “Filters”, and configuring “After Actions”.To navigate to the Order Routing menu, in the left menu, on the “MAIN” tab, click “Order Routing”. In this video, I will demonstrate how to create an Order Routing “Strategy”, including creating “Scenarios”, “Filters”, and configuring “After Actions”. To navigate to the Order Routing menu, in the left menu, on the “MAIN” tab, click “Order Routing”. This is the “Strategies Dashboard”, where we can view all of the Strategies that have been created. We discussed this dashboard in a separate video. This is the “Strategies Dashboard”, where we can view all of the Strategies that have been created. We discussed this dashboard in a separate video. “Strategies” are created and managed per “Site”. Before creating a new “Strategy, we’ll need to make sure we have the correct Site listed in the “Current Site” dropdown. “Strategies” are created and managed per “Site”. Before creating a new “Strategy, we’ll need to make sure we have the correct Site listed in the “Current Site” dropdown. To create a new Order Routing Strategy, click the “Add Strategy” button on the top right. To create a new Order Routing Strategy, click the “Add Strategy” button on the top right. This is the “Add Strategy” page.Required sections are noted with a red “star”. We’ll discuss all sections. This is the “Add Strategy” page. Required sections are noted with a red “star”. We’ll discuss all sections. First, we’ll give the new Strategy a “Name” and optional “Description”. First, we’ll give the new Strategy a “Name” and optional “Description”. Next, we’ll need to select the “Type” of Strategy we’re creating. The “Type” is directly related to the “Fulfillment Type” for Orders and Shipments. In this example, we’ll select “Direct Ship”, but the Strategy creation process is similar for all “Types”. Once this Strategy is saved, “Type” will be uneditable.This “Type” will extend to all “Scenarios” created in this “Strategy. Next, we’ll need to select the “Type” of Strategy we’re creating. The “Type” is directly related to the “Fulfillment Type” for Orders and Shipments. In this example, we’ll select “Direct Ship”, but the Strategy creation process is similar for all “Types”. Once this Strategy is saved, “Type” will be uneditable. This “Type” will extend to all “Scenarios” created in this “Strategy. The “Candidate Sort Strategy” determines overall Order “Sorting”. The options here are:“Minimize Shipments”, which focuses on minimizing the number of shipments related to an Order;“Group Rank and Quantity”, which prioritizes based on the manually-assigned Scenario “Rank” combined with available “Quantity”;“Quantity”, which prioritizes Locations based solely on available inventory;And “Distance”, which prioritizes Locations closest to the customer’s shipping address. The candidate sort strategy. Determines overall order. Sorting the options here are Minimize shipments which focuses on minimizing the number of shipments related to an order. Group rank in quantity which prioritizes based on the manually assigned scenario rank combined with available quantity. Quantity. Which prioritizes locations based solely on available inventory? And distance which prioritizes locations closest to the customer’s shipping address. Next is the “Assignment Type”.“Single Assignment” means all of the items in a shipment will be assigned to a single Scenario that can fulfill the entire order, though it still may be split between different locations within that scenario.“Multiple Assignment” means the items can be assigned between locations across different Scenarios.“Single Assignment” is the default option, and may be preferred in cases such as when “Scenario 1” consists of Distribution Centers, and “Scenario 2” is Retail Stores, and orders should only be fulfilled by one type of fulfillment location or the other. Next is the “Assignment Type”. “Single Assignment” means all of the items in a shipment will be assigned to a single Scenario that can fulfill the entire order, though it still may be split between different locations within that scenario. “Multiple Assignment” means the items can be assigned between locations across different Scenarios. “Single Assignment” is the default option, and may be preferred in cases such as when “Scenario 1” consists of Distribution Centers, and “Scenario 2” is Retail Stores, and orders should only be fulfilled by one type of fulfillment location or the other. Lastly, is the “Strategy Status” toggle. This will “Enable” or “Disable” this Strategy.Important Note: the system allows us to have one Strategy per “Type” active at any given point in time. Lastly, is the “Strategy Status” toggle. This will “Enable” or “Disable” this Strategy. Important Note: the system allows us to have one Strategy per “Type” active at any given point in time. When all fields have been configured as needed, click the “Save” button on the bottom right. When all fields have been configured as needed, click the “Save” button on the bottom right. Once saved, the system navigates us back to the Strategies Dashboard, where our newly created Order Routing Strategy will be listed. Once saved, the system navigates us back to the Strategies Dashboard, where our newly created Order Routing Strategy will be listed. To continue configuring our new Strategy, click the “Pencil” icon on the far right of the Strategy. To continue configuring our new Strategy, click the “Pencil” icon on the far right of the Strategy. This will navigate us back into the Strategy configuration page we just saved, but we’ll now have a new “Scenarios” section.“Scenarios” is where we’ll be able to configure further “Sort” methods, specific “Locations”, “Filters” based on system Attributes, and “After Actions”. This will navigate us back into the Strategy configuration page we just saved, but we’ll now have a new “Scenarios” section. “Scenarios” is where we’ll be able to configure further “Sort” methods, specific “Locations”, “Filters” based on system Attributes, and “After Actions”. KIBO enables users to “Import” and/or “Export Scenarios”. We can “Import” Scenarios for use in building out this Strategy, or “Export” these Scenarios for use in other Strategies. Scenarios can be edited once imported, if applicable. Kibo enables users to import and or export scenarios. We can import scenarios for use in building out this strategy or export, these scenarios for use in other strategies. Scenarios can be edited once imported, if applicable. To create a new “Scenario”, click the “Add Scenario” button on the right. To create a new “Scenario”, click the “Add Scenario” button on the right. Creating a new Scenario is a four-step process. We will discuss each section of each step.The first step is to set the Scenario’s basic configurations. Again, all required fields are noted with a red “star”. Creating a new Scenario is a four-step process. We will discuss each section of each step. The first step is to set the Scenario’s basic configurations. Again, all required fields are noted with a red “star”. Similar to configuring the Strategy, we’ll give the new Scenario a “Name” and optional “Description”. Similar to configuring the Strategy, we’ll give the new Scenario a “Name” and optional “Description”. As mentioned earlier, the Scenario inherits the “Scenario Type” from the Strategy it belongs to, and is uneditable here. As mentioned earlier, the Scenario inherits the “Scenario Type” from the Strategy it belongs to, and is uneditable here. Next, we will configure the “Primary” and “Secondary Sorting” options to determine how to prioritize locations within a Scenario. In the event of a tie using the Primary Sort, the Secondary Sort can help determine which location is preferred. Next, we will configure the “Primary” and “Secondary Sorting” options to determine how to prioritize locations within a Scenario. In the event of a tie using the Primary Sort, the Secondary Sort can help determine which location is preferred. The “Sort” options for both “Primary” and “Secondary Sort” are:“Rank”, which allows users to manually prioritize locations using a numeric value.“Distance” calculates the shipping address proximity to prioritize the closest fulfillment center.“Velocity” looks at the “Life to Date”, or “LTD” of inventory movement. It prioritizes locations with lower values, meaning it routes orders to stores with the slowest-moving stock to improve turnover and reduce markdowns.“Carrier Cost” queries “FedEx” directly to find the lowest shipping rate.“Load Balanced” distributes order assignments evenly across all eligible locations to prevent overloading a single location.“Lowest Available Inventory” targets the location with the least stock; this is best used for “Reverse Logistics” to restock locations that are running low. We’ll discuss “Reverse Logistics” in a separate video.Conversely, “Highest Available Inventory” routes to the location with the most inventory.Finally, “Excess Inventory Count” and “Excess Inventory Percentage” prioritize locations holding inventory flagged as “Excess”. The sort options for both primary and secondary sword are. ranked which allows users to manually prioritize locations using a numeric value Distance calculates the shipping address proximity to prioritize. The closest fulfillment center. Velocity looks at the life-to-date or LTD of inventory movement. It prioritizes locations, with lower values. Meaning it routes orders to stores with the slowest moving stock to improve turnover and reduce markdowns. Carrier cost queries FedEx directly to find the lowest shipping rate. Load balanced, distributes order assignments evenly across all eligible locations to prevent overloading a single location. Lowest available inventory targets. The location with the least stock, this is best used for reverse Logistics to restock locations, that are running low. We’ll discuss reverse Logistics in a separate video. Conversely, highest available inventory route to the location with the most inventory. Finally, excess inventory, count and excess inventory percentage. Prioritize locations holding inventory flagged as excess As mentioned, “Secondary Sort” has similar options to “Primary Sort”. Again, In the event of a tie using the Primary Sort, the Secondary Sort can help determine which location is preferred. As mentioned, “Secondary Sort” has similar options to “Primary Sort”. Again, In the event of a tie using the Primary Sort, the Secondary Sort can help determine which location is preferred. “Scenario Status” determines whether this Scenario is “Active” or “Inactive”. By default, the scenario is “Active”. “Scenario Status” determines whether this Scenario is “Active” or “Inactive”. By default, the scenario is “Active”. Lastly, we can choose to “Automatically add all active locations” to this Scenario. Enabling this will create a dynamic rule, where any new location created and/or activated in the “Locations” menu of this tenant will be “Automatically” added to this Scenario. Lastly, we can choose to “Automatically add all active locations” to this Scenario. Enabling this will create a dynamic rule, where any new location created and/or activated in the “Locations” menu of this tenant will be “Automatically” added to this Scenario. When we have configured all necessary Scenario Details for the first step, we’ll click the “Next” button on the bottom right. When we have configured all necessary Scenario Details for the first step, we’ll click the “Next” button on the bottom right. The second step is to select the “Locations” we want included in this Scenario. This is assuming we left the “Automatically add all active locations to Scenario” checkbox unchecked in the previous step. The second step is to select the “Locations” we want included in this Scenario. This is assuming we left the “Automatically add all active locations to Scenario” checkbox unchecked in the previous step. To add “Locations” to this Scenario, click the checkbox next to the left of the “Location Code”. We can add any number of Locations to a Scenario. To add “Locations” to this Scenario, click the checkbox next to the left of the “Location Code”. We can add any number of Locations to a Scenario. “Location Types” for each Location are listed for reference. “Location Types” for each Location are listed for reference. If a Location has had “Fulfillment Capacity” limits configured on it’s “Location Details” page in this tenant, those limits will also be listed here for reference.We discussed creating and managing “Locations” in a separate video. If a Location has had “Fulfillment Capacity” limits configured on it’s “Location Details” page in this tenant, those limits will also be listed here for reference. We discussed creating and managing “Locations” in a separate video. As there could be several pages of Locations listed, we can also search for Locations on the top right using the Location “Name”, “Code”, or Zip Code”. As there could be several pages of Locations listed, we can also search for Locations on the top right using the Location “Name”, “Code”, or Zip Code”. When we have selected all “Locations” desired for this Scenario, we’ll click the “Next” button on the bottom right. When we have selected all “Locations” desired for this Scenario, we’ll click the “Next” button on the bottom right. The third step is to configure “Filter Criteria”, if desired. “Filters” are logic defined and used to “Exclude” fulfillment locations that don’t match certain criteria. For example, a Filter can be created so that orders can only be assigned or viewed if a fulfiller is located within “100 miles” of the customer.Multiple Filters can be applied to the same Scenario to further narrow the list of fulfillers. For instance, two Filters can be created so that the order can be only assigned or viewed if the fulfiller is located within “100 miles” of the customer and the order total price is less than “one thousand dollars”.“Filter Criteria” is an optional step - if no filters are desired, we can click “Next”. The third step is to configure filter criteria. If desired. Filters are logic defined and used to exclude fulfillment locations that don’t match certain criteria. For example, a filter can be created. So that orders can only be assigned or viewed if a fulfiller is located within 100 miles of the customer. Multiple filters can be applied to the same scenario to further narrow. The list of fulfs. For instance, two filters can be created so that the order can be only assigned or viewed if the fulfiller is located within 100 miles of the customer, and the order total price is less than 1,000. Filter criteria is an optional step. If no filters are desired. We can click next. First, we’ll need to give our new Filter a “Name”. First, we’ll need to give our new Filter a “Name”. Next, we’ll select the “Filter Type”. This is the “Type” of data that the Filter will be based on, such as a “Custom Value”, “Custom Data List” or existing “Data Point”.“Custom Value” allows us to select a “System” or “Custom Extensible Attribute” and it’s related “Value” to filter on.“Data Point” allows us to compare two “Attributes” to filter on.“Custom Data List” allows us to define a list of custom “Values” to filter on, such as “Labor Rates” at a Location.We’ll discuss “Custom Data Lists” in a separate video. In this example, we’ll select “Custom Value”. Next, we’ll select the “Filter Type”. This is the “Type” of data that the Filter will be based on, such as a “Custom Value”, “Custom Data List” or existing “Data Point”. “Custom Value” allows us to select a “System” or “Custom Extensible Attribute” and it’s related “Value” to filter on. “Data Point” allows us to compare two “Attributes” to filter on. “Custom Data List” allows us to define a list of custom “Values” to filter on, such as “Labor Rates” at a Location. We’ll discuss “Custom Data Lists” in a separate video. In this example, we’ll select “Custom Value”. Next, we’ll select the “Filter Attribute”. This is the specific property that determines if the order matches the rule. This list includes both “System” and “Custom Extensible Attributes” we have created in the tenant and have “Exposed” to Order Routing. This includes Attributes for “Location”, “Product”, “Order”, “Account”, “Customer”, “B2B”, and “Inventory”.We discussed creating and/or managing the various “Attributes” just listed in separate videos.We can scroll or type to Search for a specific Filter Attribute, and click to select it. Next, we’ll select the filter attribute. This is the specific property that determines. If the order matches the rule, This list includes both system and custom extensible attributes. We have created in the tenant and have exposed to order routing. This includes attributes for location product order account. Customer B2B and inventory. We discussed creating and or managing the various attributes just listed in separate videos. We can scroll or type to search for a specific filter attribute and click to select it. Select the logical “Operator” that should be applied when comparing the “Attribute”. The possible conditions will change depending on the data “Type” of the “Attribute” selected.For logic conditions that support multiple “Values”, such as “or” and “any of,” we will be able to select multiple “Values” from the dropdown. For logic conditions that support only single conditions, like “equals” or “not equals,” we will only be able to select one “Value”.If we select a “List” Filter Type, it will support the “in” or “not in” logic conditions. For example, if the filter attribute is “Material”, then we could use “in” to compare it against the “Iron”, “Steel”, and “Aluminum” Custom Values. If the item matches any one of those Values, it will attempt assignment. These are available for both “System” and “Custom Extensible Attributes”. Select The Logical operator that should be applied, when comparing the attribute. The possible conditions will change depending on the data type of the attribute selected. For logic conditions that support multiple values such as or and any of we will be able to select multiple values from the drop-down. For logic conditions that support only single conditions like equals or not equals. We will only be able to select one value. If we select a list filter type, it will support the in or not in logic conditions. For example, if the filter attribute is material, then we could use in to compare it against the iron steel and aluminum custom values. If the item matches, any one of those values, it will attempt to assignment. These are available for both system and custom extensible attributes. Again, depending on the “Filter Type” selected, either “Custom Value”, “Custom Data List”, or “Data Point”, will determine the next field that will be displayed. In any case, we’ll “select” or “enter” the appropriate “Value” that the first “Filter Attribute” will be compared against. Again, depending on the “Filter Type” selected, either “Custom Value”, “Custom Data List”, or “Data Point”, will determine the next field that will be displayed. In any case, we’ll “select” or “enter” the appropriate “Value” that the first “Filter Attribute” will be compared against. When we have configured all the necessary fields for the new”Filter”, we’ll click the “Add Condition” button. When we have configured all the necessary fields for the new”Filter”, we’ll click the “Add Condition” button. Once the filter has been added, it will be listed in the “Filter Criteria” table along with any other Filters that have been created. Additionally, the “Filter Description” displays the exact Criteria in plain language to ensure the Filter is exactly as intended. Once the filter has been added, it will be listed in the “Filter Criteria” table along with any other Filters that have been created. Additionally, the “Filter Description” displays the exact Criteria in plain language to ensure the Filter is exactly as intended. To edit an existing Filter, click the “Pencil” icon. To delete, click the “Trash” icon. To edit an existing Filter, click the “Pencil” icon. To delete, click the “Trash” icon. When we have configured all “Filters” as necessary, or wish to skip this step entirely, we’ll click the “Next” button on the bottom right. When we have configured all “Filters” as necessary, or wish to skip this step entirely, we’ll click the “Next” button on the bottom right. The fourth and final step in the Scenario creation process defines the “After-Action” Logic.When a Scenario is being considered for assignment, Order Routing considers the “Locations” within the Scenario, the available Inventory in each of those Locations, and any “Filters” set in the Scenario. Then it will determine whether the Scenario is a “Match”, meaning it can fulfill the entire shipment, a “Partial Match”, meaning it can fulfill “some” of the items, or “No Match”, meaning it cannot fulfill any items. If a “Full Match” is found, the shipment will be fully assigned within that Scenario. The fourth and final step in the scenario creation process defines the after action logic. when a scenario is being considered for assignment order routing considers the locations within the scenario, the available inventory in each of those locations and any filters set in the scenario, Then it will determine whether the scenario is a match. Meaning it can fulfill the entire shipment a partial match. Meaning it can fulfill some of the items or no match, meaning it cannot fulfill any items. If a full match is found, the shipment will be fully assigned within that scenario. In the event of a “Partial Match”, in which some Inventory is available within the Scenario but not the entire Shipment, the most common behavior is “Splitting” the shipment. If we don’t want to “Split” shipments, we can choose to “Try the next scenario”, if applicable. We can also “Cancel the entire order”, “Assign the entire order to Customer Care”, or “Assign the entire order to Backorder” instead.Shipments can be “Split” based on “Line Item” or “Quantity” by “Assigning available items to a location”, and the remaining quantity either “Assigned to another location”, “Cancelled”, “Sent to Customer Care”, or “Sent to Backorder”. If “Split by Line Item”, the entire quantity of a Line Item will always be “Assigned to another location”. “Splitting by Quantity” would allow some Inventory of one Line Item to be assigned to one location. In the event of a partial match in which some inventory is available within the scenario. But not the entire shipment, the most common behavior is splitting the shipment If we don’t want to split shipments, we can choose to try the next scenario if applicable. We can also cancel the entire order, assign, the entire order to customer care or assign the entire order to back order instead. Shipments can be split based on line item or quantity by assigning available items to a location and the remaining quantity either assigned to another location canceled sent to customer care or sent to back order. If split by line item, the entire quantity of a line item will always be assigned to another location. Splitting by quantity would allow some inventory of one line item to be assigned to one location. If a shipment will be “Split”, then an additional setting for “Restart attempt for partial assignment” will appear. This determines where Order Routing will attempt to assign the remaining items. These options are:“Start at the beginning”: The system will go back to the highest priority Scenario and try to assign the remaining items to a location in that Scenario.“Current Scenario”: The system will try to assign the remaining items to any location within the current Scenario that the “Split” occurred in. If no location can fulfill the items, then move on to the next Scenario.“Scenario Rank”: The system will try to assign the items to locations in the next Scenario of the ranking order. If a shipment will be “Split”, then an additional setting for “Restart attempt for partial assignment” will appear. This determines where Order Routing will attempt to assign the remaining items. These options are: “Start at the beginning”: The system will go back to the highest priority Scenario and try to assign the remaining items to a location in that Scenario. “Current Scenario”: The system will try to assign the remaining items to any location within the current Scenario that the “Split” occurred in. If no location can fulfill the items, then move on to the next Scenario. “Scenario Rank”: The system will try to assign the items to locations in the next Scenario of the ranking order. In the event “No Match” is found in the current Scenario, we can define the desired behavior we want Order Routing to take.“No Match” has all of the same options that were discussed for “Partial Match”. In the event. No matches found in the current scenario, we can Define the desired Behavior. We want order routing to take. No match has all of the same options that were discussed for partial match. When we have configured all necessary “After Actions” behaviors, we’ll click the “Save” button on the right. When we have configured all necessary “After Actions” behaviors, we’ll click the “Save” button on the right. Once the scenario has been saved, the system will navigate back to the “Edit Strategy” page. The new Scenario will be listed in the “Scenarios” section. We can continue creating as many Scenarios as needed for this Strategy using the same process. Once the scenario has been saved, the system will navigate back to the “Edit Strategy” page. The new Scenario will be listed in the “Scenarios” section. We can continue creating as many Scenarios as needed for this Strategy using the same process.

