# Accounts and Balances BC

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

Terms with specific and commonly accepted meaning within the Bounded Context in which they are used.

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

# Functional Overview - Accounts and Balances

Functional Overview - Accounts and Balances

BC Functional Diagram: Accounts & Balances Overview

# Use Cases

# Create Account

# Description

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.

# Flow Diagram

Account creation from Participant Lifecycle Management BC

Use Case - PLCM BC
Use Case - Add Participant Account - Approval (P2)

UC Workflow Diagram: Add Participant Accounts

Account creation from Settlements BC

Use Case - Settlements BC

UC Workflow Diagram: Bootstrap (Startup) Settlement Model via Configuration

# Close Account

# Description

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 Account

# Description

Query the status and balance for participant account.

# Flow Diagram

Query liquidity CR/DR limits from Participant Lifecycle Management BC

Use Case - PLCM BC

UC Workflow Diagram: Liquidity Cover Queries

# Query Journal Entries

# Description

Query Journal debit/credit Entries for an Account.

# Insert Journal Entry

# Description

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.

# Flow Diagram

Journal Entry insertion from Transfers BC

Use Case - Transfers BC

UC Workflow Diagram: Perform Transfer (Universal Mode)

Journal Entry insertion from Settlements BC using Deferred Net Settlement (DNS) model

Use Case - Settlements BC

UC Workflow Diagram: Deferred Net Settlement - 19/10/2021

Journal Entry insertion from Settlements BC using Immediate Gross Settlement (IGS) model

Use Case - Settlements BC

UC Workflow Diagram: Immediate Gross Settlement

# Canonical Model

  • Account
    • accountId
    • ledgerAccountType
    • ledgerAccountState
    • debitLimit
    • creditLimit
    • debitBalance
    • creditBalance
  • Journal Entry
    • journalEntryId
    • debitAccountId
    • creditAccountId
    • journalEntryType
    • transferAmount
    • transferTimestamp
Last Updated: 5/16/2022, 12:34:51 PM