Creating a Rule Set - Fabric
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
The following guide contains examples and field descriptions for the Order Fulfillment Logic (OFL) user interface.
Basic Information
| Field name | Description | Values |
|---|---|---|
| Fulfillment Rule Set Name (Required) | The name of the rule set. This name is displayed in the table on the Fulfillment Rules page. | String |
| Description (optional) | A description of the rule set. It’s best practice to include a detailed description describing the purpose of the rule set for anyone viewing the rule set. If this is a cloned rule set with minor differences, describe the differences between each rule set. | String |
Field descriptions
Order Level Rule Groups are run in order from the top down. If one of the rule conditions are met, this rule is executed and subsequent rules aren’t run. If you wanted to move a rule up, you can drag and drop rules to change their order. Item level rules run in parallel and execute all rules even if a previous rule condition is met (including order level rules). This means item level rules override order level rules for the specified item.
Condition fields
When creating any new rule, a condition is required. The condition is used to determine if a rule should be executed. Each condition you create executes from the top down. This means the order of your defined conditions matter.
| Field name | Description | Values |
|---|---|---|
| Entity | Entity is used to determine the attribute schema used to fulfill the condition. For Order Level Rule Groups, the Order schema is set as the default. For Item Level Rule Groups, the Item schema is set as the default. The default values can’t be changed. | Order, Item |
| Attribute | The dropdown for attribute is populated based on the Order or Item attribute type. | Default values for Order are type, subtype, orderId, channelId, and referenceId. The default values for Item are attributes, type, backOrdered, lineId, itemId, sku. Additional values are available based on your Order or Item schema. For example, shippingInfo.address.city, price.itemUnitPrice. |
| Operator | A list of supported expressions. Each expression can be used to filter in different ways. Only supported expressions are displayed for an attribute. | • Equals • Doesn’t equal • Contains • Doesn’t contain • Less Than • Less Than or Equal To • Greater Than • Greater Than or Equal To |
| Value | The value of an attribute. | String |
Action fields
Each action you create executes from the top down. This means the order of your defined actions matters. There are 3 different Fulfillment Rule Type options. These rule types determine which additional action field options are made available.
- Provided location: Buy online, pick up in store (BOPIS). The order itself has the location and it doesn’t need to be provided.
- Static Location: Use this method if you want to predefine where all your orders will be fulfilled from when meeting a rule/condition. This can be any location that you provide along with the associated location number.
- Location Prioritization allows for multiple inventory networks and additional features such as geo-location, split shipments, and item exclusions.
Once a Fulfillment Rule Type is selected, depending on the selected type, different fields are made available.
| Field name | Description | Value |
|---|---|---|
| Location Numbers | Used to configure the distribution location number. | String |
| Allows Partial Fulfillment | Set this value to Yes if you want to allow the order to be partially filled if one or more of the SKU’s aren’t available at a particular location. For example, if an order had 5 table lamps and 1 chair but you did not have the chair available, the 5 table lamps are shipped and the chair is ignored. | Yes/No |
| Included Location Types | A dropdown containing all the available configured inventory networks. | Value is based on your available fulfillment locations. |
| Geolocation | Enable this field if you want to fulfill shipments based on the customers shipping location. | Yes/No |
| Initial Boundary | The initial circumference boundary when determining geo-location. For example, if the value 100 is provided, fabric will look to see if any Included Location Types can fulfill the order within 100 miles of the shipping location. | Number |
| Increment Size | Incremental Boundary In Miles is the number of miles you want to add every time search is performed. | Number |
| Maximum Boundary | The maximum search radius. Once the Increment Size reaches this number and the order can’t be fulfilled, the order is canceled. | Number |
| Inventory Balancing | The Inventory Balancing dropdown has two values, Distance and InventoryAvailability. | Distance/InventoryAvailability |
| Order Level Split Shipments | Setting this value to Yes enables orders to be fulfilled through multiple stores if the SKU’s or items aren’t available at a single location. | Yes/No |
| Item Level Split Shipments | Set this value to Yes if you want to look between locations to meet the item quantity request of an order. | Yes/No |
| Maximum Splits allowed per order | The maximum number of locations that a split order can be fulfilled from. | Number |
| Item exclusions | Allows you to create an additional condition based on an item attribute. | Yes/No |
Creating a Fulfillment Rule Set
Requirements:
- Allocate orders to different fulfillment locations based on the selected shipping type during checkout.
- Configure geographic distance rules for same day shipping.
- Configure rules around split shipments.
- Configure a price/margin rule for items under a certain cost.
- Configure an auto cancel rule for shipments that can’t be fulfilled.
- Create a default dropship rule to ship directly from the factory for orders that can’t be fulfilled from the main fulfillment locations.
Example 1 - Allocate orders to specific fulfillment locations
- In the Setup your set of rules section, a default rule is provided in the subsection for Order Level Rule Group. Click the edit icon to rename the default rule.
- In this example, the first rule is called Allocate to fulfillment locations [ STH ].
- In the Attribute field, select
type. - In the Operator field, select
Equals. - In the Value field, enter
STHas the value. - In the Fulfillment Rule Type field, select Multi Location Single Ship Fulfillment.
- Set the Included Location Types field to where you want to fulfill
STHorders. - The remaining available options aren’t needed in the
STHuse case. - Click Add Rule for
SDD(same day delivery) orders with same geographical location.
Example 2 - Create a price rule for items under a set cost
- Using the Allocate to fulfillment locations
[ STH ] rule, set the Item exclusions field to
Yes. - Set the Attribute field to
price.itemUnitPrice. - In the Operator field, select
Less Than or Equal To. - In the Value field, enter
5.
Example 3 - Create a default dropship action
- In the Allocate to fulfillment locations [ STH ] rule, click the Add action.
- Set the Fulfillment Rule Type field to select Location Prioritization.
- Set the Included Location Types field to include
Dropship,store, andDC.