diff --git a/gnucash/import-export/qif-imp/qif-parse.scm b/gnucash/import-export/qif-imp/qif-parse.scm index 61fa160ec9..c79959f918 100644 --- a/gnucash/import-export/qif-imp/qif-parse.scm +++ b/gnucash/import-export/qif-imp/qif-parse.scm @@ -409,7 +409,9 @@ (if (null? amt-strings) formats (lp (cdr amt-strings) - (qif-parse:check-number-format (car amt-strings) formats))))) + (if (car amt-strings) + (qif-parse:check-number-format (car amt-strings) formats) + formats))))) ;; list of number-strings and format -> list of numbers eg '("1,00" ;; "2,50" "3,99") 'comma --> '(1 5/2 399/100) this function would diff --git a/gnucash/import-export/qif-imp/test/test-qif-parse.scm b/gnucash/import-export/qif-imp/test/test-qif-parse.scm index e4ad5ca919..70f9dace5a 100644 --- a/gnucash/import-export/qif-imp/test/test-qif-parse.scm +++ b/gnucash/import-export/qif-imp/test/test-qif-parse.scm @@ -248,6 +248,11 @@ (qif-parse:check-number-formats '("10.50" "20.54") '(decimal comma integer))) + (test-equal "qif-parse:check-number-formats 1234.00 #f" + '(comma) + (qif-parse:check-number-formats '("123,45" #f) + '(decimal comma integer))) + (test-equal "qif-parse:check-number-formats 1234 4567" '(decimal comma integer) (qif-parse:check-number-formats '("1234" "4567")