Bank Support Modules ==================== The ```bank-account``` abstraction module is used for all bank account statements processing. Only one loader is implemented at the moment, ```bank-fio``` for Fio CSV exports. Modules ------- ### Bank Account This module creates a thin abstraction layer for bank accounts and transactions. (make-bank-account number bank [transactions]) * ```number``` - account number * ```bank``` - bank code * ```transactions``` - optional list of initial transactions Creates a new bank account data structure. The data structure has the following accessors: * ```(bank-account-transactions ba)``` - returns the transactions list * ```(bank-account-number ba)```- retrieves the bank account number * ```(bank-account-bank ba)``` - returns the bank account bank code The underlying implementation is currently a plain list but is subject to change in the future. (bank-account-insert account transaction) * ```account``` - bank account structure * ```transaction``` - transaction structure to add Adds (prepends) given ```transaction``` to the list of transactions of given bank ```account```. (make-bank-transaction i d a c v m t) * ```i``` - transaction id * ```d``` - date * ```a``` - amount * ```c``` - currency * ```v``` - variable symbol * ```m``` - message * ```t``` - transaction type Creates new bank transaction data structure. The underlying implementation is currently a record. The following accessors are provided: * ```bank-transaction-id``` * ```bank-transaction-date``` * ```bank-transaction-amount``` * ```bank-transaction-currency``` * ```bank-transaction-varsym``` * ```bank-transaction-message``` * ```bank-transaction-type``` More fields with accessors will be added as other modules will need them. ### Bank Fio