Carpeta pdf

This commit is contained in:
Axel Axt
2026-08-04 19:24:36 -03:00
parent 24d0bf55c9
commit 6aaff2ffe4
4 changed files with 752 additions and 0 deletions
+136
View File
@@ -0,0 +1,136 @@
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Remito <?= $numeroRemito ?></title>
</head>
<body>
<table class="header-table">
<tr>
<!-- COLUMNA IZQUIERDA: EMPRESA -->
<td class="header-left">
<img src="<?= $datosEmpresa['logo_ruta'] ?>" class="logo-marca">
<div class="empresa-datos">
<?= htmlspecialchars($datosEmpresa['direccion']) ?><br>
<?= htmlspecialchars($datosEmpresa['ciudad']) ?>
(<?= htmlspecialchars($datosEmpresa['codigo_postal']) ?>) -
<?= htmlspecialchars($datosEmpresa['provincia']) ?><br>
Tel.: <?= htmlspecialchars($datosEmpresa['telefono']) ?><br>
Email: <?= htmlspecialchars($datosEmpresa['email']) ?>
</div>
</td>
<!-- COLUMNA CENTRAL: LETRA -->
<td class="header-center">
<div class="remito-letra-box">R</div>
</td>
<!-- COLUMNA DERECHA: DATOS REMITO -->
<td class="header-right">
<div class="remito-titulo">Remito</div>
<div class="remito-datos">
<div><strong>Nº:</strong> <?= $numeroRemito ?></div>
<div><strong>Fecha:</strong> <?= date('d/m/Y') ?></div>
</div>
<div class="datos-fiscales">
<br>
<div><strong>IVA:</strong> <?= htmlspecialchars($datosEmpresa['cond_iva']) ?></div>
<div><strong>CUIT:</strong> <?= htmlspecialchars($datosEmpresa['cuit']) ?></div>
<div><strong>Inicio actividades:</strong> <?= htmlspecialchars($datosEmpresa['inicio_act']) ?></div>
</div>
</td>
</tr>
</table>
<hr class="separator">
<table class="box-proveedor">
<tr>
<td>
<table class="box-proveedor-contenido">
<!-- FILA SUPERIOR -->
<tr>
<td class="box-proveedor-left">
<strong>Proveedor:</strong>
<?= htmlspecialchars($proveedor['razon_social']) ?><br>
<strong>Teléfono:</strong>
<?= htmlspecialchars($proveedor['telefono']) ?><br>
</td>
<td class="box-proveedor-right">
<strong>Cond. IVA:</strong>
<?= htmlspecialchars($condIVALabel) ?><br>
<strong>CUIT:</strong>
<?= htmlspecialchars($cuit) ?>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table class="tabla-productos">
<thead>
<tr>
<th>Cod.</th>
<th>Detalle</th>
<th>Cantidad</th>
</tr>
</thead>
<tbody>
<?php foreach ($productos as $p): ?>
<tr>
<td class="center"><?= htmlspecialchars($p['id_producto']) ?></td>
<td class="center"><?= htmlspecialchars($p['marca'] . ' ' . $p['modelo']) ?></td>
<td class="center"><?= $p['cantidad'] ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<!-- FOOTER DEL REMITO PARA CONFORMIDAD -->
<div class="footer-fixed">
<div class="footer-content">
<div class="footer-left">
Recibí conforme la mercadería detallada en el presente remito.
</div>
<div class="footer-right">
<div class="firma-row">
<span>Firma:</span>
<div class="firma-line"></div>
</div>
<div class="firma-row">
<span>Aclaración:</span>
<div class="firma-line"></div>
</div>
<div class="firma-row">
<span>DNI:</span>
<div class="firma-line"></div>
</div>
</div>
</div>
<div class="footer-line"></div>
<div class="footer-brand">Bytecenter</div>
</div>
</html>
+202
View File
@@ -0,0 +1,202 @@
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Presupuesto <?= $numeroPresupuesto ?></title>
</head>
<body>
<table class="header-table">
<tr>
<!-- IZQUIERDA: Logo con nombre y datos de empresa-->
<td class="header-left">
<img src="<?= $datosEmpresa['logo_ruta'] ?>" class="logo-marca">
<div class="empresa-datos">
<?= htmlspecialchars($datosEmpresa['direccion']) ?><br>
<?= htmlspecialchars($datosEmpresa['ciudad']) ?>
(<?= htmlspecialchars($datosEmpresa['codigo_postal']) ?>) -
<?= htmlspecialchars($datosEmpresa['provincia']) ?><br>
Tel.: <?= htmlspecialchars($datosEmpresa['telefono']) ?><br>
Email: <?= htmlspecialchars($datosEmpresa['email']) ?>
</div>
</td>
<!-- DERECHA: Presupuesto y datos fiscales -->
<td class="header-right">
<div class="presupuesto-titulo">Presupuesto</div>
<div class="presupuesto-datos">
<div><strong>Nº:</strong> <?= $numeroPresupuesto ?></div>
<div><strong>Fecha:</strong> <?= date('d/m/Y') ?></div>
</div>
<div class="datos-fiscales">
<br>
<div><strong>IVA:</strong> <?= htmlspecialchars($datosEmpresa['cond_iva']) ?></div>
<div><strong>CUIT:</strong> <?= htmlspecialchars($datosEmpresa['cuit']) ?></div>
<div><strong>Inicio actividades:</strong> <?= htmlspecialchars($datosEmpresa['inicio_act']) ?></div>
</div>
</td>
</tr>
</table>
<hr class="separator">
<table class="box-cliente">
<tr>
<td>
<table class="box-cliente-contenido">
<!-- FILA SUPERIOR -->
<tr>
<td class="box-cliente-left">
<strong>Cliente:</strong>
<?= htmlspecialchars($cliente['nombre'] . ' ' . $cliente['apellido']) ?><br>
<strong>Teléfono:</strong>
<?= htmlspecialchars($cliente['telefono']) ?><br>
<strong>Email:</strong>
<?= htmlspecialchars($cliente['email']) ?><br>
</td>
<td class="box-cliente-right">
<strong>Cond. IVA:</strong>
<?= htmlspecialchars($condIVALabel) ?><br>
<strong>CUIT:</strong>
<?= htmlspecialchars($cuit) ?>
</td>
</tr>
<!-- SEPARADOR -->
<tr>
<td colspan="2">
<div class="box-cliente-separador"></div>
</td>
</tr>
<!-- FILA INFERIOR -->
<tr>
<td class="box-cliente-right">
<strong>Vendedor:</strong>
<?= htmlspecialchars($vendedor['nombre'] . ' ' . $vendedor['apellido']) ?>
</td>
<td class="box-cliente-left">
<strong>Forma de Pago:</strong>
<?= htmlspecialchars($formaPagoLabel) ?>
<?php if ($tipoPagoLabel !== 'Pago Único'): ?>
(<?= htmlspecialchars($tipoPagoLabel) ?>)
<?php endif; ?>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table class="tabla-productos">
<thead>
<tr>
<th>Cod.</th>
<th>Producto</th>
<th>Cant.</th>
<th>Precio Unit.</th>
<th>Descuento (%)</th>
<th>IVA (%)</th>
<th>Subtotal</th>
</tr>
</thead>
<tbody>
<?php foreach ($productos as $p): ?>
<tr>
<td class="center"><?= htmlspecialchars($p['id_producto']) ?></td>
<td class="center"><?= htmlspecialchars($p['marca'] . ' ' . $p['modelo']) ?></td>
<td class="center"><?= $p['cantidad'] ?></td>
<td class="right">$ <?= number_format($p['precio'], 2, '.', ',') ?></td>
<td class="right"><?= number_format($p['descuento_total'], 2, '.', ',') ?> %</td>
<td class="right"><?= htmlspecialchars($datosEmpresa['iva']) ?> %</td>
<td class="right">
$ <?= number_format($p['precio_final'] * $p['cantidad'], 2, '.', ',') ?>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<table class="footer-table">
<tr>
<!-- IZQUIERDA: NOTA DE VALIDEZ DE PRESUPUESTO -->
<td class="footer-left">
<div class="box-titulo">Observaciones</div>
<div class="box-contenido">
<!-- Si existe se muestra el porcentaje de recargo o de descuento -->
<?php if (isset($descuentoPresupuesto) || $descuentoPresupuesto != 0): ?>
<?= "Descuento: " . number_format($descuentoPresupuesto, 2, ',', '.') . ' (%)'?>
<br>
<?php endif; ?>
<?php if (isset($recargoPresupuesto) || $recargoPresupuesto !== 0): ?>
<?= "Recargo: " . number_format($recargoPresupuesto, 2, ',', '.') . ' (%)'?>
<br>
<?php endif; ?>
<!-- Si existe se muestra el valor de cuota -->
<?php if (isset($valorCuota)): ?>
<br>
<?= "Valor de cuota: " . htmlspecialchars($cuota . ' x $ ') . number_format($valorCuota, 2, ',', '.') ?>
<br>
El valor de cada cuota es estimativo y se calcula sobre el total del presupuesto al momento de su emisión.
<br><br>
<?php endif; ?>
</div>
</td>
<!-- DERECHA: TOTALES -->
<td class="footer-right">
<table class="box-totales">
<tr>
<td>Subtotal:</td>
<td class="right">$ <?= number_format($subtotal, 2, '.', ',') ?></td>
</tr>
<tr>
<td>Descuento:</td>
<td class="right">$ <?= number_format($descuento, 2, '.', ',') ?></td>
</tr>
<tr>
<td>Recargo:</td>
<td class="right">$ <?= number_format($recargo, 2, '.', ',') ?></td>
</tr>
<tr class="total-final">
<td>Total:</td>
<td class="right">$ <?= number_format($total, 2, '.', ',') ?></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<div class="footer-pdf">
<hr class="footer-separator">
<div class="footer-text">Bytecenter</div>
</div>
</html>
+211
View File
@@ -0,0 +1,211 @@
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Servicio <?= $numeroServicio ?></title>
</head>
<body>
<table class="header-table">
<tr>
<!-- IZQUIERDA: Logo con nombre y datos de empresa-->
<td class="header-left">
<img src="<?= $datosEmpresa['logo_ruta'] ?>" class="logo-marca">
<div class="empresa-datos">
<?= htmlspecialchars($datosEmpresa['direccion']) ?><br>
<?= htmlspecialchars($datosEmpresa['ciudad']) ?>
(<?= htmlspecialchars($datosEmpresa['codigo_postal']) ?>) -
<?= htmlspecialchars($datosEmpresa['provincia']) ?><br>
Tel.: <?= htmlspecialchars($datosEmpresa['telefono']) ?><br>
Email: <?= htmlspecialchars($datosEmpresa['email']) ?>
</div>
</td>
<!-- DERECHA: Venta y datos fiscales -->
<td class="header-right">
<div class="venta-titulo">Resumen Servicio</div>
<div class="venta-datos">
<div><strong>Nº:</strong> <?= $numeroServicio ?></div>
<div><strong>Fecha:</strong> <?= date('d/m/Y') ?></div>
</div>
<div class="datos-fiscales">
<br>
<div><strong>IVA:</strong> <?= htmlspecialchars($datosEmpresa['cond_iva']) ?></div>
<div><strong>CUIT:</strong> <?= htmlspecialchars($datosEmpresa['cuit']) ?></div>
<div><strong>Inicio actividades:</strong> <?= htmlspecialchars($datosEmpresa['inicio_act']) ?></div>
</div>
</td>
</tr>
</table>
<hr class="separator">
<table class="box-cliente">
<tr>
<td>
<table class="box-cliente-contenido">
<!-- FILA SUPERIOR -->
<tr>
<td class="box-cliente-left">
<strong>Cliente:</strong>
<?= htmlspecialchars($cliente['nombre'] . ' ' . $cliente['apellido']) ?><br>
<strong>Teléfono:</strong>
<?= htmlspecialchars($cliente['telefono']) ?><br>
<strong>Email:</strong>
<?= htmlspecialchars($cliente['email']) ?><br>
</td>
</tr>
<!-- SEPARADOR -->
<tr>
<td colspan="2">
<div class="box-cliente-separador"></div>
</td>
</tr>
<!-- FILA INFERIOR -->
<tr>
<td class="box-cliente-right">
<strong>Atendió:</strong>
<?= htmlspecialchars($vendedor['nombre'] . ' ' . $vendedor['apellido']) ?>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- DATOS DEL EQUIPO Y DEMÁS -->
<table class="box-cliente">
<tr>
<td>
<table class="box-cliente-contenido">
<!-- EQUIPO Y CUENTA -->
<tr>
<td class="box-cliente-left">
<strong>Descripcion del Equipo:</strong>
<?= htmlspecialchars($datosServicio['descripcion_equipo']) ?><br>
<strong>Contraseña del Equipo:</strong>
<?= htmlspecialchars($datosServicio['contrasenia_equipo']) ?><br>
<strong>Cuenta Gmail/Apple:</strong>
<?= htmlspecialchars($datosServicio['cuenta']) ?><br>
<strong>Contraseña Gmail/Apple:</strong>
<?= htmlspecialchars($datosServicio['contrasenia_cuenta']) ?><br>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- PROBLEMA -->
<table class="box-cliente">
<tr>
<td>
<table class="box-cliente-contenido">
<tr>
<td class="box-cliente-left">
<strong>Descripción del Problema:</strong>
<?= htmlspecialchars($datosServicio['descripcion_problema']) ?><br>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- OBSERVACION -->
<table class="box-cliente">
<tr>
<td>
<table class="box-cliente-contenido">
<tr>
<td class="box-cliente-left">
<strong>Observaciones/Detalles:</strong>
<?= htmlspecialchars($datosServicio['observacion']) ?><br>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- TEXTO IMPORTANTE -->
<table class="footer-table">
<tr>
<!-- IZQUIERDA: NOTA DE USO DE COMPROBANTE -->
<td class="footer-left">
<div class="box-titulo">Importante</div>
<div class="box-contenido">
Se deberá presentar este comprobante para cualquier consulta, trámite o retirar el equipo del local de Bytecenter.
<br>
El ingreso de cualquier dispositivo para ser revisado tiene un costo base de $<?= number_format($datosEmpresa['cargo_cancelacion_servicio'], 2, ',', '.') ?>,
incluso si luego el cliente decide llevar a cabo el servicio o no.
<br>
Cualquier reparación realizada en ByteCenter posee una garantía de 3 meses,
pasado este periodo cualquier daño causado en el dispositivo es responsabilidad exclusiva del usuario.
</div>
</td>
</tr>
</body>
<!-- FIRMAS -->
<!-- FOOTER DEL REMITO PARA CONFORMIDAD -->
<div class="footer-fixed">
<div class="footer-content">
<div class="footer-right">
<div class="firma-row">
<span>Firma Cliente:</span>
<div class="firma-line"></div>
</div>
<div class="firma-row">
<span>Firma Operador:</span>
<div class="firma-line"></div>
</div>
</div>
</div>
<div class="footer-line"></div>
<div class="footer-brand">Bytecenter</div>
</div>
</html>
+203
View File
@@ -0,0 +1,203 @@
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Venta <?= $numeroVenta ?></title>
</head>
<body>
<table class="header-table">
<tr>
<!-- IZQUIERDA: Logo con nombre y datos de empresa-->
<td class="header-left">
<img src="<?= $datosEmpresa['logo_ruta'] ?>" class="logo-marca">
<div class="empresa-datos">
<?= htmlspecialchars($datosEmpresa['direccion']) ?><br>
<?= htmlspecialchars($datosEmpresa['ciudad']) ?>
(<?= htmlspecialchars($datosEmpresa['codigo_postal']) ?>) -
<?= htmlspecialchars($datosEmpresa['provincia']) ?><br>
Tel.: <?= htmlspecialchars($datosEmpresa['telefono']) ?><br>
Email: <?= htmlspecialchars($datosEmpresa['email']) ?>
</div>
</td>
<!-- DERECHA: Venta y datos fiscales -->
<td class="header-right">
<div class="venta-titulo">Resumen Venta</div>
<div class="venta-titulo-intermedio">DOCUMENTO NO VÁLIDO COMO FACTURA</div>
<div class="venta-datos">
<div><strong>Nº:</strong> <?= $numeroVenta ?></div>
<div><strong>Fecha:</strong> <?= date('d/m/Y') ?></div>
</div>
<div class="datos-fiscales">
<br>
<div><strong>IVA:</strong> <?= htmlspecialchars($datosEmpresa['cond_iva']) ?></div>
<div><strong>CUIT:</strong> <?= htmlspecialchars($datosEmpresa['cuit']) ?></div>
<div><strong>Inicio actividades:</strong> <?= htmlspecialchars($datosEmpresa['inicio_act']) ?></div>
</div>
</td>
</tr>
</table>
<hr class="separator">
<table class="box-cliente">
<tr>
<td>
<table class="box-cliente-contenido">
<!-- FILA SUPERIOR -->
<tr>
<td class="box-cliente-left">
<strong>Cliente:</strong>
<?= htmlspecialchars($cliente['nombre'] . ' ' . $cliente['apellido']) ?><br>
<strong>Teléfono:</strong>
<?= htmlspecialchars($cliente['telefono']) ?><br>
<strong>Email:</strong>
<?= htmlspecialchars($cliente['email']) ?><br>
</td>
<td class="box-cliente-right">
<strong>Cond. IVA:</strong>
<?= htmlspecialchars($condIVALabel) ?><br>
<strong>CUIT:</strong>
<?= htmlspecialchars($cuit) ?>
</td>
</tr>
<!-- SEPARADOR -->
<tr>
<td colspan="2">
<div class="box-cliente-separador"></div>
</td>
</tr>
<!-- FILA INFERIOR -->
<tr>
<td class="box-cliente-right">
<strong>Vendedor:</strong>
<?= htmlspecialchars($vendedor['nombre'] . ' ' . $vendedor['apellido']) ?>
</td>
<td class="box-cliente-left">
<strong>Forma de Pago:</strong>
<?= htmlspecialchars($formaPagoLabel) ?>
<?php if ($tipoPagoLabel !== 'Pago Único'): ?>
(<?= htmlspecialchars($tipoPagoLabel) ?>)
<?php endif; ?>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table class="tabla-productos">
<thead>
<tr>
<th>Cod.</th>
<th>Producto</th>
<th>Cant.</th>
<th>Precio Unit.</th>
<th>Descuento (%)</th>
<th>IVA (%)</th>
<th>Subtotal</th>
</tr>
</thead>
<tbody>
<?php foreach ($productos as $p): ?>
<tr>
<td class="center"><?= htmlspecialchars($p['id_producto']) ?></td>
<td class="center"><?= htmlspecialchars($p['marca'] . ' ' . $p['modelo']) ?></td>
<td class="center"><?= $p['cantidad'] ?></td>
<td class="right">$ <?= number_format($p['precio'], 2, '.', ',') ?></td>
<td class="right"><?= number_format($p['descuento_total'], 2, '.', ',') ?> %</td>
<td class="right"><?= htmlspecialchars($datosEmpresa['iva']) ?> %</td>
<td class="right">
$ <?= number_format($p['precio_final'] * $p['cantidad'], 2, '.', ',') ?>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<table class="footer-table">
<tr>
<!-- IZQUIERDA: NOTA DE VALIDEZ DE VENTA -->
<td class="footer-left">
<div class="box-titulo">Observaciones</div>
<div class="box-contenido">
<!-- Si existe se muestra el porcentaje de recargo o de descuento -->
<?php if (isset($descuentoVenta) || $descuentoVenta != 0): ?>
<?= "Descuento: " . number_format($descuentoVenta, 2, ',', '.') . ' (%)'?>
<br>
<?php endif; ?>
<?php if (isset($recargoVenta) || $recargoVenta !== 0): ?>
<?= "Recargo: " . number_format($recargoVenta, 2, ',', '.') . ' (%)'?>
<br>
<?php endif; ?>
<!-- Si existe se muestra el valor de cuota -->
<?php if (isset($valorCuota)): ?>
<br>
<?= "Valor de cuota: " . htmlspecialchars($cuota . ' x $ ') . number_format($valorCuota, 2, ',', '.') ?>
<br>
El valor de cada cuota es estimativo y se calcula sobre el total de la venta al momento de su emisión.
<br><br>
<?php endif; ?>
</div>
</td>
<!-- DERECHA: TOTALES -->
<td class="footer-right">
<table class="box-totales">
<tr>
<td>Subtotal:</td>
<td class="right">$ <?= number_format($subtotal, 2, '.', ',') ?></td>
</tr>
<tr>
<td>Descuento:</td>
<td class="right">$ <?= number_format($descuento, 2, '.', ',') ?></td>
</tr>
<tr>
<td>Recargo:</td>
<td class="right">$ <?= number_format($recargo, 2, '.', ',') ?></td>
</tr>
<tr class="total-final">
<td>Total:</td>
<td class="right">$ <?= number_format($total, 2, '.', ',') ?></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<div class="footer-pdf">
<hr class="footer-separator">
<div class="footer-text">Bytecenter</div>
</div>
</html>