Banks and Bank Statements (BNK)
The bnk submodule of acc owns the bank-side reference data and the imported bank-statement records: banks, bank accounts, bank statements (MT940-shaped), and the lines that make up a statement. It depends on com.org for the company a bank account belongs to, on com.par for the customer/supplier extracted from a statement line, on acc.gld for the ledger account a bank account posts to, on acc.jrn for the journal entry a statement line is posted as, and on acc.pmt for the payments matched against a statement line.
Concepts
BankA financial institution. Holds the bank’s reference data (SWIFT/BIC, address, contact).
Bank AccountA specific account at a bank, in a specific currency, owned by a specific finance company.
Bank StatementAn imported statement file (typically MT940-shaped) for one bank account, with opening and closing balance.
Bank Statement LineA single transaction inside a statement: a transaction type, debit/credit indicator, amount, currency, and counter-account references plus the customer/supplier extracted by reconciliation.
ReconciliationThe process of marking a statement line as matched against one or more
Paymentrows; the line tracks the reconciled amount and the journal entry it was posted as.
Entities
Bank (Bank)
A financial institution.
| Field | Description |
|---|---|
| Business key (a |
| Optional SWIFT/BIC. |
| Bank name (a |
| Bank address. |
| Optional reference text. |
| Optional phone number. |
Bank Account (BankAccount)
A specific account at a bank.
| Field | Description |
|---|---|
| Business key — the IBAN. |
| Account currency. |
| Owning bank. |
| Owning finance company. |
Bank Statement (BankStatement)
An imported statement (MT940-shaped) for one bank account.
| Field | Description |
|---|---|
| Business key — the MT940 transaction reference of the file. |
| The account this statement is for. |
| Optional MT940 statement number. |
| Statement date. |
| Opening balance and the date it applies to. |
| Closing balance and the date it applies to. |
| Defaulted from the bank account (operational fields). |
| The contained |
| Aggregate flag — whether every line of the statement has been reconciled. |
Bank Statement Line (BankStatementLine)
A single transaction within a statement.
| Field | Description |
|---|---|
| Owning statement. |
| Transaction type — see Bank Transaction Types below. |
| Transaction date. |
| Debit/credit indicator — see Debit/Credit Codes below. |
| Transaction amount in the transaction currency. |
| Transaction currency. |
| Conversion rate used for the line. |
| The MT940 :86: free-text references attached to the transaction. |
| Optional name of the counter-party’s bank. |
| Optional counter-party IBAN. |
| Optional supplier or customer extracted by reconciliation. |
| Optional cumulative amount reconciled against payments. |
| Match status (operational). |
| Optional journal entry the line was posted as. |
| The financial period the posting was made in. |
Bank Transaction Types (BankTransactionType)
| Code | Name | Meaning |
|---|---|---|
| Payment Initiated | Outbound payment initiated by us. |
| Payment Received | Inbound payment received from a counter-party. |
| Load or Deposits | Cash load or deposit transactions. |
| Foreign Exchange | Currency exchange transaction. |
| Accounting | Internal accounting/booking transaction. |
Debit/Credit Codes (BankDebitCredit)
| Code | Name | Meaning |
|---|---|---|
| Debit | A debit posting. |
| Credit | A credit posting. |
| Reversal of Debit | Reversal of an earlier debit. |
| Reversal of Credit | Reversal of an earlier credit. |
Functionality
The submodule does not currently expose Spring services from this package. Banks, bank accounts, bank statements and their lines are maintained through the standard CRUD pages, and reconciliation/posting state is updated by the payment-side flows in acc.pmt.
Public API
ACC_BNK_QueryApi and ACC_BNK_CommandApi
This submodule does not provide query- or command-API classes from its hand-written package — the entities are read and written through the standard generated readers/writers, and cross-module access happens through the payment, journal, and ledger APIs that consume bank statements. If a future release introduces a dedicated facade, this section should be regenerated.
ViewModel actions
The submodule defines view models for Bank, BankAccount, BankStatement, and BankStatementLine but does not declare any custom UI actions.