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

Bank

A financial institution. Holds the bank’s reference data (SWIFT/BIC, address, contact).

Bank Account

A specific account at a bank, in a specific currency, owned by a specific finance company.

Bank Statement

An imported statement file (typically MT940-shaped) for one bank account, with opening and closing balance.

Bank Statement Line

A single transaction inside a statement: a transaction type, debit/credit indicator, amount, currency, and counter-account references plus the customer/supplier extracted by reconciliation.

Reconciliation

The process of marking a statement line as matched against one or more Payment rows; the line tracks the reconciled amount and the journal entry it was posted as.

Entities

BNK entities

Bank (Bank)

A financial institution.

FieldDescription

code

Business key (a BankCode).

swiftCode

Optional SWIFT/BIC.

name

Bank name (a BankName, MT940 length).

street, zipcode, city, state, country

Bank address.

bankReference

Optional reference text.

telephone

Optional phone number.

Bank Account (BankAccount)

A specific account at a bank.

FieldDescription

bankAccountNumber

Business key — the IBAN.

currency

Account currency.

bank

Owning bank.

company

Owning finance company.

Bank Statement (BankStatement)

An imported statement (MT940-shaped) for one bank account.

FieldDescription

transactionReference

Business key — the MT940 transaction reference of the file.

bankAccount

The account this statement is for.

statementNumber

Optional MT940 statement number.

statementDate

Statement date.

openingBalanceExt / openingBalanceDate

Opening balance and the date it applies to.

closingBalanceExt / closingBalanceDate

Closing balance and the date it applies to.

currency / company

Defaulted from the bank account (operational fields).

statementLines

The contained BankStatementLine rows.

biMatched

Aggregate flag — whether every line of the statement has been reconciled.

Bank Statement Line (BankStatementLine)

A single transaction within a statement.

FieldDescription

bankStatement

Owning statement.

transactionType

Transaction type — see Bank Transaction Types below.

transactionDate

Transaction date.

debitCredit

Debit/credit indicator — see Debit/Credit Codes below.

transactionAmountExt

Transaction amount in the transaction currency.

transactionCurrency

Transaction currency.

transactionCurrencyRate

Conversion rate used for the line.

accountReference1 to accountReference6

The MT940 :86: free-text references attached to the transaction.

counterBankName

Optional name of the counter-party’s bank.

counterAccountNumber

Optional counter-party IBAN.

supplier / customer

Optional supplier or customer extracted by reconciliation.

reconciledAmountExt

Optional cumulative amount reconciled against payments.

matched

Match status (operational).

journalEntry

Optional journal entry the line was posted as.

postedToPeriodYear / postedToPeriodNumber

The financial period the posting was made in.

Bank Transaction Types (BankTransactionType)

CodeNameMeaning

PA

Payment Initiated

Outbound payment initiated by us.

RE

Payment Received

Inbound payment received from a counter-party.

LD

Load or Deposits

Cash load or deposit transactions.

FX

Foreign Exchange

Currency exchange transaction.

AC

Accounting

Internal accounting/booking transaction.

Debit/Credit Codes (BankDebitCredit)

CodeNameMeaning

D

Debit

A debit posting.

C

Credit

A credit posting.

RD

Reversal of Debit

Reversal of an earlier debit.

RC

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.