Using variables in text editors
Several Lumos editors offer reusable templates: service agreement templates, quote and invoice email templates, Google review request messages. Rather than rewriting the same information for every engagement, you insert variables that Lumos automatically replaces with real values when generating the document.
This mechanism is found in most modern professional tools. Once the logic is understood, maintaining your templates becomes trivial.
How a variable works
A variable is written between double curly braces: {{Property Address}}. When Lumos prepares a document from a template, it looks for each variable in the text and replaces it with the corresponding value from the project, the inspection, or your profile.
Three Lumos editors rely on this mechanism:
- Business Configuration > Service Agreements — service agreement templates.
- Business Configuration > Quote & Invoice — quote and invoice email templates.
- Business Configuration > Google Reviews — Google review request message.
The available catalog of variables depends on the editor: a contract template has variables that a Google review email does not, and vice versa. See the catalog below for details.
How to insert a variable
Two methods:
- From the variable list displayed next to the editor, click the one you want to insert. The variable lands at the cursor, with no risk of typo.
- By keyboard, type directly between double curly braces, respecting spelling and case. A misspelled variable, for example
{{property address}}instead of{{Property Address}}, will not be replaced and will appear literally in the final document.
Before saving a template, use the Preview button: Lumos fills variables with mock data so you can see the rendering.
The catalog by category
Business variables
From My Profile > Business.
| Variable | Replaced with |
|---|---|
{{Company Name}} | Your business name |
{{Company Address}} | Your business address |
{{City}} | Your business city |
{{Province}} | Your business province |
{{Postal Code}} | Your business postal code |
Inspector variables
From My Profile > Personal and Signature.
| Variable | Replaced with |
|---|---|
{{Inspector Name}} | Your full name, formatted for emails and signatures |
{{Inspector Signature}} | The image of your electronic signature |
Client variables
From the current project.
| Variable | Replaced with |
|---|---|
{{Client Name}} | Client’s name |
{{Address}} | Client’s address (not to be confused with the inspected property’s address) |
Inspected property variables
From the building tied to the project.
| Variable | Replaced with |
|---|---|
{{Property Address}} | Inspected property’s address |
{{Property City}} | Property’s city |
{{Property Province}} | Property’s province |
{{Property Postal Code}} | Property’s postal code |
Inspection variables
From the inspection associated with the generated document.
| Variable | Replaced with |
|---|---|
{{Inspection Date}} | Inspection date |
{{Inspection Time}} | Inspection time |
{{Contract Number}} | Contract number (same as project number) |
{{Total Price}} | Total billed amount, taxes included |
{{Report Delay (days)}} | Report delivery delay, in days, taken from Business Configuration > Service Agreements |
{{Norm Name}} | Name of the applicable inspection standard |
{{BNQ Norm Link}} | Link to the standard |
System variables
Computed by Lumos at generation time.
| Variable | Replaced with |
|---|---|
{{Contract Date}} | Contract signing date |
{{Today (Full)}} | Today’s date, long format (for example “May 6, 2026”) |
{{Signature Line}} | Reserved space for the signature in the document |
Polymorphic variables: {{Full Name}}, {{Phone}}, {{Email}}
In the default contract template, these three variables appear in two places: the section identifying THE INSPECTOR and the section identifying THE CLIENT. The same variable takes a different value depending on the section it sits in.
When creating your own contract template, keep this logic: place these variables in the appropriate section, otherwise the rendering will mix your details with your client’s.
A few rules to remember
A misspelled variable is not replaced. It appears as-is in the document, double curly braces included. Always check the preview after editing.
A variable that has no available value at generation time also stays empty or literal. For example, {{Total Price}} in an email sent before the final amount is set will not be replaced. Fill source fields before generating the document.
A template that contains a variable foreign to its context sees that variable stay literal. An inspection variable inserted in a Google review email sent well after the inspection might not be replaced. Choose variables relevant to the document’s send time.
See also
- Business Configuration — the three editors where variables are used
- My Profile — sources of business and inspector variables