Rules Conditions and Actions Guide [Information]

Modified on Fri, 12 Sep at 4:09 PM

Order Rules workflow features allow you to set automatic actions whenever a Sales or Purchase Order matches specific conditions. These conditions and actions are covered in detail in this article.

 

NOTE: To use the conditions and actions detailed in this article, you need to add them to an existing Order Rule. For more information, refer to: How to Create Sales/Purchase Order Rules [Step-by-step guide] and How to Edit Sales/Purchase Order Rules [Step-by-step guide].

 

This article is divided into the following sections:

  1. Conditions
    1. Parameters
    2. Operators
  2. Actions
    1. Applicability
    2. Description

 

NOTE: Conditions and actions listed as applicable to Purchase Order Rules are available on supported Fulfillment Channels only. For more information, see: techOMS Fulfillment Channels - Master List [Guides List]

 


I. CONDITIONS



Conditions will have one of two results once evaluated: True or False.


NOTE: Conditions are stateless by design: they don't maintain context across multiple logical operations. This means each condition is evaluated independently, without preserving information between evaluations. Keep this in mind when combining conditions using logical operators.


For example, if you have a condition that checks if the Sales Channel is Shopify (defined as Sales Channel > Equal > Shopify), as orders come into techOMS, the rule will detect if that is True or False



If the result is True, techOMS will execute the following action. If False, it will ignore it.


More conditions and operators can be added. For example, if the order comes from Shopify AND is International (Canada is considered Domestic in this case), you could expand the rule by adding a condition (using the Plus icon) and defining it: 


 

You will then find three logical operators:

  • NOT: Results in True when the condition is NOT met.
  • AND: Results in True when BOTH conditions are met.
  • OR: Results in True when AT LEAST ONE of the conditions is met.


When setting up a Condition, these consist of three parts:

  • A Parameter (e.g. Stock)
  • An Operator (e.g. Less than)
  • A Value (e.g. 100)


A condition set up with these three elements will result in True or False, leading to the action determined by that result.


i. Parameters

  

WARNING: Parameters with the suffix (account level only) are available only for Account-Level Order Rules. Using them in Organization-Level rules may result in unexpected behavior

  

The available Parameters for Orders are:





ACCOUNT-LEVEL
ORGANIZATION-LEVEL
PARAMETER / SUBPARAMETER
DESCRIPTION
SALES
ORDER RULES
PURCHASE
ORDER RULES
SALES
ORDER RULES
Order NumberOrder number as mapped from the Vendor System.
Created DateDate when the order was created (see note below).   
Reference NumberReference number as mapped from the Vendor System.
Source
   
Ship To Address

Country/State/City


   

Postal Code


   

Address Line 1/2/3


   

Contact Name/Company


   
Bill To AddressCountry/State/City

   
Postal Code

   
Address Line 1/2/3

   
Contact Name/Company

   
TotalTotal value of the order.   
Fraud ScoreAs converted for the available Sales Channels.   
Sales ChannelOrigin Sales Channel.      
WarehousePreassigned Warehouse if any.

Carrier


      
Shipment typeOrder's Shipment type (Small Parcel or LTL) at the order level.   

Service


      
NotesOrder notes value.   

Reference Code


   

Reference Value


   
ReferencesThis option is available to purchase order rules only.

Tag value (when supported)


   
LineNumber

   
SKU Code

      
Quantity

   
Reference Code/Value

   
Product Variant ReferencesCode/Value
   
Target Variables

Status

   

Warehouse


   
Carrier 

      
Shipment TypeDetermine if it is Small Parcel or LTL.
   
Service

      

Expected Delivery Days/Cost


   
Expected Delivery Is Weekend
True or false, to determine if it is a weekend shipment or not.
   

Expected Delivery Day of the Week


   

 

NOTE: The Created Date condition evaluates the entire set day — from 12:00 AM to 11:59 PM — regardless of the time the order was created. If not provided by the Sales Channel or API, it defaults to the order's creation date in techOMS.

For a detailed guide on using this condition to schedule the behavior of Sales Order Rules, see: How to Schedule the Behavior of Sales Order Rules [Guide].

 

The available Parameters as Functions are:




ACCOUNT-LEVEL
ORGANIZATION-LEVEL
NAME
DESCRIPTION
SALES
ORDER RULES
PURCHASE
ORDER RULES
SALES
ORDER RULES
Is Enough StockChecks either True or False based on the stock level (see warning below).
Ship to Postal Code Converts postal code string to number if possible, allowing you to set conditions on ranges (e.g. under than 20000). 
Has Missed Product Variant(s)Checks if the order contains lines with missing product variant(s).

 

WARNING: As explained above, functions are stateless. When using the Is Enough Stock parameter, keep in mind:
  • This function should not be used multiple times with the same warehouse within a single rule.
  • When used with logical operators within a single condition, this function may be re-evaluated independently, potentially resulting in misleading outcomes. 

To ensure reliable outcomes, use it only once per warehouse and, if you need to check multiple warehouses, nest it to use it only once per evaluation. If your goal is to generate a list of eligible warehouses based on stock availability, use the Calculate Enough Stock Action instead, as described in the Actions section below.

 

ii. Operators


Once you select a parameter, you will need an operator. Depending on the parameter type, you will have different operators available:


OPERATOR
DEFINITION
FOR TEXT
FOR NUMBER
EqualVerifies if the parameter is equal to the value.
Not EqualVerifies if the parameter is different to the value.
Starts WithVerifies if the parameter starts with the entered value.
Ends WithVerifies if the parameter ends with the entered value.
ContainsVerifies if the parameter contains with the entered value at any point of it.
InAllows verifying if a value matches with more than one value at a time for a parameter with comma separated values (e.g. CA, US, GB, MX).
Not InAllows verifying if a value is not within one of the values you can enter at a time for a parameter with comma separated values (e.g. CA, US, GB, MX).
Is NullVerifies if the parameter is null.
Is Not NullVerifies if the parameter is not null, regardless of the value.
Greater thanVerifies if the parameter is greater than the entered value.
Greater Than or EqualVerifies if the parameter is greater or equal than the entered value.
Less ThanVerifies if the parameter is less than the entered value.
Less Than or EqualVerifies if the parameter is less or equal than the entered value. 




II. ACTIONS



i. Applicability


The available Actions are:




ACCOUNT-LEVEL
ORGANIZATION-LEVEL
ACTION
DESCRIPTION
SALES

ORDER RULES

PURCHASE
ORDER RULES
SALES

ORDER RULES

Set Status

Modifies the order status.

Send to Warehouse

Sends the order to a specific warehouse.

Send Notification

Sends notification messages to a specific user and email accounts.

Add Line(s)

Adds lines to an order, indicating the product(s) and quantity.



Remove SKU(s)

Removes SKUs matching the codes detailed.


Calculate Enough Stock

Creates a prioritized list of warehouses based on stock availability for the whole order.

Calculate Time & Transit
Creates a list of warehouses based on techSHIP's provided transit time for the whole order.

Select Warehouse

Selects a warehouse from a previously calculated list.

Set Carrier and Service

Forces a Carrier and Service level to the order.


Set Carrier Account

Forces a Carrier Account to the order.


Add Order Reference

Adds new Order (Line) References.

Add Product Variant Mapping

Always replaces Product Variants with their defined substitutes, regardless of stock.


Add Product Variant Substitution

Replaces Product Variants with prioritized substitutes if the original item is out of stock.


Raise Exception

Raises a custom exception.

Split Shipment

Splits the entire order into multiple shipments, at the SKU level.


Continue to the next subsection for a detailed description on each action.


ii. Description


Below you can find all the available order rules actions.


Set Status


Modifies the order status.


 

Send to Warehouse


Sends the order to a specific warehouse.


 

Send Notification


Sends notification messages to a specific user and email accounts. You can also insert value variables (order numbers, warehouse, etc).


 

Add Line(s)


Adds lines to an order, indicating the product(s) and quantity.


 

Remove SKU(s)


Removes SKUs matching the codes detailed; you can also choose to remove all unmatched product variant lines if the box is checked.


 

Calculate Enough Stock


Creates a prioritized list of warehouses based on stock availability for the whole order. If combined with the Select Warehouse Action, this action should be executed first.


 

Calculate Time & Transit


Creates a list of warehouses based on techSHIP's provided transit time for the whole order. If combined with the Select Warehouse Action, this action should be executed first.



NOTE: For details regarding its retry policy, refer to Understanding Time and Transit (TNT) Retry Policy [Information].


Select Warehouse


Selects a warehouse from a previously calculated list (generated by actions like Calculate Enough Stock Action or Calculate Time & Transit Action) after applying the filter below.


Optional filters:

  • Only Enough Stock: Considers only warehouses with sufficient stock.
  • Ignore Time in Estimated Delivery Date: When checked, considers only the delivery date, disregarding the estimated delivery time. Otherwise, it considers both. This information is provided by techSHIP.


Selection criteria:

  • Warehouse Priority: Selects the warehouse with the highest priority (1 being the highest). No tiebreakers apply.
  • Shortest Transit Time: Selects the warehouse with the shortest delivery time provided by techSHIP. If there's a tie, the cheapest option is selected.
  • Lowest Shipping Cost: Selects the warehouse with the lowest shipping cost provided by techSHIP. If there's a tie, the following tiebreakers are applied in order:
    1. Shortest delivery time: Prioritizes the option with the shortest delivery time.
    2. Warehouse priority: If still tied, selects the warehouse with the highest priority.


NOTE: No time zone conversion is required; the date and time are already in the local (destination) time.


 

Set Carrier and Service


Forces a Carrier and Service level to the order; you can also check Use Target Variables if you will have a Select Warehouse action that will populate CarrierID and ServiceID beforehand.



Set Carrier Account


Forces a Carrier Account to the order, specifying payment terms, number, postal code and account country.



Add Order Reference


Adds new Order References, and new Order Line References as required; it is necessary to define the Reference Type (value, variable, property), its code and the value based on the Type.


NOTE: If you have consecutive Add Order Reference Actions in the workflow with the same Reference Code, these will concatenate their values; e.g., (if Action 1 and 2 have values A and B, respectively, and their Reference code is both X, then the Reference Value will be A B).



Add Product Variant Mapping


Always replaces Product Variants with their defined substitutes, regardless of stock.

 

NOTE: If you need to apply substitutions based on the Product Variant's stock availability, use the Product Variant Substitution action instead.

 

The original items and their corresponding substitutions are defined in the Product Variant Mappings table. Each line represents an Original–Substitute Product Variant pair:

  • Product Variant: Original item to be substituted.
  • Product Variant Mapping: Corresponding alternate Product.

 

WARNING: techOMS creates a single Sales Order context for all rules. Configure only one Product Variant Mappings table, either shared by all rules or defined within a single rule. If multiple substitution steps exist, only the first one applied will take effect, and the others may be skipped.

 

NOTE: For a comprehensive guide on configuring this action, refer to: How to Create a Product Variant Mapping/Substitution Order Rules [Step-by-Step Guide].

When combined with Split Shipment, place the Product Variant Mapping action before Calculate Enough Stock and Split Shipment. For more details, see How to Split Shipments Automatically [Guide].

 

WARNING: The Product Variant Mapping action does not support Bundles, Non-Inventory Items, or orders with missing SKUs. It is also incompatible with the Line SKU condition, Calculate Time & Transit, Remove SKU(s), and Add Order (Line) References actions.

 


Add Product Variant Substitution


Replaces Product Variants with prioritized substitutes if the original item is out of stock and backorders are enabled in techOMS.

 

NOTE: If you always need to apply substitutions (regardless of the item's stock level), use the Product Variant Mapping action instead.

 

The original items and their corresponding substitutions are defined in the Product Variant Substitutions table. Each line represents an Original–Substitute Product Variant pair:

  • Product Variant: Original item to be substituted.
  • Product Variant Substitution: Corresponding alternate Product.
  • Priority: Substitution priority, with 1 being the highest. Pairs with higher priority are preferred over other alternatives for the same original Product.

 

WARNING: techOMS creates a single Sales Order context for all rules. Configure only one Product Variant Substitution table, either shared by all rules or defined within a single rule. If multiple substitution steps exist, only the first one applied will take effect, and the others may be skipped.

Using this action with Split Shipment is currently unsupported.

 

NOTE: To learn more about backorders, refer to: Understanding Backorders in techOMS [Information]. For a comprehensive guide on configuring this action, refer to: How to Create a Product Variant Mapping/Substitution Order Rules [Step-by-Step Guide].

 


Raise Exception


Raises a custom exception, specifying its description, message title, and details. The exception will be logged in the Sales Channel Log and displayed in the Statistics & Exceptions Dashboard.




Split Shipment


Splits the entire order into multiple shipments, at the SKU level, so it can be fulfilled by more than one location: 

  • Maximum Number Of Shipments: Sets the maximum number of shipments the order can be split into.
  • Prioritize Shipments Based On: Defines the criteria used to split the order across locations:
    • Count Of Item: Splits the order based on the total number of items. Warehouses are sorted by their ability to fulfill the largest share of items.

      NOTE: For example, if an order contains 10 units (5 of SKU A and 5 of SKU B) and:
      • Warehouse 1 can fulfill 6 units
      • Warehouse 2 can fulfill 4 units

      Then, the action will assign 6 units to warehouse 1 and 4 units to warehouse 2.

       

    • Total Order Value: Splits the order based on the monetary value of the items. Warehouses are sorted by their ability to fulfill the highest portion of the order's subtotal value.

      NOTE: For example, if an order contains:
      • 3 units of SKU A ($ 50 each)
      • 2 units of SKU B ($ 100 each)
      • 5 units of SKU C ($ 10 each)

      Then, the total value is $ 400. If:

      • Warehouse 1 can fulfill 3 units of SKU A and 2 units of SKU B (totaling $350).
      • Warehouse 2 can fulfill 5 units of SKU C and 2 units of SKU B (totaling $250).

      Then, the action will prioritize Warehouse 1 to fulfill the highest-value portion ($350), and assign the remaining items to Warehouse 2.


      WARNING: When working with bundles, the Total Order Value split option is not supported. Attempting to use this option with bundles will result in an error. Bundles can only be split using the Count of Item method.

 

WARNING: This action must be used in conjunction with other conditions. Refer to: How to Split Shipments Automatically [Guide] for detailed workflow examples on combining these actions for optimal results.

 

NOTE: If there is not enough stock to fulfill all partitions during shipment splitting, the action will fulfill those it can, and the remaining ones will be marked as backordered. To learn more about the workflow that applies afterwards, refer to: Understanding Backorders in techOMS [Information].

 


Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article