@extends('layouts.provider') @section('title', 'Tableau de bord') @section('page-title', 'Tableau de bord') @section('content')
@include('provider.dashboard._onboarding')
@include('provider.dashboard._period_insight')

Chiffre d'affaires (net)

{{ number_format($kpis['financial']['revenue']['value'], 0, ',', ' ') }} {{ $currency }}

@if($kpis['financial']['revenue']['change']) @php $c = $kpis['financial']['revenue']['change']; $isNeutral = $c['percentage'] == 0; @endphp

@if(!$isNeutral){{ $c['direction'] === 'up' ? '▲' : '▼' }}@endif {{ abs($c['percentage']) }}% vs période précédente

@endif

Achats

{{ number_format($kpis['financial']['expenses']['value'], 0, ',', ' ') }} {{ $currency }}

@if($kpis['financial']['expenses']['change']) @php $c = $kpis['financial']['expenses']['change']; $isNeutral = $c['percentage'] == 0; @endphp

@if(!$isNeutral){{ $c['direction'] === 'up' ? '▲' : '▼' }}@endif {{ abs($c['percentage']) }}% vs période précédente

@endif

Résultat net

{{ $kpiStatuses['net_profit']['label'] }}

{{ number_format($kpis['financial']['net_profit']['value'], 0, ',', ' ') }} {{ $currency }}

@if($kpis['financial']['net_profit']['change']) @php $c = $kpis['financial']['net_profit']['change']; $isNeutral = $c['percentage'] == 0; @endphp

@if(!$isNeutral){{ $c['direction'] === 'up' ? '▲' : '▼' }}@endif {{ abs($c['percentage']) }}% @if($kpis['financial']['net_profit']['value'] < 0) • Achats > Revenus @else vs période précédente @endif

@endif

Factures en attente

{{ number_format($kpis['financial']['unbilled']['amount'], 0, ',', ' ') }} {{ $currency }}

{{ $kpis['financial']['unbilled']['count'] }} prestation{{ $kpis['financial']['unbilled']['count'] > 1 ? 's' : '' }} terminée{{ $kpis['financial']['unbilled']['count'] > 1 ? 's' : '' }} non facturée{{ $kpis['financial']['unbilled']['count'] > 1 ? 's' : '' }}

@include('provider.dashboard._priority_actions')

Activité & Performance

Prestations réalisées {{ $kpis['activity']['completed_appointments'] }}
Taux de remplissage
{{ $kpis['activity']['fill_rate'] }}% {{ $kpiStatuses['fill_rate']['label'] }}
Annulations {{ $kpis['activity']['cancelled_appointments'] }} sur {{ $kpis['activity']['total_appointments'] }} ({{ $kpis['activity']['cancellation_rate'] }}%)
Clients servis {{ $kpis['clients']['served_clients'] }}
Nouveaux clients {{ $kpis['clients']['new_clients'] }}
Panier moyen (net) {{ number_format($kpis['performance']['average_basket'], 0) }} {{ $currency }}
Temps travaillé {{ $kpis['performance']['worked_hours'] }} h (période sélectionnée)

Répartition du CA par service (net)

@if(count($kpis['revenue_by_service_type']['items']) > 0)

Total

{{ number_format($kpis['revenue_by_service_type']['total'], 0, ',', ' ') }} {{ $currency }}

@php $serviceColors = ['#10b981', '#34d399', '#6ee7b7', '#a7f3d0', '#d1fae5']; @endphp @foreach($kpis['revenue_by_service_type']['items'] as $index => $service)
{{ $service['label'] }}
{{ $service['percentage'] }}% – {{ number_format($service['amount'], 0, ',', ' ') }} {{ $currency }}
@endforeach @if(count($kpis['revenue_by_service_type']['items']) > 3) @endif
@else

Aucun service

@endif

Répartition des achats

@if(count($kpis['expenses_breakdown']['items']) > 0)

Total

{{ number_format($kpis['expenses_breakdown']['total'], 0, ',', ' ') }} {{ $currency }}

@php $colors = ['#2563eb', '#3b82f6', '#60a5fa', '#93c5fd', '#bfdbfe', '#dbeafe']; @endphp @foreach($kpis['expenses_breakdown']['items'] as $index => $expense)
{{ $expense['label'] }}
{{ $expense['percentage'] }}% – {{ number_format($expense['amount'], 0, ',', ' ') }} {{ $currency }}
@endforeach @if(count($kpis['expenses_breakdown']['items']) > 3) @endif
@else

Aucun achat

@endif

Évolution CA vs Achats (CA net)

@if(count($kpis['revenue_expenses_series']['points']) > 0 && ($kpis['revenue_expenses_series']['total_revenue'] > 0 || $kpis['revenue_expenses_series']['total_expenses'] > 0))
CA: {{ number_format($kpis['revenue_expenses_series']['total_revenue'], 0, ',', ' ') }} {{ $currency }}
Achats: {{ number_format($kpis['revenue_expenses_series']['total_expenses'], 0, ',', ' ') }} {{ $currency }}
@else

Pas encore assez de données pour ce graphique

@endif
@include('provider.dashboard._actions_modal')
@endsection @push('scripts') @endpush