{{-- Revenue chart + collection health --}}

Revenue overview

Paid invoice income vs approved expenses by month

Revenue Expenses

Collection health

Paid vs open receivables

@if ($collectionTotal > 0) @php $c1 = (int) $collectionCollectedPct; $c2 = (int) $collectionCollectedPct + (int) $collectionPendingPct; @endphp
Collected {{ $collectionCollectedPct }}%
  • Collected {{ \App\Models\Currency::formatAmount((float) $totalRevenue, null) }}
  • Pending {{ \App\Models\Currency::formatAmount((float) $pendingCollectionAmount, null) }}
  • Overdue {{ \App\Models\Currency::formatAmount((float) $overdueAmount, null) }}
@else
No invoice data yet — create your first invoice to see collection insights.
@endif

Top customers

View all →
    @forelse ($topCustomers as $customer) @php $initial = strtoupper(\Illuminate\Support\Str::substr($customer->name ?? '?', 0, 1)); @endphp
  • @if ($customer->image && \Illuminate\Support\Facades\Storage::disk('public')->exists($customer->image)) @else {{ $initial }} @endif

    {{ $customer->name }}

    {{ $customer->invoice_count }} {{ \Illuminate\Support\Str::plural('invoice', $customer->invoice_count) }}

    {{ \App\Models\Currency::formatAmount((float) $customer->total_revenue, null) }}
  • @empty
  • No customer revenue yet
  • @endforelse