{{ strtoupper($registro->registradora->descripcion) }}
{{ $registro->person->field_name1 }}
CUIT: {{ $registro->person->document }}
IIBB: {{ $registro->person->person_config->iibb }}
{{ $registro->person->domicilio_completo() }}
{{ $registro->person->person_config->conditionIva->description }}
Inicio Act: {{ date("d/m/Y", strtotime($registro->person->person_config->inicio_actividades)) }}
@if($registro->tipo_ticket == 'DEVOLUCION')
*** DEVOLUCION ***
REF. TICKET: {{ str_pad($registro->ticketOriginal->registradora->punto_venta->codigo ?? '0', 5, "0", STR_PAD_LEFT) }}-{{ str_pad($registro->ticketOriginal->nro_comprobante_afip ?? '0', 8, "0", STR_PAD_LEFT) }}
@if($registro->motivo_devolucion)
MOTIVO: {{ strtoupper($registro->motivo_devolucion) }}
@endif
@elseif($registro->tipo_ticket == 'CAMBIO')
*** CAMBIO ***
REF. TICKET: {{ str_pad($registro->ticketOriginal->registradora->punto_venta->codigo ?? '0', 5, "0", STR_PAD_LEFT) }}-{{ str_pad($registro->ticketOriginal->nro_comprobante_afip ?? '0', 8, "0", STR_PAD_LEFT) }}
@if($registro->motivo_devolucion)
MOTIVO: {{ strtoupper($registro->motivo_devolucion) }}
@endif
@endif
{{ strtoupper($registro->tipoComprobante->name) }}
COD. {{ str_pad($registro->registradora->type_receipt->code, 2, "0", STR_PAD_LEFT) }}
{{ str_pad($registro->registradora->punto_venta->codigo, 5, "0", STR_PAD_LEFT) }}-{{ str_pad($registro->nro_comprobante_afip, 8, "0", STR_PAD_LEFT) }}
FECHA: {{ date("d/m/Y H:i", strtotime($registro->fecha)) }}
@if($registro->cliente)
CLIENTE: {{ strtoupper($registro->cliente->field_name1) }}
@if($registro->cliente->document)
@php
$tipoDoc = strlen($registro->cliente->document) == 11 ? 'CUIT' : 'DNI';
@endphp
{{ $tipoDoc }}: {{ $registro->cliente->document }}
@endif
@if(isset($registro->cliente->condicion_frente_al_iva))
{{ $registro->cliente->condicion_frente_al_iva->descripcion }}
@endif
@endif
@if($registro->listaDePrecios)
LISTA: {{ strtoupper($registro->listaDePrecios->descripcion) }}
@if($registro->listaDePrecios->descuento_general > 0)
(DESC. {{ $registro->listaDePrecios->descuento_general }}%)
@elseif($registro->listaDePrecios->incremento_general > 0)
(INC. {{ $registro->listaDePrecios->incremento_general }}%)
@endif
@endif
CANT DESCRIPCION IMPORTE
@foreach($registro->detail as $detail)
@php
$descripcion = '';
$tipoMovimiento = '';
if ($detail->ticketable) {
// Para variantes, mostrar producto + variante
if ($detail->ticketable instanceof \App\Models\Inventario\ProdVariants\ProdVariant) {
$productoBase = $detail->ticketable->product ? $detail->ticketable->product->descripcion : '';
$varianteDesc = $detail->ticketable->descripcion_completa ?? '';
$descripcion = $productoBase . ($varianteDesc ? ' ' . $varianteDesc : '');
} else {
// Para productos regulares
$descripcion = $detail->ticketable->descripcion ?? $detail->ticketable->nombre ?? '';
}
}
// Para tickets de cambio, indicar si es entrada o salida
if ($registro->tipo_ticket == 'CAMBIO') {
if ($detail->cantidad < 0) {
$tipoMovimiento = '(NVO) '; // Nuevo/Salida - cantidad negativa
} else {
$tipoMovimiento = '(DEV) '; // Devolución/Entrada - cantidad positiva
}
}
// Limitar descripción considerando el prefijo
$maxLength = 25 - strlen($tipoMovimiento);
if (strlen($descripcion) > $maxLength) {
$descripcion = substr($descripcion, 0, $maxLength - 3) . '...';
}
$descripcionCompleta = $tipoMovimiento . $descripcion;
@endphp
{{ str_pad(abs($detail->cantidad), 4, ' ', STR_PAD_LEFT) }} {{ str_pad($descripcionCompleta, 30, ' ') }} $ {{ str_pad(number_format($detail->importe, 2, ',', '.'), 10, ' ', STR_PAD_LEFT) }}
@if(in_array($registro->registradora->system_tax_id, [1,2,3,4,5]))
@if($registro->registradora->usa_productos && $detail->ticketable && $detail->ticketable->system_tax)
IVA {{ $detail->ticketable->system_tax->percent_iva }}%
@elseif($registro->registradora->system_tax)
IVA {{ $registro->registradora->system_tax->percent_iva }}%
@endif
@endif
@endforeach
TOTAL: $ {{ str_pad(number_format($registro->total, 2, ',', '.'), 12, ' ', STR_PAD_LEFT) }}
@if($registro->ticket_cajas && count($registro->ticket_cajas) > 0)
MEDIOS DE PAGO
@foreach($registro->ticket_cajas as $caja)
@php
$nombreMedio = '';
$importe = $caja->importe;
if ($importe < 0) {
// Si es negativo, es vuelto
$nombreMedio = 'VUELTO';
$importe = abs($importe); // Mostrar valor absoluto
} else {
// Si es positivo, mostrar nombre de la cuenta
$nombreMedio = $caja->cuenta_tesoreria ? strtoupper($caja->cuenta_tesoreria->nombre) : 'EFECTIVO';
}
// Limitar nombre a 20 caracteres
if (strlen($nombreMedio) > 20) {
$nombreMedio = substr($nombreMedio, 0, 17) . '...';
}
@endphp
{{ str_pad($nombreMedio, 20, ' ') }} $ {{ str_pad(number_format($importe, 2, ',', '.'), 12, ' ', STR_PAD_LEFT) }}
@endforeach
@endif
@if($registro->cae)
CAE Nº: {{ $registro->cae }}
VTO CAE: {{ date("d/m/Y", strtotime($registro->cae_vencimiento)) }}
@else
*** NO VALIDO COMO FACTURA ***
COMPROBANTE NO FISCAL
@endif
GRACIAS POR SU COMPRA
*** FIN DEL COMPROBANTE ***