     }
 
     guard let date = csvDateFormatter.date(from: row[settings.csvDateColumn]) else {
-        print("Could not parse date \(row[settings.csvDateColumn])")
+        print("Could not parse date \(row[settings.csvDateColumn])", to: &errStream)
         exit(1)
     }
 

    let payee = payeeCategorizer(tokens).filter({ $0.1 >= 0.2 }).first?.0 ?? row[settings.csvPayeeColumn]

    guard var amount = csvNumberFormatter.number(from: row[settings.csvAmountColumn]).flatMap({ $0.decimalValue }) else {
        print("Could not parse amount \(row[settings.csvAmountColumn])")
        exit(1)
    }
    if let csvAmountDebit = settings.csvAmountDebit, row[csvAmountDebit.column] == csvAmountDebit.text {


for row in rows {
    guard row.count >= minimalColumnCount else {
        print("Found a row with \(row.count) columns, at least \(minimalColumnCount) expected", to: &errStream)
        exit(1)
    }
    let tokens = extractTokens(row: row)
