diff --git a/gnucash/import-export/qif-imp/qif-file.scm b/gnucash/import-export/qif-imp/qif-file.scm index f27e460b97..06fce170b8 100644 --- a/gnucash/import-export/qif-imp/qif-file.scm +++ b/gnucash/import-export/qif-imp/qif-file.scm @@ -1163,6 +1163,10 @@ (string->number (cadr fracprice))))) (set! price (format #f "~f" total)))) - (qif-price:set-share-price! current-xtn price)))) + (qif-price:set-share-price! current-xtn price) + + ;; A blank entry will not necessarily throw an exception, but is invalid + (if (or (string-null? symbol) (or (string-null? price) (string-null? date))) + (set! current-xtn #f))))) (set! current-xtn #f)) current-xtn)) diff --git a/gnucash/import-export/qif-imp/test/test-qif-imp.scm b/gnucash/import-export/qif-imp/test/test-qif-imp.scm index 08071be90a..dda423448a 100644 --- a/gnucash/import-export/qif-imp/test/test-qif-imp.scm +++ b/gnucash/import-export/qif-imp/test/test-qif-imp.scm @@ -77,5 +77,8 @@ (qif-price:set-date! model "1/1' 4") (test-equal parsed model)) + (let ((parsed (qif-file:parse-price-line "\"ABC\",,\"1/1' 4\""))) + (test-equal parsed #f)) + (let ((parsed (qif-file:parse-price-line "\"ABC\",\"1/1' 4\""))) (test-equal parsed #f)))