Merge Fields Within Service and Subservice Content
Service descriptions and language fields for services and subservices support dynamic merge fields. These work similarly to the merge fields used in document generation templates: wrap the field name in double curly braces to pull in project-specific data wherever the text appears.
How to Use Merge Fields
To include a merge field in a service description or subservice language field, wrap the field name in double curly braces. For example, to reference the quantity configured on the project, write:
{{quantity}}You can embed merge fields naturally within a sentence. For example:
Install {{quantity}} routers at {{service_location_name}}.When a document is generated, ScopeStack replaces each merge field with the actual project data for that service or subservice.
On this screen: The Service Language tab of the project services editor is open, with “Service Description” selected in the “Show / edit content for:” dropdown. A service row shows its name on the left and a rich text editor on the right containing example text like
Install {{quantity}} routers at {{service_location_name}}.The double-curly-brace syntax is typed directly into the editor field and appears as plain text at this stage.
On this screen: A generated document shows the service description as it appears after document generation. The merge field placeholders have been replaced with actual project data — for example,
{{quantity}}has been replaced with the numeric quantity configured on the project, and{{service_location_name}}has been replaced with the name of the service location assigned to that service.
Available Merge Fields
| Merge Field | Description |
|---|---|
quantity | Quantity of the service or subservice as configured on the project |
client_name | Name of the client on the project |
business_unit_name | Name of the business unit on the project |
service_name | Name of the service |
subservice_name | Name of the subservice (available on subservices only) |
extended_hours | Total calculated hours based on the quantity configured on the project |
service_location_name | Name of the service location for this service |
service_location_address | Address of the service location for this service |
service_location_remote? | Whether the service location is remote (most useful for multi-site projects) |
When to Use Service-Level Merge Fields
Service-level merge fields are most useful when:
- You want service descriptions to reflect the specific quantity a client has scoped, rather than using static language
- You are building multi-site projects and need location-specific descriptions for each service
- You want to reference the client name or business unit inline within service content to reduce manual editing after scoping
For multi-site projects, service_location_name and service_location_address are particularly useful — they pull the location assigned to each individual service, so the same service template can produce distinct, location-accurate descriptions across all sites.