Track, record and monitor all member premium payments
Collected This Month
${{ number_format($totalCollectedMonth / 100, 2) }}
{{ date('F Y') }}
Collected {{ $currentYear }}
${{ number_format($totalCollectedYear / 100, 2) }}
Year to date
Pending
${{ number_format($pendingAmount / 100, 2) }}
Awaiting confirmation
Overdue Records
{{ $overdueCount }}
Marked overdue
Lapsed This Month
{{ count($lapsedMembers) }}
of {{ $activeCount }} active
| Member / Corporate | Period | Amount | Method | Reference | Status | Date |
|---|---|---|---|---|---|---|
|
@if($payment->member)
{{ $payment->member->full_name }}
{{ $payment->member->member_number }} @elseif($payment->corporateClient) {{ $payment->corporateClient->name }}Corporate @else N/A @endif |
{{ $payment->period_label }} | ${{ number_format($payment->amount_cents / 100, 2) }} | {{ $methodLabels[$payment->payment_method] ?? ucfirst($payment->payment_method ?? '—') }} | {{ $payment->payment_reference ?? '—' }} | @php $sc = match($payment->status) { 'paid' => 'badge-green', 'pending' => 'badge-yellow', 'overdue' => 'badge-red', default => 'badge-gray' }; @endphp {{ ucfirst($payment->status) }} | {{ $payment->paid_at?->format('d M Y') ?? $payment->created_at->format('d M Y') }} |
| No premium payments recorded yet. | ||||||
{{ $allPrincipalMembers->count() }} principal member{{ $allPrincipalMembers->count() !== 1 ? 's' : '' }} across {{ $membersByPolicy->count() }} package{{ $membersByPolicy->count() !== 1 ? 's' : '' }}
| Member | Monthly Premium | Last Payment | Last Paid Date | Next Due | Outstanding | Status | |
|---|---|---|---|---|---|---|---|
|
{{ strtoupper(substr($m->first_name, 0, 1)) }}
{{ $m->full_name }}
{{ $m->member_number }} @if($m->corporateClient) • {{ $m->corporateClient->name }} @endif |
{{ $pkgCurrency }} {{ $premCents > 0 ? number_format($premCents / 100, 2) : '—' }} |
@if($lastPmt)
{{ $pkgCurrency }} {{ number_format($lastPmt->amount_cents / 100, 2) }}
{{ $lastPmt->period_label }} @else No payments @endif |
{{ $lastPmt?->paid_at?->format('d M Y') ?? '—' }} |
{{ $nextDue->format('M Y') }}
@if($isOverdue)
Overdue @endif |
@if($outstanding > 0)
{{ $pkgCurrency }} {{ number_format($outstanding / 100, 2) }}
{{ $missed }} month{{ $missed > 1 ? 's' : '' }} @else Up to date @endif |
{{ $m->status_label }} | View → |
| Member # | Name | Policy | Phone | Join Date | Months Active | |
|---|---|---|---|---|---|---|
| {{ $lm->member_number }} | {{ $lm->full_name }} | {{ $lm->policy->name ?? '—' }} | {{ $lm->phone ?? '—' }} | {{ $lm->join_date?->format('d M Y') ?? '—' }} | {{ $lm->monthsActive() }} | Record → |