@extends('layouts.app') @section('title', 'Premium Collections') @section('content')

Premium Collections

@csrf @if (request('corporate_account_id')) @endif
{{-- ============ Stat summary ============ --}}
Expected
KES {{ number_format($stats['expected'] ?? 0, 0) }}
Collected
KES {{ number_format($stats['collected'] ?? 0, 0) }}
Outstanding
KES {{ number_format($stats['outstanding'] ?? 0, 0) }}
Paid Rows
{{ number_format($stats['paid_count'] ?? 0) }}
Due Rows
{{ number_format($stats['due_count'] ?? 0) }}
{{-- ============ Filters ============ --}}
{{-- ============ Ledger table ============ --}}
@forelse ($rows as $r) @empty @endforelse
Month Scheme Member # Member Name Expected Paid Due Date Payment Date Method Receipt Status Actions
{{ $r->billing_month }} {{ $r->account?->code }} {{ $r->member?->member_number }} {{ $r->member?->patient ? trim($r->member->patient->first_name . ' ' . $r->member->patient->last_name) : '—' }} {{ number_format($r->amount_expected, 0) }} {{ number_format($r->amount_paid, 0) }} {{ $r->due_date?->format('d M Y') }} {{ $r->payment_date?->format('d M Y') ?? '—' }} {{ $r->payment_method ?? '—' }} {{ $r->receipt_number ?? '—' }} @php $b = match ($r->status) { 'Paid' => 'badge-success', 'Partial' => 'badge-warning', 'Waived' => 'badge-info', 'Overdue' => 'badge-danger', default => 'badge-gray', }; @endphp {{ $r->status }} @if (!$r->isReversed() && $r->status !== 'Paid') @endif @if (!$r->isReversed() && in_array($r->status, ['Paid','Partial'])) @endif
No premium rows match the filter.
@if (method_exists($rows, 'links'))
{{ $rows->withQueryString()->links() }}
@endif
{{-- ============ Post Payment Modal ============ --}} {{-- ============ Reverse Modal ============ --}}