@extends('layouts.app') @section('content')
← Back to Loans @if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif @php $clientName = $loan->user->name ?? 'Unknown Client'; $initial = strtoupper(substr($clientName,0,1)); $paidTotal = (float) $loan->installments->sum('paid_amount'); $outstanding = (float) $loan->outstanding_amount; $totalPayable = (float) $loan->total_payable; $paidPercent = $totalPayable > 0 ? min(100, max(0, ($paidTotal / $totalPayable) * 100)) : 0; @endphp

Loan Details

Review the application, financial terms and repayment schedule.

All Loans @if($loan->status === 'pending')
@csrf
@elseif($loan->status === 'approved') @if((float)$loan->processing_fee <= 0 || $loan->processing_fee_paid_at)
@csrf
@else Processing Fee Unpaid @endif @endif
Loan Number
{{ $loan->loan_number }}
{{ ucfirst($loan->status) }}
Loan Amount ₹{{ number_format((float)$loan->loan_amount,2) }}
EMI ₹{{ number_format((float)$loan->emi_amount,2) }}
Tenure {{ $loan->tenure_months }} Months
Outstanding ₹{{ number_format($outstanding,2) }}

Loan Financial Details

0% interest / configurable processing fee
Principal₹{{ number_format((float)$loan->loan_amount,2) }}
Interest Rate{{ number_format((float)$loan->interest_rate,2) }}%
Interest Amount₹{{ number_format((float)$loan->interest_amount,2) }}
Processing Fee₹{{ number_format((float)$loan->processing_fee,2) }}
Processing Fee Status @if($loan->processing_fee_paid_at) ✓ Paid @elseif($loan->status === 'approved' && (float)$loan->processing_fee > 0) Unpaid @elseif((float)$loan->processing_fee <= 0) No Fee @else After Approval @endif
Total Payable₹{{ number_format($totalPayable,2) }}
EMI Amount₹{{ number_format((float)$loan->emi_amount,2) }}
Disbursed Amount₹{{ number_format((float)$loan->disbursed_amount,2) }}
Outstanding₹{{ number_format($outstanding,2) }}
Tenure{{ $loan->tenure_months }} months

Processing Fee

Separate from EMI
Fee Amount ₹{{ number_format((float)$loan->processing_fee,2) }}
Status @if($loan->processing_fee_paid_at) ✓ Paid @elseif($loan->status === 'approved' && (float)$loan->processing_fee > 0) Unpaid @elseif((float)$loan->processing_fee <= 0) No Fee @else After Approval @endif
@if($loan->processing_fee_paid_at)
✓ Processing fee paid
Paid on {{ $loan->processing_fee_paid_at->format('d M Y h:i A') }} @if($loan->processingFeePayer) · By {{ $loan->processingFeePayer->name }} @endif
@elseif($loan->status === 'approved' && (float)$loan->processing_fee > 0)
Processing fee is unpaid.
Mark the fee as paid before disbursing this loan.
@csrf
@elseif($loan->status === 'pending' && (float)$loan->processing_fee > 0)
Processing fee payment becomes available after loan approval.
@elseif((float)$loan->processing_fee <= 0)
No processing fee is due for this loan.
@endif

EMI Repayment Schedule

{{ $loan->installments->count() }} installments
@if($loan->installments->count())
@foreach($loan->installments as $emi) @php $emiStatus = match($emi->status) { 'paid'=>'emi-paid','partial'=>'emi-partial','overdue'=>'emi-overdue','cancelled'=>'emi-cancelled', default=>'emi-pending' }; @endphp @endforeach
#Due DatePrincipalInterestEMIPaidOutstandingStatusAction
#{{ $emi->installment_number }} {{ optional($emi->due_date)->format('d M Y') }} ₹{{ number_format((float)$emi->principal_amount,2) }} ₹{{ number_format((float)$emi->interest_amount,2) }} ₹{{ number_format((float)$emi->emi_amount,2) }} ₹{{ number_format((float)$emi->paid_amount,2) }} ₹{{ number_format((float)$emi->outstanding_amount,2) }} {{ ucfirst($emi->status) }} @if( in_array($loan->status,['active','disbursed','overdue'],true) && !in_array($emi->status,['paid','cancelled'],true) && (float)$emi->outstanding_amount > 0 ) @else — @endif
@else
EMI schedule has not been generated yet. It will be created when the approved loan is disbursed.
@endif
@if($loan->rejection_reason)

Rejection Reason

{{ $loan->rejection_reason }}
@endif @if($loan->admin_notes)

Admin Notes

{{ $loan->admin_notes }}
@endif

Client

ID #{{ $loan->user_id }}
{{ $initial }}
{{ $clientName }}
{{ $loan->user->mobile ?? 'No mobile' }}
{{ $loan->user->email ?? 'No email' }}

EMI Card

{{ ucfirst($loan->emiCard->status ?? 'Unknown') }}
Card Number{{ $loan->emiCard->card_number ?? '—' }}
Card Limit₹{{ number_format((float)($loan->emiCard->card_limit ?? 0),2) }}
Available Limit₹{{ number_format((float)($loan->emiCard->available_limit ?? 0),2) }}
Validity{{ optional($loan->emiCard->issued_at)->format('d M Y') }} — {{ optional($loan->emiCard->expires_at)->format('d M Y') }}

Repayment Progress

Total Payable₹{{ number_format($totalPayable,2) }}
Paid₹{{ number_format($paidTotal,2) }}
Outstanding₹{{ number_format($outstanding,2) }}
Progress{{ number_format($paidPercent,1) }}%

Loan Actions

{{ $loan->isClosed() ? 'No further action' : 'Manage loan' }}
@if($loan->isClosed())
Loan Closed
This loan is marked as closed.
Closed On {{ optional($loan->closed_at)->format('d M Y h:i A') ?? '—' }}
Closed By {{ $loan->closer->name ?? 'Admin' }}
Close Reason {{ $loan->close_reason ?: '—' }}
@else
@if($outstanding > 0 && in_array($loan->status,['active','disbursed','overdue'],true)) @endif {{-- Close Loan --}} @if($loan->status === 'pending')
@csrf
@csrf
@elseif($loan->status === 'approved') @if((float)$loan->processing_fee <= 0 || $loan->processing_fee_paid_at)
@csrf
@else
Disbursement locked.
Processing fee must be marked as paid first.
@endif
@csrf
@endif @if(in_array($loan->status,['pending','approved'],true))
@csrf
@endif
@endif
@if($loan->isClosed())

Closed Loan

Account closed
Closed At {{ optional($loan->closed_at)->format('d M Y h:i A') ?? '—' }}
Closed By {{ $loan->closer->name ?? '—' }}
Close Reason {{ $loan->close_reason ?? '—' }}
@endif

Timeline

Applied{{ optional($loan->applied_at ?? $loan->created_at)->format('d M Y h:i A') }}
Approved{{ optional($loan->approved_at)->format('d M Y h:i A') ?? '—' }}
First EMI{{ optional($loan->first_emi_date)->format('d M Y') ?? '—' }}
Disbursed{{ optional($loan->disbursed_at)->format('d M Y h:i A') ?? '—' }}
Completed{{ optional($loan->completed_at)->format('d M Y') ?? '—' }}
@endsection