Uecko_ERP/modules/customer-invoices/templates/uecko/issued-invoice.hbs

389 lines
10 KiB
Handlebars
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Factura</title>
<style type="text/css">{{ asset 'tailwind.min.css' }}</style>
<style type="text/css">
header {
width: 100%;
margin-bottom: 15px;
}
/* Fila superior */
.top-header {
display: flex;
justify-content: space-between;
width: 100%;
}
/* Bloque izquierdo */
.left-block {
display: flex;
flex-direction: column;
align-items: flex-start;
width: 75%;
}
.logo {
height: 80px;
margin-bottom: 5px;
}
.company-text {
font-size: 7pt;
line-height: 1.2;
padding-left: 10px;
text-align: right;
}
/* Bloque derecho */
.right-block {
display: flex;
flex-direction: column;
/* uno encima de otro */
align-items: flex-end;
/* o flex-start / center según quieras */
justify-content: flex-start;
width: 25%;
padding: 4px;
}
.factura-img {
height: 45px;
}
.factura-text {
font-size: 26px;
font-weight: bolder;
}
/* Fila inferior */
.bottom-header {
margin-top: 10px;
display: flex;
justify-content: space-between;
gap: 20px;
}
/* Cuadros */
.info-box {
width: 40%;
}
.info-dire {
width: 70%;
}
/* ---------------------------- */
/* ESTRUCTURA BODY */
/* ---------------------------- */
body {
font-family: Arial, sans-serif;
margin: 40px;
color: #333;
font-size: 9pt;
line-height: 1.5;
}
table {
width: 100%;
border-collapse: collapse;
margin-top: 0px;
margin-bottom: 10px;
}
table th,
table td {
padding: 3px 10px;
text-align: left;
vertical-align: top;
}
table th {
border-bottom: 1px solid #000;
}
.totals {
margin-top: 20px;
width: 100%;
}
.totals td {
padding: 5px 10px;
}
.totals td.label {
text-align: right;
font-weight: bold;
}
/* Anchos por columna */
.col-concepto { width: auto; text-align: left; }
.col-cantidad { width: 70px; text-align: center; border-right: 1px solid #000;}
.col-precio { width: 110px; text-align: right; border-right: 1px solid #000;}
.col-dto { width: 50px; text-align: center; border-right: 1px solid #000;}
.col-total { width: 110px; text-align: right; }
.resume-table td {
background: #f0f0f0; /* gris como en la imagen */
}
.resume-table th {
border: transparent; /* gris como en la imagen */
}
/* Columna izquierda (notas / forma de pago) */
.left-col {
width: 70%;
vertical-align: top;
padding: 10px;
border: 1px solid #000;
}
/* Etiquetas */
.resume-table .label {
width: 15%;
padding: 6px 8px;
text-align: right;
border: 1px solid #000;
}
/* Valores numéricos */
.resume-table .value {
width: 15%;
padding: 6px 8px;
text-align: right;
border: 1px solid #000;
}
/* Total factura */
.total-row .label,
.total-row .value {
background-color: #eee;
font-size: 9pt;
border: 1px solid #000;
}
.resume-table .empty {
border: 1px solid transparent;
}
footer {
margin-top: 40px;
font-size: 8px;
}
.footer-row {
display: flex;
justify-content: space-between;
align-items: top;
width: 100%;
margin-top: 4px;
}
.footer-left {
text-align: left;
font-size: 8pt;
line-height: 1.2;
max-width: 25%; /* evita que pise los sellos */
}
.footer-right {
display: flex;
justify-content: flex-end;
align-items: top;
gap: 8px; /* separación entre sellos */
max-width: 75%;
}
.footer-right img {
width: 100%; /* ajusta el tamaño de los sellos */
object-fit: contain;
}
@media print {
* {
-webkit-print-color-adjust: exact;
}
thead {
display: table-header-group;
}
tfoot {
display: table-footer-group;
}
}
</style>
</head>
<body>
<header>
<!-- FILA SUPERIOR: logo + dirección / imagen factura -->
<div class="top-header">
<div class="left-block">
<div style="display: flex; align-items: center; gap: 4px; align-content: stretch">
<img src="{{asset 'logo_uecko.jpg'}}" alt="Logo Uecko" class="logo" />
{{#if verifactu.qr_code}}
<div style="flex-grow: 0; flex-shrink: 0; flex-basis:90px;">
<img src="{{verifactu.qr_code}}" alt="QR factura" style="width: 90px; height: 90px;" />
</div>
<div style="text-align: left; flex-grow: 1; flex-shrink: 1; flex-basis: auto;">
QR tributario factura verificable en sede electronica de AEAT VERI*FACTU
</div>
{{/if}}
</div>
</div>
<div class="right-block">
<div>
<div class="company-text">
<p>PUEDE QUE QR</p>
</div>
</div>
</div>
</div>
<!-- FILA INFERIOR: cuadro factura + cuadro cliente -->
<div class="bottom-header">
<div class="info-box">
<p>Nº de factura: {{series}}{{invoice_number}}</p>
<p>Fecha: {{invoice_date}}</p>
<p>Cod. Cliente: {{invoice_date}}</p>
<p>Ref. Cliente: {{invoice_date}}</p>
</div>
<div class="info-box info-dire">
<h2 style="font-weight:600; text-transform:uppercase; margin-bottom:0.25rem;">{{recipient.name}}</h2>
<p>{{recipient.tin}}</p>
<p>{{recipient.street}}</p>
<p>{{recipient.postal_code}} {{recipient.city}} {{recipient.province}}</p>
</div>
</div>
</header>
<main id="main">
<section id="details">
<p class="factura-text">FACTURA</p>
<!-- Tu tabla -->
<table class="table-header">
<thead>
<tr>
<th class="col-cantidad">Cantidad</th>
<th class="col-concepto">Concepto</th>
<th class="col-precio">Precio unidad</th>
<th class="col-dto">Dto</th>
<th class="col-total">Importe total</th>
</tr>
</thead>
<tbody>
{{#each items}}
<tr>
<td class="col-cantidad">{{#if quantity}}{{quantity}}{{else}}&nbsp;{{/if}}</td>
<td class="col-concepto">{{description}}</td>
<td class="col-precio">{{#if unit_amount}}{{unit_amount}}{{else}}&nbsp;{{/if}}</td>
<td class="col-dto">DTO</td>
<td class="col-total">{{#if taxable_amount}}{{taxable_amount}}{{else}}&nbsp;{{/if}}</td>
</td>
</tr>
{{/each}}
</tbody>
</table>
<table class="resume-table">
<thead>
<tr>
<th class="col-concepto"></th>
{{#if discount_percentage}}
<th class="col-total">Importe neto</th>
<th class="col-total">Dto {{discount_percentage}}</th>
{{/if}}
<th class="col-total">Base imponible</th>
{{#each taxes}}
<th class="col-total">{{tax_name}}</th>
{{/each}}
<th class="col-total"><strong>Total</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td class="col-concepto"></td>
{{#if discount_percentage}}
<td class="col-total">{{subtotal_amount}}</td>
<td class="col-total">{{discount_amount.value}}</td>
{{/if}}
<td class="col-total">{{taxable_amount}}</td>
{{#each taxes}}
<td class="col-total">{{taxes_amount}}</td>
{{/each}}
<td class="col-total">{{total_amount}}</td>
</tr>
</tbody>
</table>
<!-- Columna izquierda: notas y forma de pago -->
<table>
<tr>
<td class="info-box" style="text-align: right;">
{{#if payment_method}}
<p><strong>Forma de pago</strong><br/> {{payment_method}}</p>
{{/if}}
{{#if notes}}
<p><strong>Notas</strong><br/> {{notes}}</p>
{{/if}}
</td>
</tr>
</tbody>
</table>
</section>
</main>
<footer id="footer">
<tfoot >
<div style="border-bottom: 1px solid #000;">
<p>Abeto Design S.L. Insc. en el Reg. Merc. de Madrid, Tomo 23.926, Libro 0, Folio 58, Sección 8, Hoja M-430952 CIF: B85033132</p>
</div>
<div class="footer-row">
<div class="footer-left">
<b>Sede Central / Razón Social</b><br>
ABETO DESIGN S.L.<br>
C/Bélmez, 22 - Pol.Ind. Albarreja<br>
28946 Fuenlabrada - Madrid<br>
info@uecko.com www.uecko.com<br>
Tlf. +34 916 099 394
</div>
<div class="footer-right">
<img src="{{asset 'sellos.jpg'}}" alt="Sellos calidad" />
</div>
</div>
<div>
<p style="text-align: left; font-size: 6pt;"><b>Información básica sobre protección de datos</b><br/>Responsable: ABETO DESIGN S.L. Finalidad: Prestar los servicios solicitados y realizar la gestión contable, fiscal y administrativa, así como enviarle comunicaciones comerciales sobre nuestros productos y/o servicios. Legitimación: Ejecución de un contrato. Interés legítimo del Responsable. Destinatarios: No se cederán datos a terceros, salvo obligación legal. Derechos: Tiene derecho a acceder, rectificar y suprimir los datos, así como otros derechos, indicados en la información adicional, que puede ejercer enviando un correo electrónico con copia de NIF a nuestra dirección electrónica: administracion@uecko.com. Procedencia: El propio interesado. Información adicional: Puede consultar información adicional y detallada sobre Protección de Datos en nuestra página web: www.uecko.com
* Solo los productos que aparecen identificados como tales en este documento están certificados FSC®</p>
</div>
<div class="footer-row">
<div class="footer-left">
<b>CERTIFICADO FSC CODIGO: SGSCH-COC-060654</b>
</div>
<div class="footer-right">
<img src="{{asset 'sellos2.jpg'}}" alt="Sellos calidad" />
</div>
</div>
</tfoot>
</footer>
</body>
</html>