@if ($message = Session::get('success'))
{{ $message }}
@endif
@if ($message = Session::get('danger'))
{{ $message }}
@endif
{{-- ====================== HEADER ====================== --}}
{{-- ====================== FILTRO ====================== --}}
{{-- ====================== KPIs ====================== --}}
{{-- Matemática: Comissão Total = Vendas do Mês + Recuperadas (bate com o que a Validação mostra) --}}
Fecho total · {{ $mesAtualLabel }}
€ {{ number_format($totalAprovadoMesValor + $totalRecuperadasGeral, 2, ',', ' ') }}
{{ $totalAprovadoMesCount + $totalRecuperadasCount }} {{ $totalAprovadoMesCount + $totalRecuperadasCount == 1 ? 'fatura aprovada' : 'faturas aprovadas' }}
Vendas do mês
€ {{ number_format($totalAprovadoMesValor, 2, ',', ' ') }}
{{ $totalAprovadoMesCount }} {{ $totalAprovadoMesCount == 1 ? 'fatura' : 'faturas' }} · {{ number_format($totalAprovadoMesQtd, 0, ',', ' ') }} L
Recuperadas
€ {{ number_format($totalRecuperadasGeral, 2, ',', ' ') }}
{{ $totalRecuperadasCount }} {{ $totalRecuperadasCount == 1 ? 'fatura de meses anteriores' : 'faturas de meses anteriores' }}
Não recebidas
€ {{ number_format($totalNaoRecebidasGeral, 2, ',', ' ') }}
@if($totalNaoRecebidasCount > 0)
{{ $totalNaoRecebidasCount }} {{ $totalNaoRecebidasCount == 1 ? 'fatura em aberto' : 'faturas em aberto' }}
@else
sem faturas em aberto
@endif
{{-- ====================== RESUMO POR CANAL ====================== --}}
Resumo por canal · objetivo vs. realizado
@foreach($canalStats as $cid => $s)
{{ $s['nome'] }}
{{ number_format($s['litros'], 0, ',', ' ') }} L
{{ number_format($s['pct'], 1, ',', '.') }}%
€ {{ number_format($s['comissao'], 2, ',', ' ') }}
Realizado
Objetivo {{ number_format($s['objetivo'], 0, ',', ' ') }} L
@endforeach
{{-- ====================== Recebidas — ACCORDION ====================== --}}
Recebidas no mês
Comissões com venda dentro de {{ $mesAtualLabel }}.
{{ $totalAprovadoMesCount }} {{ $totalAprovadoMesCount == 1 ? 'fatura' : 'faturas' }} · € {{ number_format($totalAprovadoMesValor, 2, ',', ' ') }}
@if($aprovadasDoMes->isEmpty())
Sem comissões recebidas no mês selecionado.
@else
@php $primeiraRec = true; @endphp
@php $primeiraRec = false; @endphp
{{ $mesAtualLabel }}
vendas pagas em {{ $mesAtualLabel }}
{{ $totalAprovadoMesCount }} {{ $totalAprovadoMesCount == 1 ? 'fatura' : 'faturas' }}
{{ number_format($totalAprovadoMesQtd, 0, ',', ' ') }} L
recebida
€ {{ number_format($totalAprovadoMesValor, 2, ',', ' ') }}
| Cliente |
Canal |
Gestor |
Data venda |
Pagamento |
Litros |
Ajuste |
Comissão |
@foreach($aprovadasDoMes as $cv)
@php
$bonus = $cv->comissao_ajuste ? $cv->comissao_ajuste->where('tipo', 'Bônus')->sum('valor') : 0;
$pen = $cv->comissao_ajuste ? $cv->comissao_ajuste->where('tipo', 'Penalização')->sum('valor') : 0;
$ajuste = ($bonus ?? 0) - ($pen ?? 0);
$total_a_receber = ($cv->valor_comissao ?? 0) + $ajuste - ($cv->penalizacao_atraso ?? 0);
$pgto = isset($cv->faturas->dt_pagamento) ? \Carbon\Carbon::parse($cv->faturas->dt_pagamento) : null;
@endphp
| {{ $cv->cliente->nome ?? '—' }} |
{{ $cv->canal->nome_canal ?? '—' }} |
{{ $cv->cliente->gestor_user->name ?? '—' }} |
{{ $cv->data ? \Carbon\Carbon::parse($cv->data)->format('d/m/Y') : '' }} |
{{ $pgto ? $pgto->format('d/m/Y') : '—' }} |
{{ number_format($cv->quantidade ?? 0, 0, ',', ' ') }} |
{{ number_format($ajuste, 2, ',', '.') }} € |
{{ number_format($total_a_receber, 2, ',', '.') }} € |
@endforeach
@endif
{{-- ====================== RECUPERADAS — ACCORDION ====================== --}}
Recuperadas de meses anteriores
Faturas antigas pagas neste mês. Comissão é desbloqueada aqui.
{{ $totalRecuperadasCount }} {{ $totalRecuperadasCount == 1 ? 'fatura' : 'faturas' }} · € {{ number_format($totalRecuperadasGeral, 2, ',', ' ') }}
@if($totalRecuperadasCount == 0)
Sem comissões recuperadas no período selecionado.
@else
@php $primeiraRec = true; @endphp
@foreach($resumoRecuperadas as $ym => $resumo)
@php $primeiraRec = false; @endphp
{{ $resumo['label'] }}
vendas pagas em {{ $mesAtualLabel }}
{{ $resumo['count'] }} {{ $resumo['count'] == 1 ? 'fatura' : 'faturas' }}
{{ number_format($resumo['litros'], 0, ',', ' ') }} L
recuperada
€ {{ number_format($resumo['total'], 2, ',', ' ') }}
| Cliente |
Canal |
Gestor |
Data venda |
Pagamento |
Litros |
Ajuste |
Comissão |
@foreach($recuperadasPorMes[$ym] as $cv)
@php
$bonus = $cv->comissao_ajuste ? $cv->comissao_ajuste->where('tipo', 'Bônus')->sum('valor') : 0;
$pen = $cv->comissao_ajuste ? $cv->comissao_ajuste->where('tipo', 'Penalização')->sum('valor') : 0;
$ajuste = ($bonus ?? 0) - ($pen ?? 0);
$total_a_receber = ($cv->valor_comissao ?? 0) + $ajuste - ($cv->penalizacao_atraso ?? 0);
$pgto = isset($cv->faturas->dt_pagamento) ? \Carbon\Carbon::parse($cv->faturas->dt_pagamento) : null;
@endphp
| {{ $cv->cliente->nome ?? '—' }} |
{{ $cv->canal->nome_canal ?? '—' }} |
{{ $cv->cliente->gestor_user->name ?? '—' }} |
{{ $cv->data ? \Carbon\Carbon::parse($cv->data)->format('d/m/Y') : '' }} |
{{ $pgto ? $pgto->format('d/m/Y') : '—' }} |
{{ number_format($cv->quantidade ?? 0, 0, ',', ' ') }} |
{{ number_format($ajuste, 2, ',', '.') }} € |
{{ number_format($total_a_receber, 2, ',', '.') }} € |
@endforeach
@endforeach
@endif
{{-- ====================== NÃO RECEBIDAS — ACCORDION ====================== --}}
Comissões não recebidas
Vendas com fatura ainda em aberto. Agrupadas por mês da venda.
{{ $totalNaoRecebidasCount }} {{ $totalNaoRecebidasCount == 1 ? 'fatura' : 'faturas' }} · € {{ number_format($totalNaoRecebidasGeral, 2, ',', ' ') }}
@if($totalNaoRecebidasCount == 0)
Sem comissões em aberto para o período selecionado.
@else
@foreach($resumoNaoRecebidas as $ym => $resumo)
{{ $resumo['label'] }}
@if($resumo['is_current']) do mês corrente
@elseif($resumo['status_class'] === 'coral' && $resumo['status_label'] === 'crítico') vencidas há mais de 60d
@else vencidas há mais de 30d
@endif
{{ $resumo['count'] }} {{ $resumo['count'] == 1 ? 'fatura' : 'faturas' }}
{{ number_format($resumo['litros'], 0, ',', ' ') }} L
{{ $resumo['status_label'] }}
€ {{ number_format($resumo['total'], 2, ',', ' ') }}
| Cliente |
Canal |
Gestor |
Data venda |
Vencimento |
Litros |
Ajuste |
Comissão |
@foreach($naoRecebidasPorMes[$ym] as $cv)
@php
$bonus = $cv->comissao_ajuste ? $cv->comissao_ajuste->where('tipo', 'Bônus')->sum('valor') : 0;
$pen = $cv->comissao_ajuste ? $cv->comissao_ajuste->where('tipo', 'Penalização')->sum('valor') : 0;
$ajuste = ($bonus ?? 0) - ($pen ?? 0);
$total_a_receber = ($cv->valor_comissao ?? 0) + $ajuste - ($cv->penalizacao_atraso ?? 0);
$venc = isset($cv->faturas->dt_vencimento) ? \Carbon\Carbon::parse($cv->faturas->dt_vencimento) : null;
@endphp
| {{ $cv->cliente->nome ?? '—' }} |
{{ $cv->canal->nome_canal ?? '—' }} |
{{ $cv->cliente->gestor_user->name ?? '—' }} |
{{ $cv->data ? \Carbon\Carbon::parse($cv->data)->format('d/m/Y') : '' }} |
{{ $venc ? $venc->format('d/m/Y') : '—' }} |
{{ number_format($cv->quantidade ?? 0, 0, ',', ' ') }} |
{{ number_format($ajuste, 2, ',', '.') }} € |
{{ number_format($total_a_receber, 2, ',', '.') }} € |
@endforeach
@endforeach
@endif
@endsection