Order Routing Networks

Order Routing Networks


Traditionally, a product within the platform is owned and supplied by a single fulfiller.  Orders that are received for that product, are routed to the fulfiller that's defined on the product in Product Manager. Order Routing Networks allow the same product to be fulfilled by a number of different fulfillers, depending on the rules defined within the network.

Once a network has been created, any number of products, sales channels and fulfillers can be added to the network.  This forms an easy pathway to bring sales channels into the network, giving them access to all of the products offered by all of the fulfillers that are connected to the network.

Orders can be routed to the fulfiller that's geographically closest to the orders shipping address, providing a sustainable solution for order fulfilment.

Setting Up a New Network

To set up a new order routing network, go to Settings and select Order Routing Networks to go to the Networks page.
In the top right select New Network.

Basic Tab
You will now be asked to add some basic information for the network.

Add a name for your network and set an organisation company for the network and save.
Three new tabs will now become available.  Capabilities, Companies and Products.

Capabilities Tab

Here we can define various capabilities for the network by adding a capability type and a number of values for that capability type.

You must define at least one capability type and at least one value for a capability type on the network.
Capability types can be anything you choose.  Some example capability types might be 'Product Type', 'Decoration Method' and 'Finishing Method'.

To add a capability type, click the Add Capability Type button in the top right.

A new row for defining a capability type will be added.
We can now click into the field on the left, give the capability type a name and save.  For our example, I will use 'Decoration Method'.

Values for the capability types can also be anything you choose.  Some example values for the 'Decoration Method' capability type might be 'Engraving', 'DTG', or 'Sublimation'.

To add a value for the capability type created in the last step, click the arrow on the right of the capability type.
Click the Add Value button towards the right, enter a value by clicking into the field under Value and click save.
Doing this for the other example values for this capability type gives us this.

Once capabilities have been defined on the network, these will become available to products and fulfillers that are added to the network.

Companies Tab

This tab lists all of the sales channel and fulfiller companies that have been added to the network.  As we haven't added any sales channels or fulfillers to the network yet, this list is currently empty.

Products Tab

This tab lists all of the products that have been added to the network.  As we haven't added any products to the network yet, this list is currently empty.

Adding a Sales Channel to the Network

To add a sales channel to the network, go to Settings and select Companies.  Find the sales channel company you wish to add to the network and click on it to enter the company settings.

Click on the Networks tab on the left and use the toggle to add the company to your network.

You will then see a message confirming that the sales channel is a part of the network you've added it to.
The Default Status of any sales channels that are added to the network must be unset.  You can find the Default Status setting of any company in the Advanced tab under Incoming Orders.
Sales Channels can only be part of one network at any one time.

Adding Products to a Network

To add a product to a network, go to Product Manager and search for the product you wish to add to the network and click on it to enter the product settings.

Click on the Networks tab on the left and use the toggle to add the product to your network.
Please note products can be added to multiple networks simply by toggling the slider for the required networks.

There are 2 ways to add a product to the network from here, using the Dynamic or Explicit option in the top right.


Using the Dynamic option, you will see the capability types that were defined on the network, along with the values that were defined for each capability type.  In our example, we defined one capability type, 'Decoration Method', with 3 possible values 'Engraving', 'DTG' and 'Sublimation'.

Enable the appropriate capabilities for the product you are adding to the network and save.

In the example above, only fulfillers that have the Decoration Method capability DTG, could potentially fulfil orders for this product.


The Explicit option gives you the ability to route specific variants to a given fulfiller, as well as post-processing options such as fulfiller specific Lead Time (In Days), which is handy for managing SLA's, and fulfiller specific SKU mapping.

The screenshot below shows an example of how this looks.  In the example, we have set KornitX Network Fulfiller A to be able to fulfil the Black sizes Small to XL and have also added some SKU mapping as well as setting the lead time in days to 2.

An order for a Black Medium variant of this product could potentially route to KornitX Network Fulfiller A, mapping the SKU to HD-M-BLK and setting the Lead Time Days to 2.  However, an order for the Black 2XL variant of this product would not route to this fulfiller.

All of the settings in the products network explicit tab are importable on a product by product basis.  You can export and import network explicit requirements using the 2 buttons that appear next to the Dynamic/Explicit toggle in the top right, when you are viewing the Explicit tab.

As briefly mentioned above, the lead time setting is related to management of SLAs within the platform.  More information on how set up SLAs and how SLAs work within the platform can be found in the SLA knowledge base article.


Adding Fulfillers to a Network

The network settings available to the fulfiller are where the true power of the order routing network is realised.  Fulfillers can be configured to have orders routed to them depending on criteria such as fulfiller capabilities, order destination, order region/state, business hours of the fulfiller, shipping method, shipping carrier and item SKU, to name a few.

To add a fulfiller to the network, go to Settings and select Companies.  Find the fulfiller company you wish to add to the network and click on it to enter the company settings.

Click on the Networks tab on the left and use the toggle to add the company to your network.
Please note, fulfillers can be assigned to multiple different networks simply by enabling the toggle for the Networks that are required. 
You will then be presented with a number of options for configuring the fulfiller on the network.  I'll provide some detail on the options in each tab below.  We'll start with the options on the Properties tab.

Properties Tab

  1. Accepting Orders - This is effectively an on/off switch for the fulfiller.  If set to Yes, some orders could potentially be routed to this fulfiller.  If set to No, no orders will be routed to this fulfiller.
  2. Auto Accept - If Auto Accept is set to No, orders that are routed to this fulfiller will be listed in the Order Acceptance queue (this can be found under Sales and will be described in more detail later) and remain in a Pending Acceptance status in Order Manager.  If Auto Accept is set to Yes, orders bypass the Order Acceptance queue and will move to a Received status in Order Manager.
  3. Timezone - You can set the timezone of the fulfiller here.
  4. Review Score - A review score of between 0 and 10 stars can be set against each fulfiller on the network.  If the order routing engine has more than one fulfiller available to route the order to at the stage is checks the review scores, the order will be routed to the fulfiller with the highest review score.
  5. Weight - If more than one fulfiller is available to route an order to after all of the other routing rules have been applied, weight can be used to distribute orders between these fulfillers by percentage.  For example, if there were 3 potential fulfillers for the orders, you could set Weight to 50 on one fulfiller, 30 on the second and 20 on the third to give a 50/30/20 split on order volume between the 3 fulfillers.
  6. Deliverable Countries - Here you can define which countries the fulfiller ships orders to.  Only orders with a shipping country code that's listed here, will be routed to this fulfiller.  Note: Deliverable countries can also be defined on a job template that's linked to the fulfiller.

Business Hours Tab

Here you can define the business hours of the fulfiller.  Orders will only be routed to the fulfiller during the opening times defined here.  The business hours set here are relative to the Timezone set in the Properties tab.

Capabilities Tab

Here you will see all of the capabilities that were defined when setting up the network.  If the fulfiller has capabilities that match the capabilities set on the product that's been ordered, the order can potentially be routed to this fulfiller.

Custom Rules Tab
Custom rules allows you to take a granular approach to order routing.  Here you can define a number of conditional statements, using various attributes of the order as well as the requirements of the product that's been ordered.  To add a custom rule, click the Add Custom Rule Group button on the right.

Some fields are made available to you to define the custom rules in your first custom rule group.  Each custom rule group can have any number of custom rules defined within it.  Before showing an example of a custom rule group with custom rules set up in it, we will explain each of the options available to you here.

This is where the data that is going to be compared in the custom rule, will be taken from.  The choices here are Order Field, Order Attribute and Product Requirement.

Order Field has a number of sub-selections.  These are:
  1. Meta: Item Count - The total number of items in the order.
  2. Shipping Address 1 - The orders shipping address line 1.
  3. Shipping Address 2 - The orders shipping address line 2.
  4. Shipping Address 3 - The orders shipping address line 3.
  5. Shipping Town/CityThe orders shipping address line 4.
  6. Shipping State/RegionThe orders shipping address line 5.
  7. Shipping Method - The orders shipping method.
  8. Shipping Carrier - The orders shipping carrier.
  9. Shipping Country Code - The orders shipping country code.
  10. Item SKU (Retail) - The retail SKU of the item ordered.
  11. Item Quantity - The quantity of the item ordered.
Order Attribute has a free text field where the name of the order attribute can be entered.

Product Requirement has one or more sub-selections, depending on how many capabilities have been set up on the network.

The Must Be column is where you set the comparison operator.  For example, 'Less Than', 'Equal To' or 'Greater Than or Equal To'.

The Value column is where you can set the value you are comparing the Source to.  If the source is an order field or an order attribute, this will be a free text field.  If the source is a product requirement, this will be a drop down list of available choices, depending on which capability type was selected in the product requirement sub-selection.

Finally, Score gives a weight of importance to the custom rule.  When 2 custom rules are evaluated to be true (within the same fulfillers network settings or across multiple fulfillers network settings), the custom rule with the highest Score value will be selected.

Custom Rule Example

In the screenshot above we have added 2 custom rules to a custom rule group.  The custom rule is saying:
"If the shipping country code of the order is GB or IE and the shipping method of the order is Next Day or Express, route to this supplier".

Order Flow

Routing Engine

When a sales channel that is on the order routing network, pushes an order to the platform, the initial order status is Pending Routing.  At this point, the order routing engine applies a series of rules to determine the fulfiller that each item in the order will be routed to.

Starting on the first rule set with all of the network fulfillers, the list of fulfillers is reduced as each rule set is applied.  The order that these rule sets are applied, is outlined below.
  1. Previously Allocated - Has the item been previously allocated to any of the suppliers on the network.  If it has, these fulfillers will not move on to the next rule set.
  2. Is Accepting Orders - Is the fulfiller accepting orders.  If not, these fulfillers will not move on to the next rule set.
  3. Product Requirements - Does the fulfiller have the same capabilities as required for the product that's been ordered.  If not, these fulfillers will not move on to the next rule set.
  4. Delivery Location - Does the fulfiller fulfil orders for the country code that's on the shipping address of the order.  If not, these fulfillers will not move on to the next rule set.
  5. Business Hours - Is the fulfiller currently open for business.  If not, these fulfillers will not move on to the next rule set.
  6. Expression Tree - Does at least one of the conditions set up in the Custom Rules tab return true and is the total score of the matching rules higher than the total score of any other fulfillers matching rules.  If not, these fulfillers will not move on to the next rule set.
  7. Review Score - What is the review score of the fulfiller and is it higher than the review score of any other fulfillers that have reached this stage.  If not, the order will not be routed to this fulfiller.
  8. Weight - If there are 2 or more fulfillers that could potentially fulfil the item after all of the above logic has been applied, weight will be applied.  For example, let's say Fulfiller A and Fulfiller B could both fulfil the item and Fulfiller A has a weight set to 50 and Fulfiller B has a weight set to 25.  Out of 750 similar items, Fulfiller A would get 500 items to fulfil and Fulfiller B would get 250 items to fulfil.  Effectively a 66.66%/33.33% split.

Order Acceptance

If Auto-Accept is set to No in the Properties tab of the fulfiller, when an order gets routed to that fulfiller, it will go in to a Pending Acceptance status and appear in the Order Acceptance queue (which can be found in the Sales module).

The fulfiller can accept or reject orders that appear in the Order Acceptance queue using the buttons on the right.

If the order is accepted by the fulfiller, the order status will be updated to Received and the fulfiller will produce the order via their standard workflow.

If the order is rejected by the fulfiller, the order status will be updated to Pending Routing.  The order routing engine will re-route the order but won't consider the fulfiller that rejected the order, as a candidate for the order to be routed to.

Multiline Orders

The Order Routing Networks support multiline orders but all items will go through the routing rules engine individually.  Any items that route to the same fulfiller in the platform will be contained within one order but a single order could be routed to multiple fulfillers, if the rules dictate that they should.


By default, a dropship is automatically created at the point the first order is routed from a sales channel on the network to a fulfiller on the network.

Green Routing

An option is now available at a network level to enable green routing.  You will find the option in the Basic tab of the order routing network.

Green routing applies to multiline orders and the idea behind it is that orders will be routed to as few fulfillers as possible.  If the items in a multiline order can be fulfilled by a single fulfiller, they will be routed to that fulfiller, regardless of weight and custom rules scoring that may be set on the potential fulfillers.

For example, an order that has 3 items may be split between 3 different fulfillers without green routing enabled due to how the custom rules and weighting may be configured on each of these fulfillers, even though one of these fulfillers is able fulfil all 3 items in the order.

With green routing enabled, custom rules scoring wouldn't be taken into account and the order routing engine would keep the items in the order together routing them to a single fulfiller, where possible.


My Order Doesn't Have a Secondary Company (Dropship) Assigned and is in a Status of Received or On Hold

Check the default order status of the Sales Channel company is not set to Received or On Hold.  (Company>Advanced>Incoming Orders>Default Status)  This should be unset on sales channels that are part of an order routing network.
    • Related Articles

    • CSV Order Import Breakdown

      The following article has been split out from the existing Generic FIlesystem article to show users how to use a CSV format to import textual orders into Order Manager found within the Sales module of the Kornit X Platform. For information on setting ...
    • Standardised Order Errors | Setup

      Introduction The following article has been created to detail how to set up standardised order errors enabling a clearer & more concise way to report back error patterns from the fulfiller by grouping these by error type in the Kornit X Platform & ...
    • Order Manager | Returns

      Introduction Returns is a part of the Kornit X Sales module, allowing for customers to request a return which can then be managed and returned to a return bin on individual orders. Once an item has been returned a Return Shipping Label will be ...
    • Order Manager | Customer Services: Finding Order Information and FAQ's

      Overview This document will outline how the system can be used to address common order and customer service based queries experienced by Retailers (and Fulfillers). The Platform is designed to offer a self service Order Management System. Retailers ...
    • CPP Custom Product Cards (Prepaid Order Codes)

      CPP provides the ability to create prepaid coupons that can be given to a customer, allowing them to personalise a product and create an order hours or even days after paying for it. Only a user with the Point of Sale access permission can create ...