hackerbase/doc/bank.md

1.8 KiB

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