Skip to content
Helpdesk Agent dev Tesoro CRM

PDF templates: Custom property brochures

PDF templates deliver brochures, owner overviews, and open house handouts. You write the template once in HTML (with Twig tags for dynamic fields), Tesoro fills in the current property data with each download and converts the result to a PDF.

  • Create a branded brochure for your office (logo, colors, fonts)
  • Separate templates for luxury segment, standard segment, open house, owner overview
  • Modify an existing template because the price isn’t showing, the logo is missing, or the description looks strange
  1. You once create a template (HTML + Twig placeholders) in Settings → PDF.
  2. An agent opens a property and clicks Handout.
  3. The agent selects your template + language + (optionally) a different agent profile.
  4. Tesoro fills the placeholders with the current property data, renders an HTML page, and converts it to a PDF.
  5. The PDF opens in a new tab, the agent downloads and shares it with the client.

Preparation: first create a Template Group

Section titled “Preparation: first create a Template Group”

Before you can create a template, you need at least one Template Group. Templates are organized in groups (useful when you have dozens).

  1. Open Settings → PDF (in the sidebar it is under the TEMPLATES group).
  2. Click Manage Template Groups in the top right.
  3. Enter a group name (for example Brochures NL or Open House) and click Add.
  4. Close the panel with the cross in the top left.
Creating a group, enter a name and click Add.
Manage Template Groups dialog
From this overview you manage all templates. + New template in the top right starts a new one.
PDF templates overview with + New template button top right
  1. Settings → PDF → click + New template in the top right.

  2. Fill in the three fields:

    FieldWhat
    Template groupRequired. Choose the group you created above.
    Template nameDescriptive name, for example Luxury brochure 2026.
    Template interfaceCurrently only Property is available, that links the template to a property detail page.
  3. Click Save. You are automatically taken to the code editor of the new template.

Template group is required, you cannot create a template without an existing group.
New template modal with the three required fields

After Save a code editor opens. Here you type HTML + Twig: the heart of your template.

A standard code editor with line numbers. At the top: Property type, Template Group, and the active language.
Code editor for PDF template with line numbers and language selection button
  • Property badge, confirms the Template Interface
  • Template Group dropdown, you can still change it
  • Language selection (right), switch between language versions (NL, EN, ES, …). Each language has its own HTML version of the same template.

Tesoro replaces placeholders like {{ property.name }} with the current value at the time the PDF is generated. A few handy patterns:

{# 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 %}

Do you want your brochure in multiple languages? Switch to another language at the top right of the editor and paste the translated HTML there. Tesoro automatically selects the correct language version when generating the Handout.

Click Save in the top right. From now on, every agent can select your template via the Handout button.

For end users, this is how an agent uses the templates you have created:

  1. Open a property → click Handout in the top right.
  2. A panel opens with all available templates.
  3. Optional: choose a different Agent at the top of the panel, useful when you send a brochure on behalf of a colleague.
  4. Optional: choose a Language: shows only templates available in that language.
  5. Click the download icon next to the desired template. Tesoro opens a new tab where the PDF appears.
The agent selects an agent, language, and then the desired template.
Handout dialog on a property with template list
  • <br /> visible in description: the property description itself contains line breaks in HTML. Use {{ property.description.text | striptags('<br>') | raw }} instead of | nl2br.
  • Photos not appearing: use {{ images.0 }}, {{ images.1 }}, etc. The path property.photos does not exist.
  • Logo missing in the PDF: first upload the logo via Settings → Company Settings. Otherwise {{ company.logo }} is empty and the company block remains white. Use the text fallback above to handle this neatly.
  • PDF becomes very large: limit the number of photos to 6, 8 with images | slice(0, 6). Many large photos make the PDF heavy for email attachments.
  • Layout breaks mid-row: add page-break-inside: avoid to table rows and headings, so they don’t span across two pages.
  • Agent block shows an empty dash: no agent selected at Handout? Wrap the agent block in {% if agent and agent.name %}...{% endif %} so it disappears instead of showing an empty block.

Do you work with Claude Code? We share a complete skill tesoro-pdf-template that bundles all template knowledge. Claude first asks targeted questions (target audience, length, orientation, language, branding) and then generates a copy-paste-ready template.

Terminal window
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

Or via zip download (offline bundle with installation instructions)

Section titled “Or via zip download (offline bundle with installation instructions)”
Terminal window
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

Then restart Claude Code (or type /reload-plugins in a chat). Claude automatically recognizes the skill when you ask a Tesoro PDF template question.

  • A complete list of available fields (property, owner, agent, company)
  • Four example templates to use as a starting point
  • Snippet library, heroes, photo gallery layouts, contact blocks, section dividers
  • Patterns to neatly hide empty values
  • A questionnaire that Claude goes through before writing code, so the result matches what you need

Paste one of these into Claude Code to get started:

Create a PDF template for an open house handout in Tesoro. One page, EN, with a large hero photo.
My property brochure has an ugly title, can you improve the fallback? I'll paste the existing template.
I want an owner overview with owner_net_price and commission. Which variables should I use?