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-date
bank-transaction-id bank-transaction-id
bank-transaction-message bank-transaction-message
bank-transaction-type
) )
(import scheme (import scheme
@ -68,6 +69,6 @@
(cdr account))) (cdr account)))
;; Creates a new bank transaction. ;; 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))) (currency (string->symbol (cadddr row)))
(varsym (list-ref row 9)) (varsym (list-ref row 9))
(message (list-ref row 12))) (message (list-ref row 12))
(make-bank-transaction id date amount currency varsym message))) (type (list-ref row 13)))
(make-bank-transaction id date amount currency varsym message type)))
;; Loads Fio bank accound statement. ;; Loads Fio bank accound statement.
(define (bank-fio-parse fn) (define (bank-fio-parse fn)

View file

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