Approvals engine

Approvals uses a rules engine to define the approval policies that determine how many reviews are required before each reviewable action takes effect. When Approvals receives an approval request, it sends the details received in the request message to the rules engine to use to determine how many reviews are required.

Table 1 shows the approval request information that is available to be used by the rules engine. Every reviewable action does not need to provide all of this information in its approval request. For example, the approval request for canceling an inbound transmission does not have a bank code, account number, or message type because they are not attributes of a transmission.
Table 1. Approvals approval request information
Detail Optional Description
Code base No The base code level of the software that contains the component and category of this review request
Category No The category of this review request
Action No The action in this category that needs to be reviewed
Requesting user ID Yes The user ID of the user who initiated the action
Requesting user role Yes The user group that the user who initiated the action belongs to
Partner ID Yes The identifier of the participant for whom the action was requested
Message standard Yes The message standard for the requested action
Message type Yes The message type for the requested action
Bank code Yes The routing number or BIC for the requested action
Account number Yes The account number for the requested action
Credit amount Yes The credit amount for the requested action
Delta credit amount Yes The amount to be added to the credit amount for the requested action
Debit amount Yes The debit amount for the requested action
Delta debit amount Yes The amount to be added to the debit amount for the requested action
The rules engine for Approvals is Business Rules Server. When an approval request is received, Business Rules is used to search for a rule that matches the information that was provided in the request. When a matching rule is found, it is used to determine the number of reviews and the level required for each review. Business Rules returns this information as a list of required reviews. The list contains the following details for each required review:
  • Review level

Each time a user approves or rejects a review, Business Rules is used to determine the number of reviews remaining and the state for the entire approval request.

The reference application provides example Business Rules workflows and nodes for a rules engine:
  • Workflow: ApprovalsReviewNumWorkflow
  • Node: ApprovalsReviewNumNode