There are a few principles you can follow to ensure the success of your Automation rules.
Use the "Set new status if any actions fail?" option
It's possible that Automation will not be able to carry out the actions set out in a rule.
In order to ensure that you are able to monitor any problems that occur, it's strongly recommended that that you use the option to set a new order status in the event of any issues.
You can then either periodically check this order status within Brightpearl, or have an email sent to you whenever an order is set to this status. You can configure this at Settings > Sales > Sales statuses.
The order status will be updated if Automation should have performed an action, but was unable to for an unforeseen reason. If Automation cannot carry out the action for a legitimate reason, such as not being able to fulfill an order due to insufficient stock, this will not trigger the order status change. The order will continue to be monitored until the actions can be completed.
Monitor your rules
Once you've created a rule, you should always monitor the effect it's having by viewing the logs.
The last 30 days' worth of changes made by Automation can be viewed by selecting "View log" on the Automation settings page.
These logs can be filtered by order ID, rule name and status so you can easily find what you're looking for. You can jump to orders and make changes to rules directly from this page by clicking the links in the logs.
Even once established, it's best practice to periodically (at least monthly) check the logs for errors to ensure that things are running smoothly.
Use a status update to test your conditions
If you're unsure about whether the conditions you've created are targeting the correct orders, create the rule in full, but instead of applying all the Automation actions you're wanting to use (invoicing, fulfilling etc.), just update the status to a new temporary status.
In this way, you can reassure yourself that your conditions are correct by monitoring orders coming into that status. Once you're happy, add the other actions.
In the event of a mistake, correcting a status change is much simpler than un-invoicing or having to backtrack on fulfillment. Just don't forget to process the orders you've used for testing!
Pay attention to the order your rules are listed in
Rules will always run in the order they're presented in your rules list. Therefore you may have rules later in the list that should only act after other rules have been run.
You should double-check your rules order to ensure that they're listed in the correct order, otherwise you may encounter situations where some orders are missed or processed incorrectly.
For example, you may have a rule to update the shipping method of an order based on the channel it's placed on. You then have a rule to fulfill orders. If the fulfill orders rule is listed above the update shipping method rule, your orders may be fulfilled with the wrong shipping method.
This sounds obvious, but you should write your rules in a way that avoids errors.
Poorly written rules may cause errors as a matter of course (such as routinely attempting to change invoiced orders, or fulfilling an order which has already been fulfilled - neither of which are possible).
You want any errors you get to be the result of genuine problems that need investigating, rather than being a number that you habitually ignore. If you're seeing errors when there's nothing really going wrong, you need to improve the rule.
Ensure you use conditions to exclude any scenarios which would cause the error, such as setting the condition "Invoiced = No" to rules with the action "Invoice order".
Again, use the log within the Automation settings to identify errors and correct any issues.
Use statuses in your conditions, and update statuses after you've applied your chosen action
It's good practice to map every Automation rule to a specific part of your workflow, and a good way to do this is by using order statuses. In this way, you can avoid Automation acting on orders when you might not want them to.
For example, you may have multiple rules set up to update the shipping method depending on the product SKUs contained in the order. However, it's possible that more than one of these rules could be true, as orders might contain SKUs from multiple rules.
Rules will act based on their order in your rules list, so adding an action to update the order status on the first rule then excluding that order status from the other rules will ensure that only the rule you want to run is applied and not overridden by rules further down in the list.