Event-driven Automation (Beta)

Please note: this functionality is currently in beta-testing and as such not all features described below are currently available in all Automation-enabled Brightpearl accounts.

With the event-driven mechanism, sales orders are checked by Automation when triggered by events that occur in Brightpearl.


When creating an Automation rule, you will find a 'Trigger' section at the top of the page. This has three options for triggering your Automation rules:

  • Sales order
  • Receiving goods
  • Releasing from inventory in transit


Sales order

This is this default option and is currently used in all Automation-enabled Brightpearl accounts. If this is selected and the schedule at the bottom of the page is set to 'Reactive', then whenever a new sales order is created the rule will run against the order and, if eligible, will complete its actions within a few minutes of the order arriving in Brightpearl. If the rule isn't eligible to act, i.e. the order doesn't meet the rule's conditions or the actions cannot be performed, then Automation will check the order again when triggered by an event.

Automation will listen for events that occur against the sales order. Currently, the observed events include:

  • Updating the order via the API 
  • Updating the order status via a batch update, a channel integration, the API or another Automation rule
  • Saving an open order, i.e. not invoiced, in the UI
  • Adding, editing or removing order rows using the API

Coming soon:

  • Saving an invoiced order in the UI
  • Updating the order's allocation status, fulfilment status, shipping status or payment status

The rule will run once against the relevant order immediately after the event occurs. If eligible, it will perform its actions and the rule will complete. If not, the rule will be triggered again should another event occur.


Let's look at a rule that fulfills orders when they are set to a specific order status:



This rule has the following parameters:

  • Trigger: Sales order
  • Condition(s): Order status is 'New Order'
  • Action(s): Fulfil order
  • Scheduling: Reactive

If a sales order is created on the status of 'Draft/Quote', it will not meet the conditions of the rule and therefore the rule will not yet act.


If the order status is later updated to 'New Order', the rule will then kick in and create a goods-out note. This will happen immediately as soon as the change is saved.

Note, the polling mechanism is also used as a fallback for any missed events. Polling will also apply to rules that use date conditions.

Receiving goods

You can choose to apply a rule to sales orders when a goods-in event or quarantine release event occurs. This is especially useful if you have back orders awaiting inventory that you wish to be allocated or fulfilled automatically as soon as stock becomes available.

If receiving goods is selected, the rule will run once shortly after a goods-in note is created. This happens when inventory is received against a purchase order or sales credit.

Automation will check all sales orders in the watch list that meet the rule's conditions and that contain the received inventory in the relevant warehouse. The watch list comprises of sales orders created after the rule was activated, that are less than six months old, and that are not fully paid, fully shipped and invoiced.


Let's make a rule to fulfill orders when new deliveries arrive:



This rule has the following parameters:

  • Trigger: Receiving goods
  • Condition(s): Fulfilment status is 'not fulfilled' or 'part fulfilled'
  • Action(s): Fulfil order
  • Scheduling: n/a

If a sales order is created containing a product that is out-of-stock, it will meet the conditions of the rule as it has not yet been fulfilled. 


However, the rule will not run until inventory is received on a purchase order or sales credit. Let's imagine that this happens next; inventory for this SKU is received on a purchase order and put into the same warehouse that the sales order is assigned to:


Within a few moments of the inventory being received, the rule is triggered and it completes its actions (assuming the sales order still meets the rule's conditions).


Please note: Goods-in can also be received in Brightpearl WMS or via the API. In both cases, the rule is triggered.

Releasing inventory from in transit

If releasing inventory from in-transit is selected, the rule will run once shortly after goods are received against a warehouse transfer or returned goods are released from quarantine. Both these actions can be carried out in the 'Inventory in-transit' screen found in the Products menu.


This trigger will prompt Automation to check all sales orders in the watch list that meet the rule's conditions and that contain the released products in the relevant warehouse.

Please note: Goods can also be also released from quarantine via the API. The rule is also triggered in this scenario.

Have more questions? Submit a request