{{-- v1.16.0 §B3 — la situation des primes, A4 portrait : les quatre chiffres, les primes acquises par bénéficiaire, les versements, le reste à régler, et le contrôle (interne, jamais pour le cabinet). --}} @php $nombre = fn ($m) => number_format((float) $m, 2, ',', ' '); $veille = $s['du']->copy()->subDay(); $renvoi = fn (array $l) => collect($renvois['par_ligne'][$l['id']] ?? [])->map(fn ($n) => ''.$n.'')->implode(''); $pluriel = fn (int $n, string $mot, string $motPluriel) => $n.' '.($n > 1 ? $motPluriel : $mot); @endphp @extends('pdf.layout') @section('styles') h2 { font-size: 12px; color: #0B0A0A; margin: 18px 0 4px; } h2 .total { float: right; color: #AD5DEC; } .beneficiaire { font-size: 10px; color: #4b5563; margin: 8px 0 2px; } table.data td, table.data th { padding: 4px 5px; font-size: 9px; } table.data td.nowrap { white-space: nowrap; } table.data thead { display: table-header-group; } table.data tr { page-break-inside: avoid; } sup { font-size: 7px; color: #AD5DEC; } .renvois { font-size: 8.5px; color: #6b7280; margin: 4px 0 0; } .texte { margin: 8px 0 0; padding: 6px 8px; background: #F7F2FD; border-left: 3px solid #AD5DEC; font-size: 9.5px; } .controle p { margin: 4px 0; font-size: 9.5px; } .pied { margin-top: 18px; font-size: 8.5px; color: #6b7280; } .cards .sub { font-size: 8.5px; color: #6b7280; margin-top: 2px; } @endsection @section('content')
Dû au {{ $veille->format('d/m/Y') }}
{{ $nombre($s['du_debut']) }} DH
{{ $pluriel($s['nb_du_debut'], 'prime', 'primes') }}
Acquises sur la période
{{ $nombre($s['acquises']) }} DH
{{ $pluriel($s['nb_clients_acquis'], 'nouveau client payé', 'nouveaux clients payés') }}
Versées sur la période
{{ $nombre($s['versees']) }} DH
{{ $pluriel($s['nb_versements'], 'versement', 'versements') }}
Dû au {{ $s['au']->format('d/m/Y') }}
{{ $s['du_fin'] < 0 ? 'Avance : '.$nombre(-$s['du_fin']) : $nombre($s['du_fin']) }} DH
{{ $pluriel($s['nb_du_fin'], 'prime', 'primes') }}

1. Primes acquises sur la période

@forelse ($s['par_beneficiaire'] as $groupe)
Bénéficiaire : {{ $groupe['libelle'] }}
@foreach ($groupe['lignes'] as $l) @endforeach
Acquise le Client Dossier Encaissement Facture Prime Au {{ $s['au']->format('d/m') }}
{{ $l['acquise_le']?->format('d/m/Y') }} {{ $l['client'] }} {{ $l['code'] ?? '—' }} {{ $l['encaissement'] ?? '—' }} {{ $l['facture'] ?? '—' }} {{ $nombre($l['montant']) }} {{ $l['etat'] }}{!! $renvoi($l) !!}
{{ $pluriel($groupe['lignes']->count(), 'prime', 'primes') }} {{ $nombre($groupe['total']) }}
@empty

Aucune prime acquise sur la période.

@endforelse

2. Versements de la période

@if ($s['versements']->isEmpty())

Aucun versement sur la période.

@else @foreach ($s['versements'] as $v) @endforeach
Versé le Opération Payé avec Primes couvertes Montant
{{ $v['date']?->format('d/m/Y') ?? '—' }} {{ $v['operation'] ? 'n° '.$v['operation'] : '—' }} {{ $v['compte'] ?? '—' }} {{ $v['primes']->pluck('client')->implode(', ') }} {{ $nombre($v['montant']) }}
Total versé {{ $nombre($s['versees']) }}
@endif

3. Reste à régler au {{ $s['au']->format('d/m/Y') }} {{ $s['reste']['total'] < 0 ? 'Avance : '.$nombre(-$s['reste']['total']) : $nombre($s['reste']['total']) }} DH

@if ($s['reste']['lignes']->isEmpty() && $s['reste']['avances']->isEmpty())

Rien à régler à cette date.

@else @foreach ($s['reste']['lignes'] as $l) @endforeach @foreach ($s['reste']['avances'] as $l) @endforeach
Client Bénéficiaire Acquise le Note Prime
{{ $l['client'] }} {{ $l['beneficiaire'] }} {{ $l['acquise_le']?->format('d/m/Y') }} @if ($l['enregistree_le'])enregistrée le {{ $l['enregistree_le']->format('d/m') }}@endif{!! $renvoi($l) !!} {{ $nombre($l['montant']) }}
Versée d'avance, à déduire : {{ $l['client'] }} {{ $l['beneficiaire'] }} {{ $l['acquise_le']?->format('d/m/Y') }} {!! $renvoi($l) !!} − {{ $nombre($l['montant']) }}
Total {{ $nombre($s['reste']['total']) }}
@foreach ($s['reste']['textes'] as $t)
{{ $t['texte'] }}
@endforeach @endif @if ($renvois['textes'] !== [])
@foreach ($renvois['textes'] as $i => $texte)
{{ $i + 1 }} {{ $texte }}
@endforeach
@endif @if ($s['a_revoir']->isNotEmpty())

{{ ($s['pour_le_cabinet'] ?? false) ? 'En vérification par MOBDIE (hors totaux)' : 'À revoir — le gérant tranche (hors totaux)' }}

@foreach ($s['a_revoir'] as $l) @endforeach
{{ $l['client'] }}{{ $l['beneficiaire'] }}{{ $l['acquise_le']?->format('d/m/Y') }}{{ $nombre($l['montant']) }}
@endif @if ($s['controle'] && ! ($s['pour_le_cabinet'] ?? false))

4. Contrôle

Encaissé sans prime ({{ $s['controle']['sans_prime']->count() }})

@forelse ($s['controle']['sans_prime'] as $c)

{{ $c['client'] }} — {{ $c['detail'] }}. À qualifier : prime due, ou client hors accord.

@empty

Aucun.

@endforelse

Pas encore payés ({{ $s['controle']['pas_payes']->count() }})

{{ $s['controle']['pas_payes']->isEmpty() ? 'Aucun.' : $s['controle']['pas_payes']->pluck('client')->implode(', ').' : la prime viendra avec le premier paiement complet.' }}

@endif
Relevé établi d'après les données de l'application MOBDIE au {{ now()->format('d/m/Y, H:i') }}. {{ $s['regle'] }}
@endsection