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.
| 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