Requiply

Plantillas de exportación personalizadas

Diseña los PDF imprimibles que generas a partir de un alquiler, como el contrato de alquiler, el contrato, el acta de entrega, el acta de devolución o la hoja de preparación.

En la página Custom export templates (plantillas de exportación personalizadas) los administradores diseñan los documentos PDF imprimibles que Requiply genera a partir de una reserva: contratos de alquiler, actas de entrega y de devolución, listas de comprobación de recogida, hojas internas de preparación o cualquier otro documento que tu negocio entregue a un cliente o archive internamente.

De aquí sale el contrato de alquiler. Escribe el texto una vez aquí y cualquier reserva se podrá imprimir o enviar por email como un contrato terminado, con el nombre del cliente, las fechas, los artículos y los precios ya rellenados. Para imprimir uno de una reserva concreta, abre la reserva y expórtala: consulta Documentos de la reserva.

Esta página está en Settings → Bookings → Custom export templates.

Solo para administradores. El resto del personal se redirige a la pantalla de acceso denegado.

Cada plantilla aparece como una tarjeta con la etiqueta PDF document y una vista previa en texto plano de su contenido.

Por qué importa esta página

Requiply ya genera una factura a partir de cada reserva. Las plantillas de exportación cubren todo lo demás. En cuanto existe una plantilla, aparece en el diálogo Export (exportar) de cualquier reserva, y el personal puede generar con una sola pulsación un PDF rellenado y listo para imprimir de esa reserva concreta, sin copiar los datos de la reserva en un archivo de Word.

Documentos que suelen crear las organizaciones aquí:

  • Un contrato de alquiler con las partes, las fechas de la reserva, la tabla de equipos, los cargos, la fianza y las líneas de firma.
  • Un acta de entrega y devolución con notas sobre el estado y las confirmaciones de ambas partes.
  • Una hoja de recogida o de preparación para el equipo del almacén.
  • Un informe de daños o incidencias con los datos de la reserva y del cliente ya rellenados.

Quién puede usar esta página

  • Solo para administradores. Los usuarios sin el rol de administrador se redirigen a la pantalla de acceso denegado.
  • Las plantillas no tienen límite por plan ni dependen de ninguna función activable: cada organización puede crear todas las que necesite.
  • Usar una plantilla terminada no está restringido a los administradores. Cualquiera que pueda abrir el diálogo Export de una reserva puede generar el documento.

Qué verás

La página carga las plantillas de la organización actual y las muestra como una cuadrícula de tarjetas que se ajusta al ancho disponible. Mientras carga, aparecen tres marcadores de posición con la misma disposición.

Cada tarjeta de plantilla muestra:

  • El nombre de la plantilla (recortado, con una descripción emergente al pasar el ratón).
  • Una etiqueta PDF document.
  • Un recuadro Document preview (vista previa del documento) con las primeras líneas del contenido del documento en texto plano.
  • Un botón de editar (lápiz) que abre la página Añadir o editar una plantilla de exportación.

Después de las tarjetas, un botón redondeado Create template (crear plantilla) con un icono de suma abre la página para añadir.

Cuando todavía no hay plantillas

Requiply no incluye plantillas de exportación predefinidas. Una organización nueva empieza sin ninguna, y el diálogo Export de la reserva solo ofrece PDF Invoice hasta que se crea la primera plantilla.

Cuando la lista está vacía, la página muestra en el centro un icono de PDF, el título "No custom export templates yet" (todavía no hay plantillas de exportación personalizadas), el subtítulo "Create printable documents like rental agreements or handover acts, filled with booking data on export" (crea documentos imprimibles, como contratos de alquiler o actas de entrega, que se rellenan con los datos de la reserva al exportar) y la acción Create template.

Acciones principales

Añadir una plantilla

Create template, tanto desde el botón de suma como desde la pantalla vacía, abre la página Añadir o editar una plantilla de exportación. Al guardar, vuelves a la lista y un aviso confirma Document template "<name>" created.

Editar una plantilla

El icono del lápiz de una tarjeta abre la misma página en modo de edición, con las acciones Save y Delete.

Eliminar una plantilla

La eliminación se hace desde la página de edición, tras un sencillo diálogo de confirmación. A diferencia de las plantillas de email, las plantillas de exportación no se usan en las automatizaciones de los flujos de trabajo, así que no hay comprobación de referencias: la plantilla se elimina en cuanto confirmas.

Atención: al eliminar una plantilla, desaparece al instante del diálogo Export para todo el mundo. Los documentos ya descargados no se ven afectados, pero la plantilla no se puede recuperar.

Variables disponibles

El contenido del documento es HTML sencillo con variables {{variable}}. Al exportar, Requiply sustituye cada variable por los datos de la reserva para la que se genera el documento.

Variables de reserva, cliente y organización

VariableSe sustituye por
{{documentDate}}La fecha en que se genera el documento (hoy, en la zona horaria de la organización).
{{clientName}}El nombre completo del cliente.
{{clientFirstName}}El nombre de pila del cliente.
{{clientLastName}}Los apellidos del cliente.
{{clientEmail}}La dirección de email del cliente.
{{clientPhone}}El número de teléfono del cliente.
{{bookingId}}El número de la reserva tal como aparece en Requiply.
{{bookingStartDate}}La fecha de inicio de la reserva.
{{bookingStartDateTime}}La fecha y la hora de inicio de la reserva.
{{bookingEndDate}}La fecha de fin de la reserva.
{{bookingEndDateTime}}La fecha y la hora de fin de la reserva.
{{bookingDays}}Los días de alquiler que se cobran: el periodo de la reserva contado en periodos de 24 horas empezados, igual que se cobran los precios por día, con el ajuste del coste en periodos ya aplicado. Una recogida el viernes a las 10:00 y una devolución el lunes a las 10:00 imprimen 3, o 2 con un ajuste de −1 period.
{{bookingStatus}}El nombre del estado actual de la reserva.
{{bookingTotal}}El total de la reserva, con el formato de la moneda de la organización.
{{bookingDeposit}}El importe de la fianza (vacío cuando no hay fianza).
{{bookingTotalCharged}}El total del alquiler más la fianza.
{{bookingBundleDiscount}}Lo que ahorran en total los packs reservados, por ejemplo 19,20 €, ya incluido en {{bookingTotal}}. Vacío cuando la reserva no tiene ningún pack.
{{bookingAdjustment}}El ajuste del coste de la reserva: −1 period o +2 periods para los periodos cobrados, −10% para un porcentaje y el número sin más, como −25, para un importe fijo. Vacío si no hay ajuste. No está en el selector de variables, escríbela a mano.
{{bookingAdjustmentReason}}El motivo indicado para el ajuste. No está en el selector de variables.
{{bookingAdjustmentAmount}}El efecto en dinero de un ajuste porcentual o de importe fijo, por ejemplo −9,00 €. Vacío para los periodos cobrados. No está en el selector de variables.
{{bookingItems}}Una tabla HTML completa con los artículos reservados. Por defecto imprime SKU, nombre, cantidad, precio y total; consulta Elegir las columnas de la tabla. Los packs reservados añaden una fila de descuento al final, consulta Packs en la tabla de artículos.
{{bookingItemsQuantity}}Cuántas unidades se han reservado en total, por ejemplo 7 para 4 sillas y 3 mesas. Las unidades que aún no están asignadas también cuentan. Vacío cuando la reserva no tiene artículos.
{{bookingItemsTotal}}El alquiler de los artículos reservados durante el periodo de la reserva, después de los descuentos de los packs. No incluye los servicios ni los productos vendidos. Es el mismo importe que la celda total de la fila de totales de la tabla de artículos. Vacío cuando la reserva no tiene artículos.
{{bookingItemsFullPriceTotal}}La suma de los precios completos de todas las unidades reservadas, es decir, lo que te costaron los equipos alquilados, por ejemplo para una cláusula de responsabilidad o de valor asegurado. Vacío cuando ningún producto reservado tiene precio completo.
{{bookingServices}}Una tabla HTML completa con los servicios de la reserva. Por defecto imprime nombre, precio y total; consulta Elegir las columnas de la tabla.
{{bookingSaleItems}}Una tabla con los productos vendidos en la reserva (Ventas), descontadas las devoluciones. Por defecto imprime nombre, cantidad, precio y total; consulta Columnas de la tabla de productos vendidos. Vacío cuando no se ha vendido nada.
{{bookingSaleTotal}}Total of sold items (total de los productos vendidos): el total neto de los productos vendidos en la reserva, ya incluido en {{bookingTotal}}. Vacío cuando no se ha vendido nada.
{{bookingRentTotal}}Booking total without sold items (total de la reserva sin los productos vendidos): {{bookingTotal}} menos los productos vendidos, es decir, el alquiler, los servicios, los descuentos y los ajustes. En una reserva sin productos vendidos es igual a {{bookingTotal}}. Úsala con {{bookingSaleTotal}} para mostrar el alquiler y los productos en líneas separadas encima del importe a pagar, consulta Separar el alquiler y los productos vendidos en el resumen.
{{organizationName}}El nombre de la organización.
{{organizationEmail}}El email de contacto de la organización.
{{organizationPhone}}El teléfono de contacto de la organización.
{{organizationLogoUrl}}La dirección web del logo para el modo claro de Información de la organización, para usarla dentro de una etiqueta de imagen: <img src="{{organizationLogoUrl}}">. Vacío cuando no se ha subido ningún logo. Consulta Poner tu logo en un documento.
{{bookingItems}} y {{bookingServices}} insertan una tabla completa, no un valor. Ponlas en su propia línea y no dentro de una frase. Los encabezados de sus columnas se muestran en el idioma de la organización, y los precios usan la moneda de la organización.

Elegir las columnas de la tabla

Escrita sin más, {{bookingItems}} imprime sus columnas por defecto. Añade una lista de columnas entre corchetes y la tabla imprime exactamente las columnas que indiques, en el orden en que las indiques:

{{bookingItems[index, name, serial, qty, price, total]}}

Las entradas se separan con comas y van sin comillas. Las entradas desconocidas se ignoran. Sin corchetes se usan las columnas por defecto: SKU, nombre, cantidad, precio y total para los artículos, y nombre, precio y total para los servicios.

Tus propios encabezados de columna

Cada columna imprime un encabezado estándar en el idioma de la organización, como Name o Qty. Para usar tu propio texto, escríbelo después del nombre de la columna con dos puntos:

{{bookingItems[index, name:Equipment, qty:Units, total:Amount]}}

El encabezado es texto libre en cualquier idioma, así que un contrato en ucraniano puede imprimir {{bookingItems[name:Найменування, qty:Кількість]}}. Funciona con todas las columnas de las tres tablas, incluidas las columnas de campos personalizados: groupField_weight_kg:Weight (kg).

Un encabezado no puede contener una coma ni un corchete de cierre. La coma empieza la siguiente columna y ] cierra la lista, así que qty:Qty, pcs imprime una columna con el encabezado Qty y descarta la entrada desconocida pcs. Escribe qty:Qty (pcs) en su lugar, y no uses comillas.

Columnas de la tabla de artículos

ColumnaImprime
indexEl número de fila.
imageLa foto del producto como una pequeña miniatura cuadrada: la foto marcada como predeterminada en el producto o, si no hay ninguna, su primera foto. No tiene encabezado salvo que le pongas uno, por ejemplo image:Photo.
skuEl SKU, el identificador de la organización.
serialEl número de serie del fabricante de la unidad.
nameEl nombre del producto.
categoryLa categoría.
qtyLa cantidad.
priceEl precio por unidad.
priceTypeLa tarifa: por día, por hora, por mes o fija.
depositLa fianza por unidad.
full_priceEl precio completo, lo que te costó el equipo.
full_price_totalEl precio completo multiplicado por la cantidad, por ejemplo 2400,00 € por dos cámaras que costaron 1200,00 € cada una.
totalEl total de la línea.
itemField_<field key>Un campo personalizado definido a nivel de unidad.
groupField_<field key>Un campo personalizado definido a nivel de producto.
blank:LabelUna columna vacía con Label como encabezado, para celdas que se rellenan a mano.
totalsNo es una columna: añade una fila de resumen al final de la tabla, consulta Fila de totales.

Las filas de artículos siguen el orden en que se añadieron los productos a la reserva, y todas las exportaciones de la misma reserva las imprimen en el mismo orden. Los productos guardados a la vez, como todo lo que se eligió al crear la reserva, se ordenan por nombre, comparando los números como números (Light 2 antes que Light 10). Los productos añadidos a la reserva más tarde van después, en el orden en que se añadieron. Las unidades de un mismo producto se ordenan por SKU.

Fila de totales

Añade totals en cualquier punto de la lista de columnas y la tabla termina con una fila de resumen. La columna del nombre muestra Total: (en una tabla sin name, la primera columna que no tiene suma propia), y cada columna que se puede sumar muestra su suma:

{{bookingItems[index, name, qty, deposit, full_price_total, total, totals]}}
ColumnaSuma en la fila de totales
qtyTodas las unidades reservadas.
depositLa fianza por unidad multiplicada por la cantidad, sumada en todas las filas.
full_price_totalEl precio completo de todo lo reservado, el mismo importe que {{bookingItemsFullPriceTotal}}.
totalEl alquiler de todos los artículos después de los descuentos de los packs, así que coincide con las filas de arriba, incluida cualquier fila de pack, y es igual a {{bookingItemsTotal}}.
itemField_… y groupField_… en un campo Number (numérico)El valor del campo multiplicado por la cantidad de cada fila, todo sumado. Un producto que pesa 2,5 kg reservado 4 veces cuenta como 10.

Las demás columnas, como price, full_price o los campos de texto, quedan vacías en la fila de totales. totals sola, {{bookingItems[totals]}}, imprime las columnas por defecto con una fila de resumen. La etiqueta sigue el idioma de la organización: Total: en los documentos en inglés, Всього: en los documentos en ucraniano.

totals también funciona en las otras dos tablas: {{bookingServices[name, total, totals]}} suma los totales de los servicios, y {{bookingSaleItems[name, qty, total, totals]}} suma la cantidad y el total de los productos vendidos.

Packs en la tabla de artículos

Una reserva con un pack recibe una fila extra por cada pack al final de cada tabla {{bookingItems}}, sean cuales sean las columnas que hayas elegido:

  • La columna del nombre (o la primera columna, si la tabla no tiene name) muestra Podcast duo kit: bundle discount 10%, con Includes: … debajo en letra pequeña gris.
  • La columna total contiene el importe en negativo, por ejemplo -19,20 €. Una tabla sin columna total pone el importe en la etiqueta: Podcast duo kit: bundle discount 10% (-$19.20).
  • Las demás celdas quedan vacías, y la fila no tiene número de fila.

Las filas de artículos mantienen sus precios completos, así que la tabla suma {{bookingTotal}} cuando se cuenta la fila del pack. Las plantillas creadas antes de que existieran los packs no necesitan ningún cambio.

Columnas de la tabla de servicios

index, name, price, priceType, total y blank:Label, además de totals para una fila de resumen con la suma de total.

Columnas de la tabla de productos vendidos

index, sku, name, qty, price, total y blank:Label, además de totals para una fila de resumen con las sumas de qty y total. Sin corchetes imprime name, qty, price y total, por ejemplo {{bookingSaleItems[index, sku, name, qty, price, total]}}.

Las columnas por unidad dividen las filas.serial y cualquier columna itemField_* describen una unidad física, así que al incluir cualquiera de ellas se imprime una fila por unidad en lugar de una fila por línea de producto. Una línea de 3 trípodes se convierte en tres filas, cada una con su propio número de serie.
Las columnas vacías desaparecen.image, sku, serial, full_price y full_price_total se quitan de la tabla impresa cuando ninguna fila tiene valor, para que el documento no lleve una columna en blanco. Una reserva en la que ningún producto tiene foto no imprime la columna image, y los SKU y los números de serie aparecen cuando se asignan las unidades. blank:Label es la excepción: está pensada para quedar vacía y siempre se imprime.
Consejo: con blank:Condition y blank:Signature, una tabla de artículos se convierte en un acta de entrega que el personal y el cliente rellenan con bolígrafo en el mostrador.

Variables de campos personalizados

Cada campo personalizado configurado a nivel Client (cliente), Booking (reserva) u Organization (organización) también está disponible como variable. Requiply crea la variable a partir de la clave del campo con un prefijo según el nivel:

Nivel de entidadPatrón de la variableEjemplo
Cliente{{clientField_<field key>}}{{clientField_passport_number}}
Reserva{{bookingField_<field key>}}{{bookingField_delivery_notes}}
Organización{{organizationField_<field key>}}{{organizationField_vat_number}}

Aparecen en el desplegable Insert variable (insertar variable) junto a las predefinidas, con el nombre del campo y su nivel, por ejemplo Passport number (Client). Los campos de casilla de verificación se muestran como Yes/No en el idioma del documento, y los campos de selección múltiple, como una lista separada por comas.

Los campos de fecha y de número se imprimen en el idioma del documento, igual que las columnas de tabla itemField_ y groupField_:

Tipo de campoDocumento en inglésDocumento en ucraniano
Date (fecha)10/13/2026 (primero el mes)13.10.2026
Date con hora10/13/2026 14:30, en formato de 24 h y en la zona horaria de la organización13.10.2026 14:30
Number2.5, con punto decimal2,5, con coma decimal

Los números se imprimen con dos decimales como máximo y sin separador de miles: 12500 sigue siendo 12500.

Consulta Campos de entidad para crear un campo y Configuraciones de nivel para vincularlo al nivel de cliente, de reserva o de organización.

Totales de campos de producto y de unidad

Un campo personalizado numérico a nivel de producto o de unidad se puede sumar para todo lo que hay en la reserva, por ejemplo el peso total para planificar el transporte o el consumo eléctrico total de la iluminación:

VariableSuma
{{groupFieldTotal_<field key>}}Un campo a nivel de producto, contado una vez por cada unidad reservada. Un producto que pesa 2,5 kg reservado 4 veces suma 10.
{{itemFieldTotal_<field key>}}Un campo a nivel de unidad, cada unidad reservada con su propio valor. Una unidad que aún no está asignada a la reserva cuenta con el valor por defecto del campo.
<p>Total weight: {{groupFieldTotal_weight_kg}} kg</p>

El resultado es un número sin más, con el formato del documento, por ejemplo 1,234.5 en inglés y 1 234,5 en ucraniano. No imprime nada cuando ninguna unidad reservada tiene valor en ese campo, así que envuélvela en {{#if groupFieldTotal_weight_kg}}…{{/if}} cuando también deba desaparecer la frase que la rodea.

Usa un campo Number: los valores que no se leen como número se omiten. Estas variables no están en el desplegable Insert variable, escríbelas a mano. Para mostrar la suma debajo de una columna de la tabla, añade la columna groupField_ o itemField_ y totals a una tabla de artículos, consulta Fila de totales.

Bloques condicionales

Las plantillas de exportación admiten una sola pieza de lógica: un bloque opcional que solo se imprime cuando una variable tiene valor.

{{#if bookingDeposit}}
  <p>Security deposit held: {{bookingDeposit}}</p>
{{/if}}

El contenido del bloque se mantiene cuando la variable tiene un valor no vacío y se elimina por completo cuando no lo tiene. Los bloques se pueden anidar. No hay ramas else, bucles ni comparaciones: cualquier otra cosa se queda en el documento como texto literal.

Los bloques condicionales son una función de las plantillas de exportación. Las plantillas de email no los admiten.

Cómo se generan los documentos

Cuando alguien exporta un documento desde una reserva:

  1. Requiply carga la plantilla y la reserva.
  2. Se resuelven los bloques condicionales y después cada variable se sustituye por los datos de la reserva. Los valores de texto se escapan como HTML para que el nombre de un cliente o una nota no puedan romper el diseño; las tablas de artículos y de servicios se insertan como HTML.
  3. El resultado se genera como un PDF en A4 con márgenes de 15 mm.
  4. El archivo se descarga como <template name>-<booking number>.pdf.

Las fechas y las horas se formatean en la zona horaria de la organización definida en Ajustes de fecha y hora, y los importes usan la moneda de la organización. Los encabezados de las tablas, la etiqueta Total: de una fila de totales, los valores Yes/No y el formato de los campos personalizados de fecha y de número siguen el idioma de la organización.

Dónde se usan las plantillas

El diálogo Choose export type muestra primero la factura en PDF y después cada plantilla de exportación por su nombre.

Las plantillas aparecen en el diálogo Export, al que el personal llega desde:

  • El botón dividido Export de cada fila en Gestionar reservas.
  • La acción de exportar en la página de detalle de una reserva.

El diálogo se titula Choose export type (elige el tipo de exportación) y muestra primero PDF Invoice y después cada plantilla de exportación por su nombre. Al elegir una plantilla y confirmar, se genera y se descarga ese documento para la reserva.

Casos habituales

Crear un contrato de alquiler

  1. Abre Create template y ponle el nombre Rental agreement.
  2. Deja el editor del contenido en modo HTML y organiza las secciones: partes, periodo de la reserva, equipos, cargos, responsabilidades y firmas.
  3. Inserta {{organizationName}}, {{clientName}}, {{bookingStartDateTime}}, {{bookingEndDateTime}} y {{bookingItems}} desde el desplegable Insert variable.
  4. Envuelve el párrafo de la fianza en {{#if bookingDeposit}}…{{/if}} para que desaparezca en las reservas sin fianza.
  5. Revisa la vista previa en directo y guarda.

Poner tu logo en un documento

Sube un logo para el modo claro en Información de la organización y añádelo al principio de la plantilla dentro de una etiqueta de imagen:

{{#if organizationLogoUrl}}
  <img src="{{organizationLogoUrl}}" alt="{{organizationName}}" style="max-height:60px;">
{{/if}}

El bloque {{#if …}} mantiene la plantilla limpia en una organización sin logo. La vista previa en directo no tiene logo, así que el bloque queda oculto ahí: exporta una reserva real para verlo.

Imprimir una lista de preparación con fotos y peso total

  1. Crea un campo Number como Peso (kg) con la clave weight_kg a nivel de producto y rellénalo en tus productos (consulta Campos de entidad).
  2. Crea una plantilla llamada Packing list y añade la tabla de artículos con fotos, tus propios encabezados y una fila de totales:
    {{bookingItems[index, image:Photo, name:Item, qty:Qty, groupField_weight_kg:Weight (kg), blank:Packed, totals]}}
    
  3. Debajo de la tabla, añade {{#if groupFieldTotal_weight_kg}}<p>Total weight: {{groupFieldTotal_weight_kg}} kg</p>{{/if}} y <p>Units to pack: {{bookingItemsQuantity}}</p>.

Las filas salen en el orden en que se añadieron los productos a la reserva, y la fila de totales bajo la columna del peso muestra el peso de todo lo que hay en la reserva.

Indicar el periodo de alquiler y el valor asegurado en un contrato

Escribe el periodo y el valor de los equipos con palabras que el cliente firma:

<p>Rental period: {{bookingDays}} days, from {{bookingStartDateTime}} to {{bookingEndDateTime}}.</p>
<p>Rent for the equipment: {{bookingItemsTotal}}.</p>
{{#if bookingItemsFullPriceTotal}}
  <p>Total value of the equipment handed over: {{bookingItemsFullPriceTotal}}.</p>
{{/if}}

Separar el alquiler y los productos vendidos en el resumen

Cuando una reserva incluye productos vendidos con Ventas, como tarjetas de memoria o baterías, muchos clientes quieren el alquiler y la compra en líneas separadas. Los dos totales están en el desplegable Insert variable como Booking total without sold items y Total of sold items:

<table>
  <tr><td>Rent and services</td><td>{{bookingRentTotal}}</td></tr>
  {{#if bookingSaleTotal}}
    <tr><td>Goods sold</td><td>{{bookingSaleTotal}}</td></tr>
  {{/if}}
  <tr><td><strong>Total to pay</strong></td><td><strong>{{bookingTotal}}</strong></td></tr>
</table>

Las dos líneas siempre suman {{bookingTotal}}. El bloque {{#if …}} oculta la línea de los productos en las reservas sin productos vendidos, así que una sola plantilla sirve para todas las reservas.

Dejar que el asistente lo redacte

Pulsa Create with Requiply Assistant junto al editor del contenido y describe el documento que necesitas. El asistente devuelve un borrador completo, listo para imprimir, con las variables correctas ya colocadas, que aplicas al editor con una sola pulsación. Consulta Requiply Assistant.

Recoger datos propios de tu negocio

Si tu contrato necesita un número de pasaporte, un número de IVA o una dirección de envío que Requiply no guarda por defecto, créalo primero como campo personalizado a nivel de cliente, de reserva o de organización. Después aparecerá en el desplegable Insert variable de todas las plantillas.

Consejos y precauciones

Consejo: crea los documentos en modo HTML. Los contratos y las actas necesitan tablas, encabezados y una estructura de página que el editor de texto enriquecido simplificaría.
Consejo: usa {{#if …}} para todo lo opcional: fianzas, notas de envío, campos personalizados que solo se rellenan a veces. Así una sola plantilla sirve para todas las reservas y no tienes que mantener varias casi idénticas.
Consejo: añade totals a una tabla en lugar de escribir las sumas en el texto que la rodea. La fila de resumen siempre coincide con las filas de arriba, incluidos los descuentos de los packs.
Atención: la vista previa en directo usa datos de ejemplo, no una reserva real. Exporta una reserva real una vez después de crear una plantilla para confirmar que las tablas y los importes quedan donde esperas.
Copyright © 2026