Fix bank fees dropout.

This commit is contained in:
Dominik Pantůček 2023-03-31 10:00:39 +02:00
parent f5448d050f
commit d58a84e26e
3 changed files with 19 additions and 15 deletions

View file

@ -41,6 +41,7 @@
bank-transaction-date
bank-transaction-id
bank-transaction-message
bank-transaction-type
)
(import scheme
@ -68,6 +69,6 @@
(cdr account)))
;; Creates a new bank transaction.
(define-record bank-transaction id date amount currency varsym message)
(define-record bank-transaction id date amount currency varsym message type)
)

View file

@ -48,8 +48,9 @@
'(("," . ".")))))
(currency (string->symbol (cadddr row)))
(varsym (list-ref row 9))
(message (list-ref row 12)))
(make-bank-transaction id date amount currency varsym message)))
(message (list-ref row 12))
(type (list-ref row 13)))
(make-bank-transaction id date amount currency varsym message type)))
;; Loads Fio bank accound statement.
(define (bank-fio-parse fn)

View file

@ -47,18 +47,20 @@
;; Extract probable member-id from transaction
(define (transaction-extract-member-id transaction)
(let* ((varsym-id0
(string->number
(bank-transaction-varsym transaction)))
(varsym-id
(or varsym-id0
(let* ((msg (bank-transaction-message transaction))
(ci (substring-index "," msg))
(vs (if ci
(substring msg 0 ci)
msg)))
(string->number vs)))))
varsym-id))
(if (equal? (bank-transaction-type transaction) "Poplatek")
#f
(let* ((varsym-id0
(string->number
(bank-transaction-varsym transaction)))
(varsym-id
(or varsym-id0
(let* ((msg (bank-transaction-message transaction))
(ci (substring-index "," msg))
(vs (if ci
(substring msg 0 ci)
msg)))
(string->number vs)))))
varsym-id)))
;; Merges bank account statement into members payment keys. The
;; payment key will be a list of transactions.