Split bank modules documentation.

This commit is contained in:
Dominik Pantůček 2023-04-23 14:56:25 +02:00
parent b01a59ca22
commit a783dd9db9
2 changed files with 68 additions and 58 deletions

68
doc/bank.md Normal file
View file

@ -0,0 +1,68 @@
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

View file

@ -493,64 +493,6 @@ member id.
Updates given members base by applying ```proc``` to all member Updates given members base by applying ```proc``` to all member
records matching ```pred?```. records matching ```pred?```.
### 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
### Members Payments Processor ### Members Payments Processor
### Members Info Printer ### Members Info Printer