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.
When do you use this?
Section titled “When do you use this?”- 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
How it works: overview
Section titled “How it works: overview”- You once create a template (HTML + Twig placeholders) in Settings → PDF.
- An agent opens a property and clicks Handout.
- The agent selects your template + language + (optionally) a different agent profile.
- Tesoro fills the placeholders with the current property data, renders an HTML page, and converts it to a PDF.
- 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).
- Open Settings → PDF (in the sidebar it is under the TEMPLATES group).
- Click Manage Template Groups in the top right.
- Enter a group name (for example Brochures NL or Open House) and click Add.
- Close the panel with the cross in the top left.
Creating a template
Section titled “Creating a template”-
Settings → PDF → click + New template in the top right.
-
Fill in the three fields:
Field What Template group Required. Choose the group you created above. Template name Descriptive name, for example Luxury brochure 2026. Template interface Currently only Property is available, that links the template to a property detail page. -
Click Save. You are automatically taken to the code editor of the new template.
Writing the template code
Section titled “Writing the template code”After Save a code editor opens. Here you type HTML + Twig: the heart of your template.
What’s at the top?
Section titled “What’s at the top?”- 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.
Twig tags for dynamic data
Section titled “Twig tags for dynamic data”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 %}Multilingual templates
Section titled “Multilingual templates”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.
Generating a PDF from a property
Section titled “Generating a PDF from a property”For end users, this is how an agent uses the templates you have created:
- Open a property → click Handout in the top right.
- A panel opens with all available templates.
- Optional: choose a different Agent at the top of the panel, useful when you send a brochure on behalf of a colleague.
- Optional: choose a Language: shows only templates available in that language.
- Click the download icon next to the desired template. Tesoro opens a new tab where the PDF appears.
Common pitfalls
Section titled “Common pitfalls”<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 pathproperty.photosdoes 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: avoidto 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.
For Claude Code users: install the skill
Section titled “For Claude Code users: install the skill”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.
Fastest installation
Section titled “Fastest installation”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.mdOr via zip download (offline bundle with installation instructions)
Section titled “Or via zip download (offline bundle with installation instructions)”curl -fsSL https://kb.tesorohq.io/skills/tesoro-pdf-template/tesoro-pdf-template.zip \ -o /tmp/tesoro-pdf-template.zipmkdir -p ~/.claude/skillsunzip -o /tmp/tesoro-pdf-template.zip -d ~/.claude/skills/rm /tmp/tesoro-pdf-template.zipThen restart Claude Code (or type /reload-plugins in a chat). Claude automatically recognizes the skill when you ask a Tesoro PDF template question.
What do you get?
Section titled “What do you get?”- 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
Example prompts
Section titled “Example prompts”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?