@section('page-title', 'Accounts Receivable')

Accounts Receivable

Track outstanding premiums by corporate client

@csrf
Back to Finance
@if(session('success'))
{{ session('success') }}
@endif

Total Outstanding

${{ number_format($totalOutstanding / 100, 2) }}

Total Overdue

${{ number_format($totalOverdue / 100, 2) }}

Total Paid

${{ number_format($totalPaid / 100, 2) }}

Written Off

${{ number_format($totalWrittenOff / 100, 2) }}

Current

${{ number_format($buckets['Current']['total'] / 100, 2) }}

{{ $buckets['Current']['count'] }} invoices

1-30 Days Overdue

${{ number_format($buckets['1-30']['total'] / 100, 2) }}

{{ $buckets['1-30']['count'] }} invoices

31-60 Days Overdue

${{ number_format($buckets['31-60']['total'] / 100, 2) }}

{{ $buckets['31-60']['count'] }} invoices

61-90 Days Overdue

${{ number_format($buckets['61-90']['total'] / 100, 2) }}

{{ $buckets['61-90']['count'] }} invoices

90+ Days Overdue

${{ number_format($buckets['90+']['total'] / 100, 2) }}

{{ $buckets['90+']['count'] }} invoices

@if(count($clientAging) > 0)

Aging by Corporate Client

@foreach($clientAging as $client) @php $clientTotal = $client['Current'] + $client['1-30'] + $client['31-60'] + $client['61-90'] + $client['90+']; @endphp @endforeach
Corporate Client Current 1-30 Days 31-60 Days 61-90 Days 90+ Days Total
{{ $client['name'] }} ${{ number_format($client['Current'] / 100, 2) }} ${{ number_format($client['1-30'] / 100, 2) }} ${{ number_format($client['31-60'] / 100, 2) }} ${{ number_format($client['61-90'] / 100, 2) }} ${{ number_format($client['90+'] / 100, 2) }} ${{ number_format($clientTotal / 100, 2) }}
@endif

Create Receivable

@csrf
@error('corporate_client_id')

{{ $message }}

@enderror
@error('amount')

{{ $message }}

@enderror
@error('due_date')

{{ $message }}

@enderror

All Receivables

@forelse($receivables as $receivable) @empty @endforelse
Invoice # Corporate Client Amount Currency Due Date Status Aging Notes Actions
{{ $receivable->invoice_number }} {{ $receivable->corporateClient->name ?? 'N/A' }} ${{ number_format($receivable->amount_cents / 100, 2) }} {{ $receivable->currency }} {{ $receivable->due_date->format('Y-m-d') }} @php $statusColors = [ 'outstanding' => 'bg-yellow-100 text-yellow-800', 'paid' => 'bg-emerald-100 text-emerald-800', 'overdue' => 'bg-red-100 text-red-800', 'written_off' => 'bg-gray-100 text-gray-800', ]; $displayStatus = $receivable->isOverdue() ? 'overdue' : $receivable->status; @endphp {{ ucfirst(str_replace('_', ' ', $displayStatus)) }} @php $agingColors = [ 'Current' => 'text-emerald-600', '1-30' => 'text-yellow-600', '31-60' => 'text-orange-600', '61-90' => 'text-red-500', '90+' => 'text-red-700', ]; $bucket = $receivable->aging_bucket; @endphp {{ $bucket }} {{ $receivable->notes ?? '-' }} @if($receivable->status === 'outstanding')
@csrf @method('PATCH')
@elseif($receivable->status === 'paid') Paid {{ $receivable->paid_at?->format('Y-m-d') }} @endif
No receivables found.
@if($receivables->hasPages())
{{ $receivables->links() }}
@endif