@php $c = $data->invoice_colors ?? []; $cPrimary = $c['primary'] ?? $data->reports_color ?? '#7B2032'; $cHeader = $c['header'] ?? '#3C3C3C'; $cFooter = $c['footer'] ?? '#3C3C3C'; $cFolio = $c['folio'] ?? $cPrimary; $cText = $c['text'] ?? '#222222'; $cTableHdr = $c['table_header'] ?? $cPrimary; // Alias compatibilidad $wineColor = $cPrimary; // Helper: mayúsculas sin acentos if (!function_exists('strUp')) { function strUp($str) { $a = ['á','é','í','ó','ú','ü','ñ','Á','É','Í','Ó','Ú','Ü','Ñ']; $b = ['a','e','i','o','u','u','n','a','e','i','o','u','u','n']; return strtoupper(str_replace($a, $b, $str ?? '')); } } @endphp {{-- New-Unity ERP | Mexico/invoices/invoice1_pdf.blade.php | v5.0 | 14/06/2026 --}} {{-- v4.6 — Pie fijo position:fixed bottom:0, se repite en cada página. --}} {{-- v4.5 — Renglones vacíos con 9 celdas individuales para mostrar líneas de columnas. --}} {{-- v4.3 — Espacio arriba del nombre emisor en header, líneas verticales en columnas condiciones. --}} {{-- v3.3 — Fix charset tildes/ñ con html_entity_decode, Lugar Expedición CP, sponsor logo tamaño. --}} {{-- v3.2 — Fix QR: usa $invoice_cfdi->qr (blob BD) con base64_encode. --}} {{-- Formato 1: LIMPIO — Carta, 5mm márgenes, acento borgoña {{ $data->reports_color }}. --}} Factura {{ $data->folio }} {{-- Color del formato activo --}}
{{-- ═══════════════════════════ HEADER ═══════════════════════════ --}} {{-- Logo --}} {{-- Datos empresa --}} {{-- Sponsor Logo --}} {{-- Folio --}}
{!! strtoupper(html_entity_decode($data->company_name ?? '', ENT_QUOTES, 'UTF-8')) !!}
RFC: {{ $data->contributor->rfc ?? '' }}
@if(!empty($data->contributor->street ?? '')) {{ $data->contributor->street ?? '' }}
@endif @php $parts = array_filter([ strUp($data->contributor->city), strUp($data->contributor->state), strUp($data->contributor->country) ]); @endphp {{ implode(', ', $parts) }} @if(!empty($data->contributor->postal_code ?? '')) CP {{ $data->contributor->postal_code }}@endif
Lugar Expedición: {{ $data->contributor->postal_code ?? '' }}
@if(!empty($data->sponsor_logo_1)) @endif
@if(!empty($data->tdf['TipoDeComprobante'])) {{ __('invoices.cfdi_tipo_'.$data->tdf['TipoDeComprobante']) }} @else Factura @endif
{{ $data->folio }}
@if(!empty($data->serie))
Serie: {{ $data->serie }}
@endif
{{ $data->date ?? '' }}
{{-- Línea separadora borgoña --}}
{{-- ═══════════════════════════ CERT CFDI + RECEPTOR ═══════════════════════════ --}}
Datos de Certificación CFDI
Folio Fiscal: {{ $data->tdf['UUID'] ?? '—' }}
Fecha Timbrado: {{ $data->tdf['FechaTimbrado'] ?? '—' }}
No. Certificado: {{ $data->tdf['NoCertificado'] ?? '—' }}
No. Cert. SAT: {{ $data->tdf['NoCertificado'] ?? '—' }}
Receptor
{{ $data->customer_name }}
@if($data->customer_rfc !== 'XAXX010101000' && $data->customer_rfc !== 'XEXX010101000') @else @endif
RFC: {{ $data->customer_rfc }}
Domicilio: {{ $data->customer_address }}
Ciudad: {{ $data->customer_city }}
Estado: {{ $data->customer_state }}   CP: {{ $data->customer_postal_code }}
CP: {{ $data->customer_postal_code }}
{{-- ═══════════════════════════ CONDICIONES PAGO ═══════════════════════════ --}}
Tipo Comprobante
@if(!empty($data->tdf['TipoDeComprobante'])) {{ __('invoices.cfdi_tipo_'.$data->tdf['TipoDeComprobante']) }} @else Ingreso @endif
Uso CFDI
{{ $data->cfdi_uso ?? '—' }}
Forma de Pago
{{ $data->payment_way ?? '—' }}
Método de Pago
{{ $data->payment_method ?? '—' }}
Condiciones
{{ $data->condition_pay ?? '—' }}
Orden de Compra
{{ $data->purchase_order ?: '—' }}
Fecha Vencimiento
{{ $data->expiration_date ?? '—' }}
Moneda
{{ $data->currency ?? 'MXN' }}
@if(isset($data->tdf['CfdiRelacionados']) && count($data->tdf['CfdiRelacionados']))
Tipo Relación
{{ array_key_first($data->tdf['CfdiRelacionados']) }}
UUID Relacionado
@foreach($data->tdf['CfdiRelacionados'] as $rela => $UUIDs) @foreach($UUIDs as $UUID)
{{ $UUID }}
@endforeach @endforeach
@endif {{-- ═══════════════════════════ TABLA PARTIDAS ═══════════════════════════ --}} @foreach($details as $nKey => $detail) @endforeach @for($i=0;$i<27;$i++) @endfor
Cant. Unidad Cve. Unidad No. Parte Cve. SAT Concepto Precio Unit. Desc. Importe
{{ $detail->quantity }} {{ $detail->unity_name ?? $detail->unity }} {{ $detail->unity }} {{ $detail->product_id ?? '—' }} {{ $detail->tax_code }} {!! html_entity_decode($detail->product_name, ENT_QUOTES, 'UTF-8') !!} @php $totalProducts = count($details); @endphp @if($totalProducts === 1 && !empty($detail->description))
{!! html_entity_decode($detail->description, ENT_QUOTES, 'UTF-8') !!} @endif
${{ number_format((float)$detail->sales_price,2,'.',',') }} {{ $detail->disc_per ?? 0 }}% ${{ number_format((float)$detail->amount,2,'.',',') }}
{{-- ═══════════════════════════ TOTALES + LETRAS ═══════════════════════════ --}} {{-- Letras + Observaciones --}} {{-- Totales --}}
Total con letra: {{ strtoupper($data->total_letter ?? '') }} {{ $data->total_letter_decimal ?? '' }}
@if(!empty($data->observations))
Observaciones: {{ $data->observations }}
@endif
Subtotal: {{ $data->subtotal }}
Descuento: {{ $data->discount }}
IVA {{ $data->tax_perc }}: {{ $data->tax }}
TOTAL: {{ $data->total }} {{ $data->currency }}
{{-- ═══════════════════════════ PIE DE PÁGINA FIJO ═══════════════════════════ --}}