/** * Show the form for creating a new loanrepayment * * @return Response */ public function create($id) { $loanaccount = Loanaccount::findOrFail($id); $loanbalance = Loantransaction::getLoanBalance($loanaccount); $principal_due = Loantransaction::getPrincipalDue($loanaccount); $interest = Loanaccount::getInterestAmount($loanaccount); $interest_due = Loantransaction::getInterestDue($loanaccount); return View::make('loanrepayments.create', compact('loanaccount', 'principal_due', 'interest_due', 'loanbalance', 'interest')); }
public static function getEMP($loanaccount) { $loanamount = Loanaccount::getLoanAmount($loanaccount); if ($loanaccount->repayment_duration > 0) { $period = $loanaccount->repayment_duration; } else { $period = $loanaccount->period; } if ($loanaccount->loanproduct->amortization == 'EP') { if ($loanaccount->loanproduct->formula == 'RB') { $principal = $loanaccount->amount_disbursed + $loanaccount->top_up_amount; $principal = $principal / $period; $interest = Loantransaction::getLoanBalance($loanaccount) * ($loanaccount->loanproduct->rate / 100); $mp = $principal + $interest; } if ($loanaccount->loanproduct->formula == 'SL') { $mp = $loanamount / $period; } } if ($loanaccount->loanproduct->amortization == 'EI') { $mp = $loanamount / $loanaccount->repayment_duration; } return $mp; }
public function receipt($id) { $transaction = Loantransaction::findOrFail($id); $organization = Organization::findOrFail(1); $pdf = PDF::loadView('pdf.loanreports.receipt', compact('transaction', 'organization'))->setPaper('a5')->setOrientation('potrait'); return $pdf->stream('receipt.pdf'); }
public static function topupLoan($loanaccount, $amount, $date) { $transaction = new Loantransaction(); $transaction->loanaccount()->associate($loanaccount); $transaction->date = $date; $transaction->description = 'loan top up'; $transaction->amount = $amount; $transaction->type = 'debit'; $transaction->save(); $account = Loanposting::getPostingAccount($loanaccount->loanproduct, 'disbursal'); $data = array('credit_account' => $account['credit'], 'debit_account' => $account['debit'], 'date' => $date, 'amount' => $loanaccount->top_up_amount, 'initiated_by' => 'system', 'description' => 'loan top up'); $journal = new Journal(); $journal->journal_entry($data); Audit::logAudit($date, Confide::user()->username, 'loan to up', 'Loans', $amount); }
public function topup($id) { $data = Input::all(); $date = Input::get('top_up_date'); $amount = Input::get('amount'); $loanaccount = Loanaccount::findOrFail($id); $loanaccount->is_top_up = true; $loanaccount->top_up_amount = $amount; $loanaccount->top_up_date = $date; $loanaccount->update(); Loantransaction::topupLoan($loanaccount, $amount, $date); return Redirect::to('loans/show/' . $loanaccount->id); }
public static function offsetLoan($data) { $loanaccount_id = array_get($data, 'loanaccount_id'); $loanaccount = Loanaccount::findorfail($loanaccount_id); $amount = array_get($data, 'amount'); $date = array_get($data, 'date'); $principal_bal = Loanaccount::getPrincipalBal($loanaccount); $interest_bal = Loanaccount::getInterestBal($loanaccount); //pay principal Loanrepayment::payPrincipal($loanaccount, $date, $principal_bal); //pay interest Loanrepayment::payInterest($loanaccount, $date, $interest_bal); Loantransaction::repayLoan($loanaccount, $amount, $date); }