@php $tipoComprobante = strtoupper($data['factura']['tipoDeComprobante'] ?? 'I'); @endphp
@if($logo_base64) Logo @else {{ $config['nombre_comercial'] ?? $data['emisor']['razonSocial'] }} @endif @if($config && $config['pdf_header_text'])
{!! nl2br(e($config['pdf_header_text'])) !!}
@endif

@if($tipoComprobante == 'I') FACTURA ELECTRÓNICA @elseif($tipoComprobante == 'E') NOTA DE CRÉDITO @elseif($tipoComprobante == 'P') RECIBO ELECTRÓNICO DE PAGO @else COMPROBANTE FISCAL DIGITAL @endif

Folio Fiscal (UUID):
{{ $data['uuid'] ?? '—' }}

Serie/Folio: {{ $data['factura']['serie'] ?? '' }}{{ $data['factura']['folio'] ?? '—' }}
Fecha Emisión: {{ $data['fechaemision'] ?? '—' }}
Fecha Certificación: {{ $data['fechatimbrado'] ?? '—' }}
Lugar Expedición (CP): {{ $data['factura']['expedicion'] ?? '—' }}
Tipo Comprobante: @if($tipoComprobante == 'I') Ingreso (I) @elseif($tipoComprobante == 'E') Egreso (E) @elseif($tipoComprobante == 'P') Pago (P) @elseif($tipoComprobante == 'N') Nómina (N) @elseif($tipoComprobante == 'T') Traslado (T) @else {{ $tipoComprobante }} @endif
Emisor
{{ $data['emisor']['razonSocial'] ?? '—' }}
RFC: {{ $data['emisor']['rfc'] ?? '—' }}
Régimen Fiscal: {{ $data['emisor']['regimenFiscal'] ?? '—' }}
Receptor
{{ $data['receptor']['razonSocial'] ?? '—' }}
RFC: {{ $data['receptor']['rfc'] ?? '—' }}
Uso CFDI: {{ $data['receptor']['usoCfdi'] ?? '—' }}
@if(isset($data['relacionadas']) && is_array($data['relacionadas']) && count($data['relacionadas']) > 0)
CFDI Relacionados
@foreach($data['relacionadas'] as $rel) @endforeach
Tipo de Relación: @php $tr = $data['relacionadas'][0]['tipo'] ?? ''; if($tr == '01') echo '01 - Nota de crédito de los documentos relacionados'; elseif($tr == '02') echo '02 - Nota de débito de los documentos relacionados'; elseif($tr == '03') echo '03 - Devolución de mercancía sobre facturas o traslados previos'; elseif($tr == '04') echo '04 - Sustitución de los CFDI previos'; else echo $tr; @endphp
UUID Relacionado: {{ $rel['uuid'] }}
@endif @if($tipoComprobante !== 'P')
Forma de Pago: {{ $data['factura']['formaPago'] ?? '—' }} Método de Pago: {{ $data['factura']['metodoPago'] ?? '—' }} Moneda: {{ $data['factura']['moneda'] ?? 'MXN' }} @if(($data['factura']['tipoCambio'] ?? 1) > 1) (T.C. {{ $data['factura']['tipoCambio'] }}) @endif
@endif @if($tipoComprobante === 'P')
Concepto de Pago SAT: Clave 84111506 | Unidad ACT (Actividad) | Cantidad 1.00 | Concepto: Pago | Unitario $0.00 | Importe $0.00
Documentos Relacionados (Facturas Liquidadas / Abonadas)
@if(isset($data['pagos_relacionados']) && is_array($data['pagos_relacionados']) && count($data['pagos_relacionados']) > 0) @foreach($data['pagos_relacionados'] as $pagoRel) @endforeach @else @endif
UUID Factura Base Saldo Anterior Importe Pagado Saldo Insoluto Parcialidad
{{ $pagoRel['uuid'] }} ${{ number_format((float)($pagoRel['saldo_anterior'] ?? 0), 2) }} ${{ number_format((float)($pagoRel['importe_pagado'] ?? 0), 2) }} ${{ number_format((float)($pagoRel['saldo_insoluto'] ?? 0), 2) }} {{ $pagoRel['parcialidad'] ?? '1' }}
No se encontraron facturas base vinculadas en este pago.
@else @php $widths = $config['pdf_column_widths'] ?? [ 'clave' => 12, 'cantidad' => 8, 'unidad' => 10, 'descripcion' => 38, 'precio' => 10, 'descuento' => 10, 'importe' => 12 ]; @endphp @if(isset($data['concepto']) && is_array($data['concepto'])) @foreach($data['concepto'] as $concepto) @endforeach @else @endif
Clave SAT Cant. Unidad Descripción Unitario Descuento Importe
{{ $concepto['productoSat'] ?? '—' }} {{ number_format((float)($concepto['cantidad'] ?? 1), 2) }} {{ $concepto['unidadSat'] ?? '' }} ({{ $concepto['unidad'] ?? '' }})
{{ $concepto['descripcion'] ?? '—' }}
@if(isset($concepto['impuestos']) && is_array($concepto['impuestos']))
Impuestos: @foreach($concepto['impuestos'] as $imp) {{ ucfirst($imp['tipo']) }} {{ $imp['codigo'] == '002' ? 'IVA' : ($imp['codigo'] == '001' ? 'ISR' : 'IEPS') }} @if(isset($imp['tasa'])) ({{ number_format((float)$imp['tasa'] * 100, 2) }}%) @endif ${{ number_format((float)$imp['importe'], 2) }} @endforeach
@endif
${{ number_format((float)($concepto['precio'] ?? 0), 2) }} @if(isset($concepto['descuento']) && (float)$concepto['descuento'] > 0) -${{ number_format((float)$concepto['descuento'], 2) }} @else $0.00 @endif ${{ number_format((float)($concepto['importe'] ?? 0), 2) }}
No hay conceptos registrados
@endif
Importe con Letra:
{{ $importe_letra ?? '—' }}
@if($tipoComprobante !== 'P' && isset($data['factura']['condicionesPago']) && $data['factura']['condicionesPago'])
Condiciones de Pago: {{ $data['factura']['condicionesPago'] }}
@endif
@if($tipoComprobante === 'P') @php $montoPagoAcumulado = 0; if (isset($data['pagos_relacionados']) && is_array($data['pagos_relacionados'])) { foreach ($data['pagos_relacionados'] as $pr) { $montoPagoAcumulado += (float)($pr['importe_pagado'] ?? 0); } } @endphp
Subtotal Comprobante: $0.00
Total Comprobante: $0.00
Monto de Pago Recibido: ${{ number_format($montoPagoAcumulado, 2) }}
@else @if(isset($data['factura']['descuento']) && $data['factura']['descuento'] > 0) @endif @if(isset($data['impuestos_federales']) && is_array($data['impuestos_federales'])) @foreach($data['impuestos_federales'] as $impFed) @endforeach @endif @if(isset($data['impuestos_locales']) && is_array($data['impuestos_locales'])) @foreach($data['impuestos_locales'] as $impLoc) @endforeach @endif
Subtotal: ${{ number_format((float)($data['factura']['subtotal'] ?? 0), 2) }}
Descuento: -${{ number_format((float)$data['factura']['descuento'], 2) }}
{{ $impFed['tipo'] == 'traslado' ? 'Traslado' : 'Retención' }} {{ $impFed['codigo'] == '002' ? 'IVA' : ($impFed['codigo'] == '001' ? 'ISR' : 'IEPS') }}: {{ $impFed['tipo'] == 'traslado' ? '' : '-' }}${{ number_format((float)$impFed['importe'], 2) }}
{{ $impLoc['tipo'] == 'traslado' ? 'Traslado' : 'Retención' }} {{ $impLoc['nombre'] }}: {{ $impLoc['tipo'] == 'traslado' ? '' : '-' }}${{ number_format((float)$impLoc['importe'], 2) }}
Total: ${{ number_format((float)($data['factura']['total'] ?? 0), 2) }}
@endif
Información del Timbre Fiscal Digital
@if($qr_base64) Código QR SAT @else
QR no disponible
@endif
No. Certificado SAT: {{ $data['certificadosat'] ?? '—' }}
No. Certificado Emisor: {{ $data['certificadoemisor'] ?? '—' }}
Versión CFDI: {{ $data['versionCfdi'] ?? '3.3' }} (Timbre {{ $data['version'] ?? '1.1' }})
Sello Digital del Emisor:
{{ $data['sellocfd'] ?? $data['sellodigital'] ?? '—' }}
Sello Digital del SAT:
{{ $data['sellosat'] ?? '—' }}
@if($config && $config['pdf_footer_text']) @endif