Business Alerts
You can set up custom business rules and notifications for various events in the EXO Business system. Rules using custom conditions can be attached to a defined list of system events; when a rule’s conditions are met, a message can be displayed to the user and a notification email can optionally be sent to one or more addresses. Custom rules are triggered when one of the following events occur:
|
|
Note: Alerts on Debtor and Creditor Invoices are only triggered from Invoice Entry screens, e.g. the Creditor Invoice Entry screen or the Invoice Entry screen in EXO Job Costing. They are not triggered when creating the invoice from another screen, e.g. when creating a Debtor Invoice from a Sales Order. Similarly, creating an Opportunity by copying an existing one will not trigger alerts on Opportunities.
Business Alerts are set up in the EXO Business Configurator at System > Event Log > Business Alerts:
The Rules tab displays all rules defined in the system for the selected event; alternatively you can tick the Show all box to display all rules for all events. Rules are listed in order of priority—to change priorities, move rules up or down using the up and down arrow buttons.
Double-click on a rule to edit it or click New to create a new rule for the selected event (the New button is disabled when the Show All box is ticked). When adding or editing a rule, the Details tab appears. The Options sub-tab displays the conditions that must be met for the rule to be activated.
The Run Against option determine whether the rule should be applied to all lines related to the record, or to the record header.
The Rule Type option determines how the rule’s conditions will be applied. Choose from:
- Record Condition – applies simple filter conditions against the record.
- SQL Query – applies a SQL query to each line individually.
Once the rule is saved, this property cannot be changed.
The Behaviour section specifies what should happen in the EXO Business interface when the rule is triggered:
- Silent – no message is displayed to the user, although the fact that the rule was triggered is still logged.
- Warning – a warning message is displayed to the user with Yes and No options. The user can click Yes to proceed with the action or No to cancel.
- Blocking – a message is displayed to the user indicating that the action cannot proceed.
For “Warning” or “Blocking” rules, enter the message to display to the user in the section below. This message can contain the same parameters that are used to build rule conditions—see below.
Rule Conditions
The bottom section of the Details tab is where you enter the conditions that must be met to trigger the rule.
Rules with the type “Record Condition” are entered in the form of a filter that can include the parameters detailed below.
Rules with the type “SQL Query” are entered in the form of a SQL statement to run against the EXO Business database. The parameters below can also be used in SQL statements.
Parameter |
Meaning |
General (available for all rules) |
|
@CURRENT_USER |
The ID number of the logged on user. |
@STAFFNAME |
The name of the logged on user. |
@NOW |
The current date and time. |
@TODAY |
The current date. |
@EXOLINK |
A formatted exo:// protocol hyperlink to the transaction, e.g. exo://saleorder(10001). Can be used in notification emails. |
Sales Orders (saving or supplying) |
|
@ACCNO |
The ID number of the Debtor account on the Sales Order. |
@ACCOUNTNAME |
The name of the Debtor account on the Sales Order. |
@ORDERNO |
The ID number of the Sales Order. |
@SALESNO |
The ID number of the salesperson on the Sales Order. |
@SUBTOTAL |
The Sub Total amount on the Sales Order. |
@TAXTOTAL |
The GST Total amount on the Sales Order. |
@TOTALDISC |
The total discount on the Sales Order. |
@UNDISCOUNTED |
The undiscounted total of the Sales Order. |
@H |
A specified field from the SALESORD_HDR table, e.g. @H.DUEDATE. |
@L |
A specified field from the SALESORD_LINES table, e.g. @L.STOCKCODE. |
Purchase Orders |
|
@PURCHORDNO |
The ID number of the Purchase Order. |
@ACCNO |
The ID number of the Creditor account on the Sales Order. |
@ACCOUNTNAME |
The name of the Creditor account on the Sales Order. |
@SALESPERSON |
The ID number of the staff member in the Purchase Order’s Ordered by field. |
@H |
A specified field from the PURCHORD_HDR table, e.g. @H.ORDERDATE. |
@L |
A specified field from the PURCHORD_LINES table, e.g. @L.UNITPRICE. |
Debtor Invoices |
|
@SEQNO |
The ID number of the invoice. |
@ACCNO |
The ID number of the Debtor account on the invoice. |
@ACCOUNTNAME |
The name of the Debtor account on the invoice. |
@H |
A specified field from the DR_TRANS table, e.g. @H.SUBTOTAL. |
@L |
A specified field from the DR_INVLINES table, e.g. @L.DISCOUNT. |
Creditor Invoices |
|
@SEQNO |
The ID number of the invoice. |
@ACCNO |
The ID number of the Creditor account on the invoice. |
@ACCOUNTNAME |
The name of the Creditor account on the invoice. |
@H |
A specified field from the CR_TRANS table, e.g. @H.TRANSDATE. |
@L |
A specified field from the CR_INVLINES table, e.g. @L.TAXRATE. |
Jobs |
|
@ACCNO |
The ID number of the Debtor account on the job. |
@ACCOUNTNAME |
The name of the Debtor account on the job. |
@JOBNO |
The job number. |
@H |
A specified field from the JOBCOST_HDR table, e.g. @H.STATUS. |
@F |
A specified field from the JOBCOST_FLAGS table, e.g. @F.ISACTIVE. |
@Q |
A specified field from the JOBCOST_LINES table, e.g. @Q.STOCKCODE. |
@T |
A specified field from the JOB_TRANSACTIONS table, e.g. @T.QUANTITY. |
Opportunities |
|
@ACCNO |
The ID number of the company account on the opportunity. |
@ACCOUNTNAME |
The name of the company account on the opportunity. |
@OPPORTUNITYID |
The ID number of the opportunity, or “New” if it has not been saved yet. |
@CONTACTID |
The ID number of the contact associated with the opportunity. |
@CONTACTNAME |
The name of the contact associated with the opportunity. |
@H |
A specified field from the OPPORTUNITY table, e.g. @H.PROBABILITY. |
@L |
A specified field from the OPPORTUNITY_QUOTE table, e.g. @L.QUANTITY. |
The alias parameters that give access to the fields of a table (@H, L@, etc) can be used to access Extra Fields; however, computed fields are not supported in Business Alerts.
Note: While these parameters are not case-sensitive, the values of table fields are, e.g. @F.ISACTIVE would need to look for the value “Y”, not “y”.
Rule Actions
The Actions sub-tab defines a list of actions to perform when the rule is triggered. At present, the only available action is to send an email to specified recipients using the EXO Email Service.
All actions set up for the rule are displayed. Actions are displayed in the order that they will be applied - they can be ordered using the arrow buttons on the right. Click New to create a new action.
On the Details sub-tab, enter a descriptive name for the action, then specify who to send the email to. One or more EXO Business staff members can be selected as recipients from the Internal Recipients dropdown, and other email addresses can be entered manually into the Other Recipients field.
Note: The Other Recipients field can also contain parameters that allow the email to be sent to an email address associated with the record that generated the alert.
Enter a subject line and the message text to send/display. The message body can include any of the parameters that are available for the rule.
Once all information has been entered, click Save Action to add the action to the rule.
Note: Clicking Save Action adds the action to the rule, but does not save the rule itself—click the Save button on the main toolbar to save the rule and all of its actions to the EXO Business database. Rules that have been added but not yet saved are listed on the Actions sub-tab with the ID “New”.
Email Parameters
Business Alerts can be sent to an email address associated with the record that generated the alert. Email address parameters can be entered into the Other Recipients field; when the alert is triggered, the parameter will be replaced with the relevant email address for the record. The following email parameters are available:
Parameter |
Meaning |
General |
|
@COMPANYEMAIL |
The email address for the company (Debtor or Creditor) associated with the record. |
@DEFAULTCONTACTEMAIL |
The email address for the default Contact of the company associated with the record. |
@CONTACTEMAIL |
The email address for the Contact associated with the record (not available for Purchase Orders or Creditor Invoices). |
Sales Orders |
|
@SALESEMAIL |
The email address for the Salesperson associated with the Sales Order. |
@STATEMENTCONTACTEMAIL |
The email address for the Statement Contact of the Debtor associated with the Sales Order. |
Purchase Orders |
|
@SALESEMAIL |
The email address for the staff member associated with the Purchase Order. |
@STATEMENTCONTACTEMAIL |
The email address for the Remittance Contact of the Creditor associated with the Purchase Order. |
Debtor Invoices |
|
@SALESEMAIL |
The email address for the Salesperson associated with the invoice. |
@STATEMENTCONTACTEMAIL |
The email address for the Statement Contact of the Debtor associated with the invoice. |
Creditor Invoices |
|
@STATEMENTCONTACTEMAIL |
The email address for the Remittance Contact of the Creditor associated with the invoice. |
Jobs |
|
@SOLDBYEMAIL |
The email address for the staff member who entered the job (JOBCOST_HDR.STAFFNO). |
@ACTIONBYEMAIL |
The email address for the staff member who is set as the job’s manager (JOBCOST_HDR.ACTIONBY). |
Opportunities |
|
@ASSIGNEDBYEMAIL |
The email address for the staff member in the Opportunity’s Assigned By field. |
@ASSIGNEDTOEMAIL |
The email address for the staff member in the Opportunity’s Assigned To field. |
@CREATEDBYEMAIL |
The email address for the staff member who created the Opportunity. |
Applying Rules to Users
The Apply To sub-tab lets you specify which EXO Business staff members the rule applies to:
Tick the boxes for the users that this rule applies to, or tick Apply To All Users.
Event Rule Auditing
Every time a Business Alert is triggered, an entry is recorded in the REASON_EVENTS table used by the Event Log. New Reason Classes are created automatically for each type of event that alerts can be created for.
For alerts that send a message, an entry is also stored in the new EVENTS_SCHEDULE table. Entries include the values of all parameters relating to the rule.