The Rules Engine provides you with a visual interface for setting up custom business rules which trigger automatically on all orders that meet the criteria specified in this list

Rules run as soon as an order is downloaded from a sales channel and saved in the system. However, there are some cases when a rule might not run on the order. This article covers the main points to check for such cases.


1. The rule is disabled.


For a rule to work, it has to be enabled and saved correctly. 



Whenever you make any changes to the rule, please make sure to click Save instead of the Back or Close button. 



Otherwise, the rule will remain in the Pending changes status and will still use the old saved version.



2. A rule will not run until the order is unpaid.


The rules engine only runs on paid orders.



If you change an Unpaid order to Paid, this will trigger the rule engine to run on this order. To do so:

  1. Go to Open Orders and find the affected order(s)
  2. Right-click > Actions > Edit Order
  3. Change the status to Paid, hit Save


3. The rule will not run if the order source is Amazon FBA.


FBA Fulfillment Center functionality in Linnworks allows tracking how Amazon warehouse fulfils the order for you. FBA will handle all the warehouse management, picking & packing, shipping and after-sales support for your orders. Linnworks will keep track of FBA state changes in the order audit trail. Because Amazon handles orders, there is no benefit in running the Rules Engine on them. These orders will be set to locked status and cannot and should not be processed in Linnworks.


4. The rule was created after the order was downloaded.


When a new rule is created, it will run only for new orders that will be saved in the system after the rule has been saved. Existing orders will not be affected. However, you can manually change the status of the order to Not Paid and then to Paid again. 

This will re-trigger the rules engine against these orders and perform the actions accordingly. 


To do so:

  1. Go to Open Orders and find the affected order(s)
  2. Right-click > Actions > Edit Order
  3. Set the status of the order from Paid to Not Paid. Hit Save
  4. Go back to Edit Order and change the status back to Paid, hit Save again
  5. This can also be done in bulk for multiple orders via right-click > Action > Bulk Change > Change Status > Unpaid / Paid


5. The order did not match any condition.


Order Audit Trail will indicate whether any rule worked on the order or not. Rules engine runs almost instantly as soon as the order is saved into Linnworks. You can check the audit trail of the saved order. It might be that not a single condition was met and the rules engine ignored it. You will see the entry below in any of the two following cases:

  1. The rule was disabled at the moment the order was saved or marked as paid
  2. The rule was enabled, but none of the conditions were met



Check the order and the conditions of the rule that you expected to work in this order; you will be able to see whether there is a mismatch. Edit the condition so that next time a similar order would not be missed. If you are not sure why the rule missed the order, contact technical support for advice.


6. The order matches the conditions of multiple rules, so your expected assignment was overwritten.


The Rules Engine uses the following logic:

1. Within one rule itself, the first condition that matches the order is applied and all the following conditions get ignored.

2. Within the whole Rules Engine, however, the order is checked against all rules and the last ones to match are the ones that are applied. So in a case where you have e.g. 3 rules with the following setup:

    Rule 1 - assigns shipping service based on certain conditions.

    Rule 2 - assigns folder based on certain conditions.

    Rule 3 - assigns shipping service based on other conditions.


And an order matches all 3 rules, then the outcome is that Rule 2 and Rule 3 will be applied because they are the last on the list with different actions. If all three would assign shipping services and all three would match, only Rule 3 would be applied, since it is the last on the list.


Articles that might be useful:


Testing Rules

Rules Engine - logic