@extends('layouts.app') @section('title', 'Pago de Comisiones') @section('content')

Pago de Comisiones

Gestionar y procesar pagos de comisiones a vendedores

Ver Reporte
@csrf
@if(session('success')) @endif @if(session('error')) @endif
Total Comisiones

{{ number_format($stats['total_commissions'] ?? 0, 0) }}

Registros
Total Pagable

${{ number_format($stats['total_payable'] ?? 0, 2) }}

USD
Total Pagado

${{ number_format($stats['total_paid'] ?? 0, 2) }}

USD
Pendiente

${{ number_format($stats['total_pending'] ?? 0, 2) }}

USD
Filtros
Limpiar
Procesar Pago de Comisiones
@csrf
Comisiones
@forelse($commissions as $commission) @php // Calcular monto pagado directamente desde la relación cargada // Si la relación está cargada, usar sum() sobre la colección, sino hacer query if ($commission->relationLoaded('payments')) { $paidAmount = $commission->payments->sum('amount'); } else { $paidAmount = $commission->payments()->sum('amount'); } $remainingAmount = $commission->commission_amount_usd - $paidAmount; $canPay = $remainingAmount > 0 && in_array($commission->status, ['earned', 'pending', 'partial']); @endphp @empty @endforelse
Factura Tipo Doc. Moneda Vendedor Fec. Venta Monto Base (USD) % Comisión (USD) Pagado Pendiente Monto a Pagar Estado
@if($canPay) @endif {{ $commission->salesInvoice->invoice_number ?? 'N/A' }} @if($commission->document_type === 'invoice') Factura @else Nota @endif @if($commission->sale_currency) {{ strtoupper($commission->sale_currency) }} @else N/A @endif {{ $commission->salesman->first_name ?? '' }} {{ $commission->salesman->last_name ?? '' }} {{ $commission->invoice_date ? $commission->invoice_date->format('d/m/Y') : 'N/A' }} ${{ number_format($commission->commissionable_amount_usd, 2) }} @if($commission->commissionable_base)
Base: {{ $commission->commissionable_base === 'subtotal' ? 'Subtotal' : 'Total' }} @endif
{{ number_format($commission->commission_rate_applied, 2) }}% ${{ number_format($commission->commission_amount_usd, 2) }} ${{ number_format($paidAmount, 2) }} @if($remainingAmount > 0) ${{ number_format($remainingAmount, 2) }} @else $0.00 @endif @if($canPay) @else - @endif @php $invoice = $commission->salesInvoice; $isInvoicePaid = $invoice && ($invoice->amount_due ?? $invoice->total_amount_usd ?? 0) <= 0.01; $isOverdue = $commission->isOverdue(); // Determinar el estado a mostrar $displayStatus = $commission->status; $displayText = $commission->status_text; $displayColor = $commission->status_color; // Determinar el texto del tooltip $tooltipText = ''; if ($isOverdue && $commission->status === 'pending') { $displayStatus = 'overdue'; $displayText = 'Fuera de Tiempo'; $displayColor = 'danger'; $tooltipText = 'Comisión fuera de tiempo - La factura excedió el límite de ' . ($commission->payment_days_limit ?? 30) . ' días sin pagarse'; } elseif (!$isInvoicePaid && $commission->status === 'pending') { $displayText = 'En Espera'; $tooltipText = 'En espera - La factura aún no está pagada'; } @endphp {{ $displayText }} @if($isOverdue && $commission->status === 'pending')
Fuera de tiempo @elseif(!$isInvoicePaid && $commission->status === 'pending')
Factura pendiente @endif
No hay comisiones disponibles

No se encontraron comisiones que cumplan con los filtros seleccionados.

{{ $commissions->links() }}
@push('scripts') @endpush @endsection