Reports Dashboard
{{-- ── Page header ──────────────────────────────────────────────────── --}}

Reports Dashboard

{{ $start->format('d M Y') }} — {{ $end->format('d M Y') }}
{{-- ── Date filter ──────────────────────────────────────────────────── --}}
@php $activePreset = request('preset', ''); $presets = [ 'today' => 'Today', 'this_week' => 'This Week', 'this_month' => 'This Month', 'last_month' => 'Last Month', 'this_year' => 'This Year', ]; @endphp
@foreach($presets as $key => $label) {{ $label }} @endforeach
to Reset
{{-- ── KPI cards ────────────────────────────────────────────────────── --}}
{{-- Revenue --}}
Revenue
KSh {{ number_format($totalRevenue, 2) }}
{{-- Expenses --}}
Expenses
KSh {{ number_format($totalExpenses, 2) }}
{{-- Net Profit --}}
Net Profit
KSh {{ number_format($netProfit, 2) }}
{{-- Cars Washed --}}
Cars Washed
{{ number_format($totalSalesCount) }}
{{-- Clients Served --}}
Clients Served
{{ number_format($totalClientsServed) }}
{{-- Commissions Paid --}}
Commissions Paid
KSh {{ number_format($totalCommissionsPaid, 2) }}
{{-- ── Extra KPIs row ───────────────────────────────────────────────── --}}
Avg. Ticket
KSh {{ number_format($avgTicket, 2) }}
Pending Balance
KSh {{ number_format($pendingBalance, 2) }}
{{-- ── Charts row: Revenue vs Expenses + Services doughnut ─────────── --}}
{{-- Bar chart --}}

Revenue vs Expenses — Last 30 Days

{{-- Doughnut --}}

Top Services by Revenue

{{-- ── Payment methods + Top services table ────────────────────────── --}}
{{-- Payment methods --}}

Payment Methods

@php $pmTotal = collect($paymentMethodTotals)->sum('amount') ?: 1; @endphp @forelse($paymentMethodTotals as $pm)
{{ $pm['method'] }}
KSh {{ number_format($pm['amount'], 0) }}
@empty

No payment data for this period.

@endforelse
{{-- Top services table --}}

Top Services

@php $maxRev = $topServices->max('revenue') ?: 1; @endphp @forelse($topServices as $svc) @empty @endforelse
Service Count Revenue Share
{{ $svc->name }} {{ $svc->count }} KSh {{ number_format($svc->revenue, 2) }}
No services in this period.
{{-- ── Quick links ──────────────────────────────────────────────────── --}}
{{-- .rp-wrap --}} @push('scripts') @endpush