Work with DOM rules

Completed

The DOM functionality allows for different types of rules to be specified. Organizations can define multiple rules, depending on their business needs. The rules can be defined for a group of locations or individual locations and for a specific product category, product, or variant.

The following sections provide an overview of the types of rules that are supported in Commerce.

Minimum inventory rule

The Minimum inventory rule defines the minimum inventory for a certain category of products or for individual products in all different locations or a group of locations.

To illustrate this concept with an example, the following scenario shows a brick-and-mortar store, where you have walk-in customers, but you also want to use the store as a fulfillment center to fulfill orders. When DOM is looking at that location (your retail store), it finds a certain level of inventory. Consequently, you need to consider whether you want all the inventory to be available for DOM purposes.

Typically, this scenario is not the case, because you want to retain some inventory reserves in the store so that you have enough stock to sell directly to walk-in customers. In this sense, by using the Minimum inventory rule, you can define a set of rules that help you reserve inventory for your walk-in customers, while ensuring that everything else is considered by DOM for the purposes of fulfillment.

Fulfillment location priority rule

With the Fulfillment location priority rule, if all else is equal, DOM would pick a location that is most optimal for fulfillment, either in terms of distance or in terms of cost. However, certain scenarios do occur when you might not want to use that approach. You might want DOM to follow a preset hierarchical way of defining or deriving a location.

For example, typically at the end of season, you might have merchandise from the retail stores going back into an outlet store. Thus, when an order for a product comes in, you want to prioritize your stores to be used as a fulfillment location first before DOM picks the outlet store. In this way, if remainders of that inventory exist in the store channel, you want DOM to pick that store as a first option for fulfillment.

Therefore, if you want to define a hierarchy of locations in terms of how DOM should derive locations for fulfillment, you can use the fulfillment location priority rule to accomplish that task. You can define that rule for a category of products or down to the level of specific products.

Partial order rule

With the Partial order rule, you can configure certain parameters such as allowing a partial fulfillment of orders or order lines. Therefore, based on the exact configuration, DOM might either fulfill the entire order or it might fulfill a partial order and partial lines when it cannot fulfill the complete order from a single location.

With this in mind, let’s say your company wants to restrict the circumstances under which you split order fulfillment across multiple locations. For example, it may not be cost-effective to split order fulfillment across locations if the value of the order is below a certain threshold. With the Prevent order splitting by DOM based on order value or included products feature enabled, your organization can specify order total thresholds or a list of products that circumvent your partial order rule in DOM.

Offline fulfillment location rule

The consideration with the Offline fulfillment location rule is that not every location is available for fulfillment at every given time of the year. Typically, during the holiday season, your stores are so busy that they can’t fulfill orders and provide quality service to your walk-in customers at the same time. Consequently, you might need to take certain locations offline from the network for a specific duration so that DOM does not consider those locations as fulfillment centers. You can accomplish this task by a date and for a group of locations.

Maximum rejects rule

In an ideal case scenario, an order comes in, DOM picks it up, it recommends a location, assigns the order to that specific location, and the location fulfills the order. This process is based and run on data in the system, like inventory availability information. However, system levels of inventory and physical inventory might not always be in sync. Though the system confirms that a specific location has inventory and DOM assigns an order to that location, it is possible that no inventory is physically available in that location.

For such scenarios, a capability has been built in the Store Commerce client in Commerce Headquarters (HQ) where a user can reject an order for fulfillment that had been assigned by DOM. When the order is rejected, it returns to the pool, and then DOM will pick it up again in the next run and assign it to a different location. The DOM engine knows that this location has rejected the order already, so it will not assign it to the same location again but will look for a different one instead. However, if the next chosen locations continue to reject the order, this process will run repeatedly, and the system needs an option to come out of such a loop.

The Maximum rejects rule helps you define a timeout scenario or threshold so that, if an order or an order line is rejected a certain number of times, DOM must place it into an exception queue. An associate can then review it manually and decide the best way to handle that order. The Sales order processing and inquiry workspace provides a simple interface where users can find a tile for rejected orders and an overview of all sales orders, delayed lines, partially shipped lines, and more.

Maximum distance rule

Not every location is set up the same way in terms of size and infrastructure to fulfill orders. For example, you might have a small store that has only one small truck to drive around and fulfill orders. Conversely, you might have a big store that can have bigger trucks to go out and fulfill orders. Normally, your distribution center has the capability to fulfill different volumes of orders. Therefore, it is useful to define in the system how far certain individual locations or group of locations can go out to fulfill orders.

For example, to fulfill an order, the small stores can only go 10 miles, the bigger stores can go 50 miles, and the distribution centers have no limit. In such scenarios, you can use the Maximum distance rule to define those differences.

Maximum order rule

Using the same analogy where not every location is set up the same way, assume that you have a small store that can fulfill five orders in a day, a bigger store to fulfill twenty orders in a day, and the distribution centers have no limit. With the Maximum order rule, you can define the capacity at each location or group of locations to fulfill orders. When the capacity has been reached for that given business day, DOM will no longer assign orders to that location for that specific business day. The next business day, it will begin to assign orders to that location again until it reaches the maximum capacity.

Each of these types of rules can have multiple rules defined for them. You can pick rules and assign them to your fulfillment profile, which will determine the exact calculations and considerations of your DOM logic.

Every time you define a rule, you can specify whether the rule is a hard constraint rule or is a rule that can be relaxed in a specific scenario. For example, you have configured ten rules in the system, of which six are hard constrained rules, and you have a batch of 100 orders coming into the system. In the first iteration of DOM, it will try to apply the 10 rules while looking for a location for those 100 orders. Because you have 10 rules, only 60 orders were assigned to a location. For the remaining 40 orders, the rules were constrained, or the inventory was not available, so DOM couldn’t assign the remaining 40 orders to a location.

The moment that the first iteration of DOM is over, the system returns to a second iteration within the same implementation run and checks how many of the 10 rules are not hard constraints, which means that they can be relaxed. It finds that four rules can be relaxed, meaning that they can be left aside for consideration and DOM will try to apply the remaining six rules against those 40 orders. The constraints have effectively been reduced and possibly more orders than 60 might be fulfilled. For every rule that you define, you can specify whether it is a hard constraint rule or a soft constraint rule.

Configure DOM rules

The following procedure explains how to configure DOM rules.

  1. Go to Retail and Commerce > Distributed order management > Setup > Manage rules.
  2. Select New to begin creating a new DOM rule.
  3. In the Select a record type to create page that opens, select the type of rule that you want to create in the DOM rules field.
  4. Enter a name and description for the rule in the Name and Description fields.
  5. Set the Hard constraint check box to define if the rule must always be taken into consideration. This option is set to Yes by default for the Partial orders, Offline fulfillment location, and Maximum allowed distance rule types.
  6. The current legal entity that you work in will be filled in by default in the Company field.
  7. In the Validation period section, select dates in the Start date and End date fields.
  8. Select Save.
  9. On the Lines tab, select Add and then fill in the following information based on the selected rule type:
    • Maximum orders
      • Select a fulfillment group in the Fulfillment group drop-down field or a warehouse in the Fulfillment location drop-down field.
      • Enter a value in the mandatory Maximum orders field.
    • Maximum rejects – Enter a number in this field.
    • Partial orders
      • Select a number from 1-5 or select Any number in the Maximum fulfilling locations field.
      • Configure the Fulfill partial orders? check box.
      • Configure the Fulfill partial lines? check box.
    • Offline fulfillment location – Select a fulfillment group in the Fulfillment group field or a warehouse in the Fulfillment location field, which you’ll want to assign as offline for DOM.
    • Maximum allowed distance
      • Select a fulfillment group in the Fulfillment group drop-down field or a warehouse in the Fulfillment location drop-down field.
      • Configure the Enable country/region boundary limits check box.
      • Enter a numerical value in the Maximum allowed distance field.
      • Select mi or km in the Unit field.
    • Minimum inventory
      • Select a fulfillment group in the Fulfillment group drop-down field or a warehouse in the Fulfillment location drop-down field.
      • Select a retail category in the mandatory Category drop-down field and/or choose a Product and Product variant in the respective fields.
      • Enter a numerical value in the Minimum inventory field.
    • Fulfillment location priority
      • Select a fulfillment group in the Fulfillment group drop-down field or a warehouse in the Fulfillment location drop-down field.
      • Select a retail category in the mandatory Category drop-down field and/or choose a Product and Product variant in the respective fields.
      • Enter a numerical value in the Priority field.
  10. Select Save.