Ir al contenido
Ayuda Agent dev Tesoro CRM

Plantillas PDF: folletos de propiedades personalizados

Las plantillas PDF generan folletos, resúmenes para propietarios y documentos para open house. Usted escribe la plantilla una vez en HTML (con etiquetas Twig para los campos dinámicos), Tesoro completa los datos actuales de la propiedad en cada descarga y convierte el resultado en un PDF.

  • Crear un folleto con la identidad corporativa de su oficina (logo, colores, tipografías)
  • Plantillas separadas para segmento de lujo, segmento estándar, open house, resumen para propietario
  • Modificar una plantilla existente porque el precio no aparece, falta el logo o la descripción se ve extraña
  1. Usted crea una plantilla una única vez (HTML + placeholders Twig) en Settings → PDF.
  2. Un agente abre una propiedad y hace clic en Hand-out.
  3. El agente elige su plantilla + idioma + (opcionalmente) otro perfil de agente.
  4. Tesoro completa los placeholders con los datos actuales de la propiedad, renderiza una página HTML y la convierte en un PDF.
  5. El PDF se abre en una nueva pestaña, el agente lo descarga y lo comparte con el cliente.

Preparación: cree primero un Template Group

Sección titulada «Preparación: cree primero un Template Group»

Antes de que pueda crear una plantilla, necesita al menos un Template Group. Las plantillas se organizan en grupos (útil cuando tiene docenas de ellas).

  1. Abra Settings → PDF (en la barra lateral está bajo el grupo TEMPLATES).
  2. Haga clic en Manage Template Groups en la parte superior derecha.
  3. Escriba un nombre de grupo (por ejemplo, Brochures NL o Open House) y haga clic en Add.
  4. Cierre el panel con la cruz en la parte superior izquierda.
Crear un grupo, escriba un nombre y haga clic en Add.
Diálogo de Manage Template Groups
Desde esta vista general administra todas las plantillas. + New template en la parte superior derecha inicia una nueva.
Vista general de plantillas PDF con botón + New template en la parte superior derecha
  1. Settings → PDF → haga clic en + New template en la parte superior derecha.

  2. Complete los tres campos:

    CampoDescripción
    Template groupObligatorio. Elija el grupo que creó anteriormente.
    Template nameNombre descriptivo, por ejemplo, Folleto de lujo 2026.
    Template interfaceActualmente solo disponible Property: que vincula la plantilla a la página de detalle de la propiedad.
  3. Haga clic en Save. Automáticamente accederá al editor de código de la nueva plantilla.

Template group es obligatorio, no puede crear una plantilla sin un grupo existente.
New template modal con los tres campos obligatorios

Después de Save se abre un editor de código. Aquí escribe HTML + Twig: el corazón de su plantilla.

Un editor de código normal con números de línea. Arriba: tipo Property, Template Group y el idioma activo.
Editor de código para plantilla PDF con números de línea y selector de idioma
  • Insignia Property: confirma la Template Interface
  • Menú desplegable Template Group: puede modificarlo aún
  • Selector de idioma (derecha), cambie entre versiones de idioma (NL, EN, ES, …). Cada idioma tiene su propia versión HTML de la misma plantilla.

Tesoro reemplaza placeholders como {{ property.name }} con el valor actual en el momento en que se genera el PDF. Algunos patrones útiles:

{# Eenvoudige variabele afdrukken, prijs komt al met valutateken #}
{{ property.name }}
{{ property.price }}
{# Toon alleen wanneer er data is, voorkomt lege regels en em-dashes #}
{% if property.number_of_bedrooms %}
<li>Slaapkamers: {{ property.number_of_bedrooms }}</li>
{% endif %}
{# Eerste niet-lege waarde gebruiken #}
{{ property.description.title | default(property.name) | default('Woning') }}
{# Foto's, maximaal 6 in de galerij, kleinere PDF #}
{% for img in images | slice(0, 6) %}
<img src="{{ img }}" alt="" style="width: 100%;">
{% endfor %}
{# Bedrijfslogo met tekst-fallback als geen logo is geüpload #}
{% if company.logo %}
<img src="{{ company.logo }}" alt="{{ company.name }}" style="height: 16mm;">
{% else %}
<strong>{{ company.name }}</strong>
{% endif %}

¿Desea su folleto en más idiomas? Cambie en la parte superior derecha del editor a otro idioma y pegue allí el HTML traducido. Tesoro elige automáticamente la versión de idioma correcta al usar Hand-out.

Haga clic en Save en la parte superior derecha. A partir de ahora, cada agente puede seleccionar su plantilla mediante el botón Hand-out.

Para usuarios finales, así usa un agente las plantillas que usted ha creado:

  1. Abra una propiedad → haga clic en Hand-out en la parte superior derecha.
  2. Se abre un panel con todas las plantillas disponibles.
  3. Opcional: elija otro Agent en la parte superior del panel, útil cuando envía un folleto en nombre de un colega.
  4. Opcional: elija un Language: muestra solo las plantillas disponibles en ese idioma.
  5. Haga clic en el icono de descarga junto a la plantilla deseada. Tesoro abre una nueva pestaña donde aparece el PDF.
El agente elige un agente, idioma, y luego la plantilla deseada.
Hand-out diálogo en una propiedad con lista de plantillas
  • <br /> visible en la descripción: la descripción de la propiedad ya contiene saltos de línea en HTML. Use {{ property.description.text | striptags('<br>') | raw }} en lugar de | nl2br.
  • Las fotos no aparecen: use {{ images.0 }}, {{ images.1 }}, etc. La ruta property.photos no existe.
  • El logo falta en el PDF: primero suba el logo a través de Settings → Company Settings. De lo contrario, {{ company.logo }} está vacío y el bloque de la empresa queda en blanco. Use la alternativa de texto anterior para manejarlo correctamente.
  • El PDF se vuelve muy grande: limite la cantidad de fotos a 6 u 8 con images | slice(0, 6). Muchas fotos grandes hacen que el PDF sea pesado para adjuntos de correo electrónico.
  • El diseño se rompe en medio de una fila: agregue page-break-inside: avoid a las filas de tabla y encabezados, para que no se dividan en dos páginas.
  • El bloque de agente muestra una línea vacía: ¿no seleccionó un agente en Hand-out? Envuelva el bloque de agente en {% if agent and agent.name %}...{% endif %} para que desaparezca en lugar de mostrar un bloque vacío.

Para usuarios de Claude Code: instalar la skill

Sección titulada «Para usuarios de Claude Code: instalar la skill»

¿Trabaja con Claude Code? Compartimos una skill completa tesoro-pdf-template que agrupa todo el conocimiento de plantillas. Claude primero hace preguntas específicas (público objetivo, extensión, orientación, idioma, marca) y luego genera una plantilla lista para copiar y pegar.

Ventana de terminal
mkdir -p ~/.claude/skills/tesoro-pdf-template && \
curl -fsSL https://kb.tesorohq.io/skills/tesoro-pdf-template/SKILL.md \
-o ~/.claude/skills/tesoro-pdf-template/SKILL.md

O mediante descarga zip (paquete sin conexión con instrucciones de instalación)

Sección titulada «O mediante descarga zip (paquete sin conexión con instrucciones de instalación)»
Ventana de terminal
curl -fsSL https://kb.tesorohq.io/skills/tesoro-pdf-template/tesoro-pdf-template.zip \
-o /tmp/tesoro-pdf-template.zip
mkdir -p ~/.claude/skills
unzip -o /tmp/tesoro-pdf-template.zip -d ~/.claude/skills/
rm /tmp/tesoro-pdf-template.zip

Luego reinicie Claude Code (o escriba /reload-plugins en un chat). Claude reconoce la skill automáticamente cuando usted hace una pregunta sobre plantillas PDF de Tesoro.

  • Una lista completa de campos disponibles (propiedad, propietario, agente, empresa)
  • Cuatro plantillas de ejemplo para usar como punto de partida
  • Biblioteca de snippets, héros, diseños de galería de fotos, bloques de contacto, divisores de sección
  • Patrones para ocultar valores vacíos correctamente
  • Un cuestionario que Claude recorre antes de escribir código, para que el resultado se ajuste a lo que necesita

Pegue uno de estos en Claude Code para comenzar:

Maak een PDF-template voor een open-house handout in Tesoro. Eén pagina, NL, met grote hero-foto.
Mijn property brochure heeft een lelijke titel, kun je de fallback verbeteren? Ik plak de bestaande template.
Ik wil een eigenaarsoverzicht met owner_net_price en commissie. Welke variabelen moet ik gebruiken?