Skip to content

Data markers and variables

A data marker is a placeholder that gets replaced with a real value when your template runs. This is the most common thing you’ll write.

Wrap the marker name in double curly braces:

Your reference is {{matter.reference}}.

Output:

Your reference is MAT-000123.

Some marker names are reserved for the system. A marker is always a system marker when it starts with one of these reserved prefixes:

case, collections, currentuser, ledger, matter, organisation, receipt, recipient, report, settings, signature, staff, stakeholder, team

Your organisation’s custom fields can never use one of these prefixes — they’re kept aside for built-in data such as matter.name, matter.reference, or stakeholder.client.1.fullname.

Not every built-in marker uses a reserved prefix, though. Some provided fields have their own names, such as property.price. Your organisation’s custom fields also use names outside the reserved list — for example, a completion date might be keydates.completion.

A data marker name:

  • is made of one or more parts separated by dots — e.g. matter.address.postcode;
  • uses only lowercase letters, numbers, and underscores (_);
  • must have a first part that starts with a letter or underscore — not a number;
  • may have later parts that start with a number — e.g. title.1.volume;
  • must not end with a dot or contain an empty part.
ValidNot validWhy
m(blank)A marker can’t be empty.
matter.name1A marker can’t be just a number.
stakeholder._client.1.forename1stThe first part can’t start with a number.
title.1.volumematter.A marker can’t end with a dot.

Contact details are exposed as stakeholder markers. You can reach a stakeholder by name, by position (using an underscore prefix), or as a whole list.

MarkerExample value
stakeholder.client.1.forenameJohn
stakeholder.client.1.surnameSmith
stakeholder.client.1.fullnameJohn James Smith
stakeholder.client.1.emailjohn.smith@example.com
stakeholder._client.1.fullnameJohn James Smith (by position)
stakeholder.client.listJohn Smith and Mary Smith
stakeholder.client.count2

Variables are values you create inside a template (see Maths and Composition). They always start with a dollar sign $ and follow the same naming rules as data markers:

{{#var $total = property.price / 10}}
Deposit: {{$total}}
NameWhat it gives you
$nowThe current date and time. Usually formatted with #datetime, e.g. {{#datetime $now 'd mmmm yyyy'}}.
$parent.<marker>Inside a #foreach loop, reaches data from outside the loop. See Loops.

Two settings markers hold current tax rates and are always available — handy in calculations (see Maths):

MarkerWhat it gives you
settings.ukvatrateCurrent UK VAT rate (e.g. 20)
settings.ausgstrateCurrent Australian GST rate (e.g. 10)
{{#var $vat = property.price / 100 * settings.ukvatrate}}
VAT: {{$vat}}
  • If you use a marker that isn’t recognised, it’s flagged with a message such as matter.foo is not defined so you can spot the mistake. The marker outputs nothing, and the template can still be saved — but it’s worth fixing so your content doesn’t end up with unexpected blanks.
  • If a marker is recognised but has no value, it simply outputs nothing (a blank).

← Syntax basics · Contents · Conditionals →