{{-- New-Unity ERP | app/Modules/Billing/Resources/Views/Mexico/invoices/bynet-invoice2_pdf.blade.php | v1.3 | 16/08/2026 --}} {{-- v1.3 — Labels hardcodeados en español (CFDI siempre en español; elimina dependencia de locale). --}} {{-- v1.2 — QR alineado a margen derecho (align="right" en td del QR). --}} {{-- v1.1 — Diseño BYNET para PRODUCTOS MÚLTIPLES recreado con FIX QR incluido (sin rowspan: textos 80% + QR 20% derecha). Pares de filas dato+descripción por producto, filas de relleno completan la página. Cargarlo vía slots del editor Many (Diseño 2-4) en la instancia BYNET — NO es el default del repo. --}} {{-- v3.9 — Header gris a tabla propia #headerConcepts (bordes negros intactos); zona de datos #detail con marco exterior e interiores TODO lightgray (incl. línea bajo producto). --}} {{-- v3.8 — Columnas internas (filas datos y descripción) a lightgray; contornos, headers y cierres quedan en negro sin cambios. --}} {{-- v3.7 — Cada línea se dibuja UNA vez (celdas solo border-right/bottom, marco lo pone la tabla): elimina líneas dobles que se veían gruesas/con sombra; quita border-collapse y el border del tr header-details. --}} {{-- v3.6 — Bordes unificados: .details y fila descripción a black (antes lightgray); border-collapse en #dataConcepts y #detail elimina huecos entre contornos. --}} {{-- v3.5 — Fila producto compacta (height:14px) y descripción en fila separada debajo (solo bordes verticales); la última fila de descripción lleva height:330px hasta los totales. --}} {{-- v3.4 — table-layout:fixed en #detail + barra CONCEPTO separada a #dataConcepts (el colspan=8 como primera fila anulaba los width %); DESCRIPCIÓN ocupa su 50% real. --}} {{-- v3.3 — Elimina filas de relleno (B); última fila de producto (A) con height:330px fijo en cada td hasta antes de TOTAL EN LETRAS; label TOTAL_LETTER → "TOTAL EN LETRAS". --}} {{-- v3.2 — FIX: selector #dataConcepts th → #detail th (quedó huérfano al fusionar tablas en v2.0); headers vuelven a 8px y no ensanchan columnas. --}} {{-- v3.1 — Headers de tabla en español hardcodeados: CANT, UNIDAD, CÓDIGO UNIDAD, NO PARTE, CÓDIGO SAT, PRECIO UNITARIO, TOTAL. --}} {{-- v3.0 — Filas de relleno sin bordes horizontales (solo verticales lightgray) — área vacía limpia como legacy BYNET; relleno también cuando countEmptyRows==1. --}} {{-- v1.7 — FIX1: fila espaciadora sin bordes (border:none en todos los lados + background:white); FIX2: labels condiciones de pago en español (Vencimiento de Pago, Orden de Compra del Cliente, Número de Cotización). --}} {{-- v1.6 — Tabla conceptos: CONCEPTO 64%→45%, PRECIO 15%→10%, TOTAL 15%→5%; descripción dentro de celda CONCEPTO; fila espaciadora 300px reemplaza fila separada. --}} {{-- v1.5 — AUD: .section color dinámico (color??reports_color??#b6b6b6); postal_code con fallback a zipcode; slot 3 corregido a sponsor_logo_2. --}} {{-- v1.4 — FIX: padding-left descripción 30%→40% (alinear con columna CONCEPT); elimina height:300px fijo. --}} {{-- v1.3 — FIX1: receptor alineado con tabla interna; FIX2: descripción colspan=8 sin bordes vacíos; FIX3: height:300px en celda descripción. --}} {{-- v1.2 — Descripción en renglón separado (7px gris); elimina renglones vacíos fijos; margin-bottom en tabla detail. --}} {{-- v1.1 — Restaurado tras eliminación accidental; postal_code → zipcode en datos del emisor. --}} @php $sectionColor = $data->color ?? $data->reports_color ?? '#b6b6b6'; @endphp
| {{ $data->company_name ?? '' }} |
|
@if(!empty($data->company_logo))
|
@if(!empty($data->sponsor_logo_1 ?? ''))
|
@if(!empty($data->sponsor_logo_2 ?? ''))
|
@php $tipoLabels = ['I'=>'CFDI 4.0 Ingresos','E'=>'CFDI 4.0 Egresos','P'=>'CFDI 4.0 Pago','T'=>'Carta Porte']; @endphp {{ $tipoLabels[$data->tdf['TipoDeComprobante'] ?? ''] ?? 'FACTURA' }} |
| {{$data->folio ?? ''}} |
|
{{ $data->contributor->name ?? '' }} RFC {{ $data->contributor->rfc ?? '' }} {{ $data->contributor->street ?? '' }} @if(!empty($data->contributor->street2 ?? '')) {{ $data->contributor->street2 }} @endif {{ ($data->contributor->city ?? '') . " " . ($data->contributor->state ?? '') . " " . ($data->contributor->country ?? '') }} @if(!empty($data->contributor->postal_code ?? $data->contributor->zipcode ?? '')) {{ " CP" . " " . ($data->contributor->postal_code ?? $data->contributor->zipcode ?? '') }} @endif @if(!empty($data->contributor->phone ?? '')) {{ " ".$data->contributor->phone }} @endif |
Fecha Timbrado:
{{$data->tdf['FechaTimbrado'] ?? ''}} No. Certificado: {{$data->tdf['NoCertificado'] ?? ''}} Folio Fiscal: {{$data->tdf['UUID'] ?? ''}} No. Cert. SAT: {{$data->tdf['NoCertificado'] ?? ''}} |
Datos de Pago:
|
||||||||||||||||||||||
| Condiciones de Pago: | {{ $data->condition_pay ?? '' }} | Vencimiento de Pago: | {{ ($data->expiration_date ?? '') != '31-12-1969' ? ($data->expiration_date ?? '') : '' }} |
| Orden de Compra del Cliente: | {{ $data->purchase_order ?? '' }} | Número de Cotización: | {{ $data->quote_id ?? '' }} |
| No. Pedimento: | {{ $data->petition }} | ||
| 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 |
| CONCEPTO |
|---|
| CANT | UNIDAD | CÓDIGO UNIDAD | NO PARTE | CÓDIGO SAT | DESCRIPCIÓN DEL PRODUCTO | PRECIO UNITARIO | TOTAL |
|---|
| {{ $detail->quantity }} | {{ $detail->unity_name ?? $detail->unity }} | {{ $detail->unity }} | {{ $detail->product_number ?? $detail->product_id ?? '' }} | {{ $detail->tax_code ?? '' }} | {{ $detail->product_name }} | {{ "$".number_format($detail->sales_price,2,".",",") }} | {{ "$".number_format($detail->amount,2,".",",") }} |
| @if(!empty($detail->description ?? '')) {{ $detail->description }} @endif | |||||||
| TOTAL EN LETRAS: | {{ ($data->total_letter ?? '').' '.($data->total_letter_decimal ?? '') }} | SUBTOTAL: {{ ($data->subtotal ?? '')." ".($data->currency ?? '') }} | |||||
| @if(!empty($data->discount ?? '') && str_replace('$','',$data->discount ?? '0') != 0) DESCUENTO: {{ ($data->discount ?? '')." ".($data->currency ?? '') }} @else IVA {{ ($data->tax_perc ?? '') }}%: {{ ($data->tax ?? '')." ".($data->currency ?? '') }} @endif | |||||||
| OBSERVACIONES: | {{ $data->observations ?? '' }} | @if(!empty($data->discount ?? '') && str_replace('$','',$data->discount ?? '0') != 0) IVA {{ ($data->tax_perc ?? '') }}%: {{ ($data->tax ?? '')." ".($data->currency ?? '') }} @else TOTAL: {{ ($data->total ?? '')." ".($data->currency ?? '') }} @endif | |||||
| TOTAL: {{ ($data->total ?? '')." ".($data->currency ?? '') }} | |||||||