Approval Workflow
Every financial transaction posted to SIL is checked against the account's SIL debit limit and SIL credit limit. A breach does not reject the transaction. Instead, the transaction is held for supervisor approval.
When approval kicks in​
| Condition | Result |
|---|---|
Debit > SITDebitLimit | Held: Status = Pending, ApprovalStatus = PendingApproval |
Credit > SITCreditLimit | Held: Status = Pending, ApprovalStatus = PendingApproval |
| Within limits | Posted immediately: Status = Posted, ApprovalStatus = NotRequired |
While held:
- No balance impact is applied to the primary or counterparty accounts.
- The double-entry rows are written but
RunningBalanceisnull. - No
SITSyncQueuerow is created, so the replay worker cannot sync it yet.
Lifecycle​
Commands in this workflow​
| Action | Purpose | Doc |
|---|---|---|
| Approve | Supervisor approves a held transaction and posts it into SIL | Approve Transaction |
| Reject | Supervisor declines a held transaction | Reject Transaction |
| Cancel | Initiating teller withdraws their own held transaction | Cancel Transaction |
| List pending approvals | Fetch the queue of transactions awaiting approval | List Pending Approvals |
Reject vs Cancel​
Use Cancel when the initiating teller wants to withdraw their own submission. Use Reject when a supervisor declines a pending transaction.