@include('loan.payments.partials.flash')

Reports are read-only views of authoritative registers. No report recalculates independently.

@php $reports = array_values(array_filter([ ['label' => 'Cash in', 'desc' => 'All receipts (fees, unposted, overpayments, virtual) by channel and use of funds', 'route' => 'loan.book.collections.cash_in'], ['label' => "Today's Collections", 'desc' => 'Due today worksheet for selected date', 'route' => 'loan.book.collections.due_today'], ['label' => 'Upcoming Pays', 'desc' => 'Tomorrow-and-onwards dues for planning, with weekly intelligence', 'route' => 'loan.book.collections.sheet'], ['label' => 'Collection Register', 'desc' => 'All processed repayments by channel', 'route' => 'loan.book.collections.register'], ['label' => 'MTD Collection', 'desc' => 'Month-to-date daily performance', 'route' => 'loan.book.collections.mtd'], ($recoveryTargetsEnabled ?? true) ? ['label' => 'Collection Rates', 'desc' => 'Monthly branch achievement', 'route' => 'loan.book.collections.rates'] : null, ['label' => 'Past Due Register', 'desc' => 'Missed installments live query', 'route' => 'loan.book.collections.past_due'], ['label' => 'Collector Performance', 'desc' => 'Collector workload and recovery', 'route' => 'loan.book.collections.hub.dashboard'], ['label' => 'Loan Arrears Register', 'desc' => 'Portfolio risk aging (synced)', 'route' => 'loan.book.loan_arrears'], ['label' => 'Collection Cases', 'desc' => 'Recovery workflow register', 'route' => 'loan.book.collections.workflow.index'], ['label' => 'PTP Register', 'desc' => 'Promises to pay', 'route' => 'loan.book.collections.ptp.index'], ['label' => 'Demand Register', 'desc' => 'Demand notices', 'route' => 'loan.book.collections.demand.index'], ])); @endphp @foreach ($reports as $report)

{{ $report['label'] }}

{{ $report['desc'] }}

@endforeach
@include('loan.collections.hub.partials.operational-reports-summary', [ 'operationalSummary' => $operationalSummary ?? [], 'filters' => $filters ?? [], ])