function deleteFee($fee_id, $admin, $user_level)
 {
     if (!is_numeric($this->getData(TRANS_ID))) {
         $this->debug("deleteFee Failed, transaction not loaded, load by invoking loadTransaction.");
         $this->setError(-1, "deleteFee Failed, transaction not loaded, load by invoking loadTransaction.");
         return -1;
     }
     if (!($this->getData(TRANS_TRANSACTION_STATUS) == TRANS_STATUS_APPLICATION || $this->getData(TRANS_TRANSACTION_STATUS) == TRANS_STATUS_ASSESSMENT)) {
         $this->debug("deleteFee Failed, transaction status already " . $this->getData(TRANS_TRANSACTION_STATUS));
         $this->setError(-1, "deleteFee Failed, transaction status already " . $this->getData(TRANS_TRANSACTION_STATUS));
         return -1;
     }
     $this->debug("delete( {$fee_id}, {$admin}, {$user_level} )");
     $fee_obj = new EBPLSTransactionFee($this->m_dbLink);
     if (($ret = $fee_obj->delete($fee_id, $admin, $user_level)) > 0) {
         // if payment mode is set automatically recompute payment schedule
         if ($this->isPaymentModeSet()) {
             $this->setPaymentMode($this->getData(TRANS_PAYMENT_MODE), $this->getData(TRANS_PAYMENT_TAXFEE_DIVIDED), $admin, $user_level);
         }
         $this->debug("Update Fee Ok.");
     } else {
         $this->debug("Update Fee Failed {$ret}.");
     }
     return $ret;
 }