{{-- Les trois chiffres, un par catégorie, plus le total. C'est la réponse à « combien la banque me bloque-t-elle aujourd'hui ? », sans calcul mental. --}}
@foreach ($parType as $type => $montant) {{ $type }}

{{ \App\Support\Money::format($montant) }}

encore dehors

@endforeach Total immobilisé

{{ \App\Support\Money::format($total) }}

bloqué par la banque aujourd'hui

{{-- Le rapprochement avec le journal, affiché en clair tant que l'écart n'est pas résorbé. --}} Rapprochement avec le journal de trésorerie Deux sources doivent dire la même chose. Tant qu'elles divergent, l'écart est affiché ici plutôt que tu. Pour le résorber : php artisan gestion:rapprocher-cautions.
Module : {{ \App\Support\Money::format($total) }} / Journal : {{ \App\Support\Money::format($journal) }} ({{ \App\Support\Money::format($journalProvisoires) }} provisoires + {{ \App\Support\Money::format($journalDefinitives) }} définitives) / @if (abs($ecart) < 0.01) Écart nul — les deux sources concordent @else Écart : {{ \App\Support\Money::format($ecart) }} @endif
Le détail, ligne par ligne
@forelse ($lignes as $caution) @empty @endforelse
Type Appel d'offres Marché Constituée le Ancienneté Retour attendu Montant Écriture
{{ $caution->type->label() }} {{ $caution->tender?->reference ?? '—' }} {{ $caution->project?->libelle() ?? '—' }} {{ $caution->issued_date?->format('d/m/Y') ?? '—' }} @php $jours = $this->anciennete($caution); @endphp {{ $jours !== null ? $jours.' j' : '—' }} @if ($caution->expected_return_date) $caution->isOverdue()])> {{ $caution->expected_return_date->format('d/m/Y') }} @if ($caution->isOverdue()) ({{ $caution->overdue_days }} j de retard) @endif @else non renseigné @endif {{ \App\Support\Money::format($caution->amount) }} @if ($caution->outTransaction) {{ \Illuminate\Support\Str::limit($caution->outTransaction->label, 28) }} @else — @endif
Aucune caution immobilisée : tout est rentré.