Accounts and Balances BC
Last updated
Was this helpful?
Last updated
Was this helpful?
The Accounts and Balances BC acts as the "central ledger" for the system. It interacts primarily with the Settlements BC, Participants Lifecycle BC and Transfers BCs, and is a directed sub-system, which means that it is a dependency of the BCs that use it as a "financial system of record" for the financial accounting.
Note:
The Accounts and Balances BC contains a limited amount of logic to ensure that (a) the correct relationships are created and maintained between entities when an external BC creates, updates, queries or closes accounts and (b) the correct account limits are enforced (i.e. set and not exceeded) when an external BC attempts to create journal entries and (c) avoids duplicate ledger entries by using Universal Unique Identifiers (UUID) for unique journal entry identifiers.
Terms with specific and commonly accepted meaning within the Bounded Context in which they are used.
Account
Refers to a General Ledger account, a record in an accounting system that records the debit or credit entries that represent a financial transaction.
Journal Entry
Credit/Debit financial records against Account.
Balance
The amount available in an account, when the debits and credits have been factored in.
BC Functional Diagram: Accounts & Balances Overview
The workflow provided by this UC enables the Switch to create new participant/transfer/settlement accounts in the System Ledger. (Participant Account creation occurs from both the Participant Lifecycle Management and the Settlement BCs. Examples of both have been provided in the Flow Diagrams below).
Further, the workflow provides for specification of credit/debit Journal Entry limits, and to ensure that the Account is unique in the System Ledger.
Account creation from Participant Lifecycle Management BC
UC Workflow Diagram: Add Participant Accounts
Account creation from Settlements BC
UC Workflow Diagram: Bootstrap (Startup) Settlement Model via Configuration
Close a participant account in the System Ledger and prevent new journal entries from impacting it. (Still to be determined: Drain collateral CR balances to another account automatically?)
Query the status and balance for participant account.
Query liquidity CR/DR limits from Participant Lifecycle Management BC
UC Workflow Diagram: Liquidity Cover Queries
Query Journal debit/credit Entries for an Account.
Insert a participant journal entry into the System Ledger specifying the debit and credit accounts (There are three ways through which participant journal entries can be made. See the Flow Diagrams below for a description of each.) Respond with the updated account balance.
Journal Entry insertion from Transfers BC
UC Workflow Diagram: Perform Transfer (Universal Mode)
Journal Entry insertion from Settlements BC using Deferred Net Settlement
(DNS) model
UC Workflow Diagram: Deferred Net Settlement - 19/10/2021
Journal Entry insertion from Settlements BC using Immediate Gross Settlement
(IGS) model
UC Workflow Diagram: Immediate Gross Settlement
Account
accountId
ledgerAccountType
ledgerAccountState
debitLimit
creditLimit
debitBalance
creditBalance
Journal Entry
journalEntryId
debitAccountId
creditAccountId
journalEntryType
transferAmount
transferTimestamp