@extends('layouts.app') @section('title', 'Estado de Cuenta del Cliente') @section('content')
{{-- HEADER --}}

Estado de Cuenta por Cliente

Genera el PDF y comparte el resumen por WhatsApp

{{-- GRID DE CLIENTES --}}
@forelse($clientes as $cliente) @php $facturas = $cliente->facturas; $totalAcordado = $facturas->sum('monto_total'); $totalAbonado = $facturas->sum(fn($f) => $f->pagos->sum('monto_pagado')); $totalDeuda = $facturas->sum('deuda_restante'); $nFacturas = $facturas->count(); $nPendientes = $facturas->where('estado', '!=', 'Pagado')->count(); // Porcentaje global pagado $pct = $totalAcordado > 0 ? min(($totalAbonado / $totalAcordado) * 100, 100) : 0; // Teléfono limpio para WhatsApp $tel = preg_replace('/[^0-9]/', '', $cliente->telefono ?? ''); if ($tel && strlen($tel) === 9 && str_starts_with($tel, '9')) { $tel = '51' . $tel; } @endphp
{{-- Card header --}}
{{ $cliente->nombre_completo }}
@if($cliente->empresa)
{{ $cliente->empresa }}
@endif @if($cliente->dni_ruc)
{{ $cliente->dni_ruc }}
@endif
@if($nPendientes > 0) {{ $nPendientes }} pendiente{{ $nPendientes > 1 ? 's' : '' }} @else Al día @endif
{{-- Resumen financiero --}}
@if($nFacturas === 0)
Sin RH registrados
@else
Acordado
S/ {{ number_format($totalAcordado, 2) }}
Abonado
S/ {{ number_format($totalAbonado, 2) }}
Deuda
S/ {{ number_format($totalDeuda, 2) }}
{{-- Barra de progreso --}}
Progreso de pago {{ number_format($pct, 0) }}%
{{ $nFacturas }} RH @if($cliente->telefono)  ·  {{ $cliente->telefono }} @endif
@endif
{{-- Botones de acción --}}
@empty

No hay clientes registrados en el sistema.

@endforelse
{{-- ============ MODAL PREVISUALIZACIÓN WHATSAPP ============ --}} @section('scripts') @endsection @endsection