Locksmithy help
Merge field guide
Merge fields automatically insert information such as a customer name, job number or invoice total. Message templates and DOC templates use different field lists, so choose the correct section below.
Important: unsupported or unavailable fields render blank. Always preview or generate a test document before publishing a template.
Email and SMS message fields
Type the field exactly, including both pairs of braces. The collection queue automation supports recipient, customer, job, business and date fields. Staff fields work only when that workflow supplies a staff member.
Example message
Hi {{recipient.first_name}}, job {{job.number}} is ready for collection from {{business.name}}. Please contact us on {{business.phone}}.The live automatic collection triggers are
out_front_week and out_front_month. Other trigger names shown in Admin are reserved for their named workflow and must be live-tested before being relied on as an automatic sender.DOC template fields
DOC templates support document-specific fields and formatted totals. Use the document type that matches the field prefix.
| Group | Common fields | Use |
|---|---|---|
| Business | {{business.name}}{{business.abn}}{{business.address.full}} | All documents |
| Customer | {{customer.full_name}}{{customer.email}}{{customer.billing_address}} | Customer-linked documents |
| Vehicle | {{vehicle.registration}}{{vehicle.vin}}{{vehicle.make}} {{vehicle.model}} | Jobs, quotes and invoices with a vehicle |
| Job | {{job.display_number}}{{job.job_description}}{{job.location_address}} | Job sheets and linked documents |
| Quote | {{quote.display_number}}{{quote.expiry_date}}{{quote.total}} | Quote templates |
| Invoice | {{invoice.display_number}}{{invoice.due_date}}{{invoice.amount_paid}} | Invoice templates |
| Order | {{order.display_number}}{{order.required_date}}{{order.notes}} | Internal order templates |
| Purchase order | {{purchase_order.display_number}}{{supplier.name}}{{supplier.standing_reference}}{{purchase_order.total}} | Purchase-order templates |
| Optional barcode | {{document.barcode}}{{document.barcode_value}} | Place {{document.barcode}} by itself where you want a Code 128 barcode containing the document's relevant record number. If omitted, no barcode is added. |
| Formatted totals | {{totals.subtotal_formatted}}{{totals.tax_formatted}}{{totals.total_formatted}} | Australian-dollar totals |
Repeating item rows
Place the opening loop tag in the first cell of the DOCX table row and the closing tag in the final cell of the same row.
{{#items}}{{line_number}}
{{part_number}}
{{description}}
{{quantity}}
{{unit_price_formatted}}
{{line_total_formatted}}{{/items}}Everything between {{#items}} and {{/items}} repeats once for each line item.
Editing rules
- Keep spelling, dots and underscores exact.
- Use double braces:
{{field.name}}. - Do not split one merge field across different DOCX fonts, colours or text runs.
- Keep every
{{#items}}opening tag paired with one{{/items}}closing tag. - Upload DOCX templates, not old
.docfiles. - Generate a sample after every template change.
- For an optional Code 128 record barcode, place
{{document.barcode}}by itself in the DOCX template. The barcode contains the relevant Job, Quote, Invoice, Order or Purchase Order number. - Unknown fields and fields with no matching record normally render blank.
- Replacing a template does not change documents that were already generated.
Message fields are not DOC fields. For example, messages use
{{job.number}}, while DOC job sheets use {{job.display_number}}.