Adding Contract details to Emails and Invoice Templates
{contract}Â is template function can be used in email templates and invoice template to dynamically load related contract details
Usage
In email templates you wish to attach something, use following tag:
{contract [attributes]}
Available attributes:
Attribute Name | Type | Required | Description |
---|---|---|---|
id | int | Yes | Related item (invoice,account,order,domain) id |
for | string | Yes | Item type, one of: invoice, account, order, domain |
multiple | bool | No | When set to false (default), function will load single contract details into  {$contract} template variable. When set to true function will load multiple contracts (if any) to {$contracts} variable. Use true with type='invoice' or type='order' |
Contract details available
Contract is loaded from database and gives you access to following details:
Variable | Type | Description |
---|---|---|
{$contract.id} | int | Database contract id |
{$contract.number} | int | Human-readable contract number |
{$contract.created_at} | datetime | Contract creation date |
{$contract.accepted_at} | datetime | If accepted, contract acceptance date |
{$contract.accepted_by} | string | If accepted, person who accepted contract |
{$contract.expires} | date | Contract expiration date (if any) |
{$contract.status} | string | One of:Â 'Draft','Pending','Active','Expired','Canceled' |
{$contract.public_notes} | string | Public notes added to contract |
Use in invoice template
To load all contracts related to invoice into its template, edit invoice template in Settings→Billing→Document Templates and add:
{contract for='invoice' id=$invoice.id multiple=true}
Below this call execution you will get access to  {$contracts} array:
{foreach from=$contracts item=contract} Related contract: {$contract.number} {/foreach}
Use in email template
To load contract related to account/domain/order into related email template, edit email template in Settings→Email templates and add
For account-related emails:
{contract for='account' id=$service.id}
For domain-related emails:
{contract for='domain' id=$domain.id}
Below above call executions you will get access to  {$contract} array:
Related contract: {$contract.number}
For order-related emails:
{contract for='order' id=$order.id multiple=true}
Below this call execution you will get access to  {$contracts} array:
{foreach from=$contracts item=contract} Related contract: {$contract.number} {/foreach}