public void updateCurDebt(Double amount, Date d) {

    curdebt = curdebt == null ? amount : curdebt - amount;

    if (RoundUtils.compare(curdebt, 0.0) > 0) {
      if (curdate == null) {
        // new date
        curdate = d;
      }
    } else if (RoundUtils.compare(curdebt, 0.0) == 0) {
      curdebt = 0.0;
      curdate = null;
    } else { // < 0
      curdate = null;
    }
  }