{{-- Facturar la reserva: el TOTAL (pagada al 100 %) o CADA ABONO (App\Services\ReservationInvoicer). Si faltan datos del cliente, primero se abre la ventana "Datos para facturar" (sin recargar) y al guardarla se emite la factura. $reservation, $invoices, $invoice_options, $billing_missing, $formas_pago, $v3 (diseño moderno) --}} @php $r = $reservation; $v3 = $v3 ?? false; $btn = $v3 ? 'v3-btn' : 'btn btn-sm btn-outline-primary'; $btnMain = $v3 ? 'v3-btn v3-btn-primary' : 'btn btn-primary'; $c = $r->customer && !\App\Reservation::isGenericCustomer($r->customer) ? $r->customer : null; $sriPill = function ($estado) use ($v3) { $ok = $estado === 'autorizado'; return $v3 ? '' . e($ok ? 'Autorizada' : 'Sin autorizar') . '' : '' . e($ok ? 'Autorizada' : 'Sin autorizar') . ''; }; $abonos = $r->payments->sortBy('id')->values(); @endphp
Las facturas sin autorizar se reintentan en Facturas pendientes del SRI.
@endif @endif @if($invoice_options['total'] || $invoice_options['abonos']) @if($billing_missing)Faltan datos para facturar {{ ucfirst(implode(', ', $billing_missing)) }}. Al facturar se te pedirán.
@endif @if($invoice_options['total']) {!! Form::open(['route' => ['reservations.invoice', $r->id], 'method' => 'post', 'class' => 'invoice-form mb-2']) !!} {!! Form::close() !!} @endif @if($invoice_options['abonos']){{ $invoice_options['total'] ? 'O factura cada abono por separado:' : 'Facturar abonos:' }}
@foreach($abonos as $i => $p) @if(in_array($p->id, $invoice_options['abonos'])) {!! Form::open(['route' => ['reservations.invoice', $r->id], 'method' => 'post', 'class' => 'invoice-form mb-1']) !!} {!! Form::close() !!} @endif @endforeachSi facturas un abono, el resto se factura por abonos (no se puede facturar el total encima). Confírmalo con tu contador.
@endif @elseif($invoices->isEmpty()){{ $invoice_options['why'] ?: 'Todavía no se puede facturar.' }}
@endif