{{-- New-Unity ERP | Finance/Resources/Views/cxc/index.blade.php | v2.1 | 27/07/2026 --}} {{-- v2.1 — Security: @can ajustado a finance.cxc.send-statement para botón Envío Masivo. --}} {{-- v2.0 — CxC Fase 2: tarjetas de antigüedad clicables, filtro por bucket, botón Envío Masivo. --}} {{-- v1.0 — CxC Fase 1: lista de facturas pendientes con filtros y estado de antigüedad. --}} @extends('layouts.vertical') @section('title', __('finance.cxc-index')) @section('content')

{{ __('finance.cxc-index') }} {{ __('finance.cxc-subtitle') }}

@can('finance.cxc.send-statement') {{ __('finance.bulk-statement') }} @endcan
{{-- Flash messages --}} @if(session('success')) @endif @if(session('error')) @endif {{-- Tarjetas de Antigüedad --}} @php $af = $agingFilter ?? ''; $cardBase = 'card h-100 border-2 text-decoration-none'; function agingHref(string $filter, string $current): string { $params = request()->except(['aging', 'page']); if ($filter !== '') $params['aging'] = $filter; return route('ar.index', $params); } @endphp
{{-- Total --}} {{-- Vigente --}} {{-- Vencido 1-60 --}} {{-- Vencido +60 --}}
{{-- Filtros --}}
@if($af !== '') @endif
{{-- Tabla --}}
@forelse($invoices as $invoice) @php $status = $invoice->status_cxc; $balance = $invoice->cxc_balance; $paid = $invoice->cxc_paid_amount; @endphp @empty @endforelse
{{ __('finance.col-folio') }} {{ __('finance.col-customer') }} {{ __('finance.col-date') }} {{ __('finance.col-due') }} {{ __('finance.col-total') }} {{ __('finance.col-paid') }} {{ __('finance.col-balance') }} {{ __('finance.col-status') }} {{ __('finance.actions') }}
{{ ($invoice->serie ?? '') . ($invoice->folio ?? $invoice->id) }} {{ $invoice->customer?->commercial_name ?: $invoice->customer?->name }} {{ $invoice->fecha_emision ? \Carbon\Carbon::parse($invoice->fecha_emision)->format('d/m/Y') : '—' }} {{ $invoice->expiration_date ? \Carbon\Carbon::parse($invoice->expiration_date)->format('d/m/Y') : '—' }} ${{ number_format($invoice->total, 2) }} {{ $paid > 0 ? '$' . number_format($paid, 2) : '—' }} ${{ number_format($balance, 2) }} @switch($status) @case('overdue') {{ __('finance.overdue') }} @break @case('partial') {{ __('finance.partial') }} @break @case('paid') {{ __('finance.paid') }} @break @default {{ __('finance.pending') }} @endswitch
{{ __('finance.no-invoices') }}
@if($invoices->hasPages()) @endif
@endsection