Skip to main content

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​

ConditionResult
Debit > SITDebitLimitHeld: Status = Pending, ApprovalStatus = PendingApproval
Credit > SITCreditLimitHeld: Status = Pending, ApprovalStatus = PendingApproval
Within limitsPosted 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 RunningBalance is null.
  • No SITSyncQueue row is created, so the replay worker cannot sync it yet.

Lifecycle​

Commands in this workflow​

ActionPurposeDoc
ApproveSupervisor approves a held transaction and posts it into SILApprove Transaction
RejectSupervisor declines a held transactionReject Transaction
CancelInitiating teller withdraws their own held transactionCancel Transaction
List pending approvalsFetch the queue of transactions awaiting approvalList 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.