# Template Architecture — How Print Templates Are Structured

> How Print templates are organized: sections, repeating blocks, conditional content, multi-platform data sources, and calculation variables.
> Help → Print → Template Architecture

URL: https://thatapp.io/help/print/print-template-architecture
Category: Print

---

---

Print templates support several structural features that go beyond simple variable insertion. This article covers the full architecture.

**Sections**

A template is divided into sections. Each section can have:
- Its own formatting (margins, columns, background)
- A data source (the Podio app, Salesforce object, etc. that section's variables pull from)
- Conditional display rules (show this section only if a condition is met)

Sections are defined in the template editor's Sections panel.

**Repeating blocks**

A repeating block is a section that repeats once for each item in a list. Examples:
- A line item section that repeats for each invoice line item
- A project task section that repeats for each task in a project
- A comment section that repeats for each comment on a record

Set a section as repeating in the Sections panel. Select the related app or list field that drives the repetition.

**Conditional content**

Any section or any block of text can be conditionally displayed:
- Show this section only if the Status field is "Approved"
- Show this line of text only if the Total field is greater than $10,000
- Show this warning block only if the Payment field is empty

Set conditions in the section or element settings.

**Multi-platform data sources**

A single template can pull data from multiple connected platforms. For example, a client report might pull:
- Client name and contact from Podio
- Invoice total from QuickBooks
- Last sales activity from Salesforce

Each section specifies its data source. Variables in that section pull from that source.

**Calculation variables**

Variables can include simple calculations:
- `{{invoice.total * 1.08}}` — apply a tax rate
- `{{project.end_date - project.start_date}}` — calculate duration
- `{{SUM(line_items.amount)}}` — sum a list field

**Related:** Variables — Pulling Data Into Your Document · Tables, Lists, and Comments in Templates
