The n8n node

Templates

A template is HTML with Handlebars variables. pdfmill ships five polished starters you can render by id, and the dashboard editor lets you build your own with a live preview.

Template idPurposeVariables
invoiceLine items, totals, tax, and billing details.invoiceNumber, issuedAt, dueAt, paymentTerms, currency, from.{name,address,email,taxId}, billTo.{name,address,email}, items[].{description,quantity,unitPrice,lineTotal}, subtotal, taxRate, taxAmount, total, notes
quoteA sales quote with optional discount and terms.quoteNumber, issuedAt, validUntil, currency, preparedBy, from.{name,address,email}, prospect.{name,company,address}, items[].{description,quantity,unitPrice,lineTotal}, subtotal, discountRate, discountAmount, total, terms[]
reportA period report with KPIs, sections, and a comparison table.kicker, title, subtitle, periodStart, periodEnd, generatedAt, author, summary, kpis[].{label,value,delta,down}, sections[].{heading,body}, table.caption, table.rows[].{label,current,previous,change,direction}
certificateA landscape award / completion certificate.certificateNumber, organization, recipientName, programName, hours, grade, completedAt, issuedAt, issuerName, issuerTitle
packing-slipA shipment packing slip with line items and totals.orderNumber, orderedAt, shippedAt, carrier, trackingNumber, shipFrom.{name,address}, shipTo.{name,address}, items[].{sku,description,quantity}, totalItems, totalWeight, notes
template.hbs
<!-- Escaped by default; use triple-stache for trusted raw HTML -->
<h1>{{title}}</h1>

<!-- Nested paths and iteration -->
<p>Bill to {{billTo.name}}</p>
{{#each items}}
  <tr><td>{{this.description}}</td><td>{{this.quantity}}</td></tr>
{{/each}}

<!-- Deterministic helpers -->
<p>Issued {{formatDate issuedAt "long"}}</p>
<p>Total {{formatMoney total currency}}</p>