Template Fields
Fields define what information users enter when creating a matter. Each field has a type that determines how it’s displayed and validated.
Field Definition
Section titled “Field Definition”Every field has these properties:
"field_name": { "type": "text", "label": "Display Label", "required": true, "help": "Optional help text shown below the field"}| Property | Required | Description |
|---|---|---|
type | Yes | The field type (see below) |
label | Yes | Label shown to users |
required | No | Whether the field must be filled (default: false) |
help | No | Explanatory text shown below the field |
Field Types
Section titled “Field Types”A single-line text input. Use for names, references, and short text.
"given_names": { "type": "text", "label": "Given Names", "required": true}In documents: {{ client.given_names }}
textarea
Section titled “textarea”A multi-line text area. Use for addresses, notes, or longer text.
"notes": { "type": "textarea", "label": "File Notes", "required": false}In documents: {{ matter.notes }}
A date picker. Stores dates in ISO format (YYYY-MM-DD).
"date_of_birth": { "type": "date", "label": "Date of Birth", "required": false}In documents:
- Raw:
{{ client.date_of_birth }}→ “2026-01-15” - Formatted:
{{ client.date_of_birth | date("%-d %B %Y") }}→ “15 January 2026”
currency
Section titled “currency”A number input formatted as currency.
"purchase_price": { "type": "currency", "label": "Purchase Price", "required": true}In documents: {{ matter.purchase_price }} → “$150,000.00”
number
Section titled “number”A numeric input (no currency formatting).
"number_of_beneficiaries": { "type": "number", "label": "Number of Beneficiaries", "required": false}In documents: {{ estate.number_of_beneficiaries }}
A phone number input.
"phone": { "type": "phone", "label": "Phone Number", "required": false}In documents: {{ client.phone }}
An email address input with validation.
"email": { "type": "email", "label": "Email Address", "required": false}In documents: {{ client.email }}
select
Section titled “select”A dropdown menu with predefined options.
"state": { "type": "select", "label": "State", "options": ["NSW", "VIC", "QLD", "SA", "WA", "TAS", "NT", "ACT"], "required": true}In documents: {{ client.state }}
boolean
Section titled “boolean”A yes/no checkbox.
"has_will": { "type": "boolean", "label": "Deceased had a Will", "required": false}In documents: {{ estate.has_will }} → “true” or “false”
Optional Properties
Section titled “Optional Properties”Explanatory text shown below the field:
"re_line": { "type": "text", "label": "Re: Line", "help": "Brief description used in folder naming and correspondence"}placeholder
Section titled “placeholder”Placeholder text shown in empty fields:
"email": { "type": "email", "label": "Email",}default
Section titled “default”Default value pre-filled in the field:
"state": { "type": "select", "label": "State", "options": ["NSW", "VIC", "QLD", "SA", "WA", "TAS", "NT", "ACT"], "default": "NSW"}Field Naming Conventions
Section titled “Field Naming Conventions”Structure
Section titled “Structure”Fields are organised into blocks:
{{ block_name.field_name }}Common block names:
client— Client informationmatter— Matter detailsestate— Estate-specific (for Estates template)property— Property details (for Conveyancing)
Best Practices
Section titled “Best Practices”| Do | Don’t |
|---|---|
client.full_name | clientFullName |
matter.settlement_date | settlementDate |
estate.deceased_name | deceased |
Use lowercase with underscores. Be descriptive but concise.
Computed Fields
Section titled “Computed Fields”Some fields are calculated from other fields:
"full_name": { "type": "computed", "label": "Full Name"}Computed fields aren’t shown in forms — they’re calculated when generating documents.
Common computed fields:
full_name— Combines title, given names, and surnameaddress— Combines street, suburb, state, postcode
Required vs Optional
Section titled “Required vs Optional”Mark fields as required: true when:
- The field is essential for most documents
- Missing data would cause obvious problems
Mark fields as required: false when:
- The field is only needed sometimes
- Not all matters have this information
Example: Complete Client Block
Section titled “Example: Complete Client Block”"client": { "label": "Client Details", "fields": { "title": { "type": "select", "label": "Title", "options": ["Mr", "Mrs", "Ms", "Dr", "Prof"], "required": false }, "given_names": { "type": "text", "label": "Given Names", "required": true }, "surname": { "type": "text", "label": "Surname", "required": true }, "full_name": { "type": "computed", "label": "Full Name" }, "date_of_birth": { "type": "date", "label": "Date of Birth", "required": false }, "street_address": { "type": "text", "label": "Street Address", "required": true }, "suburb": { "type": "text", "label": "Suburb", "required": true }, "state": { "type": "select", "label": "State", "options": ["NSW", "VIC", "QLD", "SA", "WA", "TAS", "NT", "ACT"], "required": true, "default": "NSW" }, "postcode": { "type": "text", "label": "Postcode", "required": true }, "phone": { "type": "phone", "label": "Phone", "required": false }, "email": { "type": "email", "label": "Email", "required": false } }}