Accounts and financial records¶
Module id: accounts
Who holds the account, kept apart from how money was posted.
Account services hold relationships. Ledger and general-ledger services hold movements and books. An institution core that remains the book of record connects through an adapter.
exp-accounts is the channel. domain-banking-accounts coordinates the relationship. Three core services split the record: core-banking-accounts, core-banking-ledger, and core-common-accounting-gl. There is no domain-banking-ledger and no exp-ledger.
What it owns
- Account relationships, holders, spaces, balances, and restrictions
- Account opening for a channel
- Ledger transactions and the lines that make a posting
- General-ledger accounts, journal batches, entries, and lines
What it does not own
Repositories¶
| Repository | Layer | What it holds | OpenAPI |
|---|---|---|---|
exp-accounts |
Experience | Account opening journey and accounts by party | openapi.yml |
domain-banking-accounts |
Domain | Holders, accounts, spaces, restrictions, back office | openapi.yml |
core-banking-accounts |
Core | Account relationships, balances, restrictions, spaces | openapi.yml |
core-banking-ledger |
Core | Transactions, lines, statements | openapi.yml |
core-common-accounting-gl |
Core | GL accounts and journal batches | openapi.yml |
How the pieces fit¶
exp-accounts exposes the account-opening journey and accounts for a party. That is the channel edge.
domain-banking-accounts coordinates holders, accounts, spaces, and restrictions, including a back-office view. It does not post the ledger.
core-banking-accounts persists the relationship: accounts, spaces, balances, restrictions, parameters, and status. core-banking-ledger persists transactions and typed lines (transfers, fees, interest, deposits, withdrawals, and scheme-specific lines listed in that spec). core-common-accounting-gl persists GL accounts, journal batches, entries, and lines.
A payment or a loan keeps its own record and posts here when the movement belongs on the books. The three cores are not one table.