Smart variables
Every placeholder Tillage fills in automatically, what it inserts, and where each one works.
Smart variables are placeholders in curly braces, such as {clientName}, that Tillage replaces with real values when a document is shown or an email is sent. Write a template or email once and it reads correctly for every client.
Variables are case sensitive and must be typed exactly as shown. A variable that doesn’t apply where you use it is left out or shows as blank, so check the preview before you send.
Where to insert them
- Rich text editors (quote and line item descriptions, contract text blocks, email messages): click the ✨ button in the toolbar.
- Plain fields (email subjects, recurring invoice names, contract title formats): use the Insert Variable or variables menu next to the field.
You can also type a variable by hand.
Dates are written out in full, like November 1, 2026. Amounts use your team’s currency.
Client
Work in quotes, line item and service descriptions, contracts, and invoice titles created from schedules.
| Variable | Inserts | Example |
|---|---|---|
{clientName} |
Client company name | Acme Corporation |
{clientContact} |
Primary contact’s full name | John Smith |
{clientEmail} |
Primary contact’s email | john@acme.com |
{clientPhone} |
Primary contact’s phone | +1 (555) 123-4567 |
{clientAddress} |
Client address | 123 Business St, City, State |
{clientWebsite} |
Client website | https://acme.com |
{clientIndustry} |
Client industry | Technology |
{clientSize} |
Company size | Medium (50-200 employees) |
The primary contact is the one marked primary on the client, or the first contact if none is.
Quote and project
Work in the same places as client variables, when there’s a quote behind the document.
| Variable | Inserts |
|---|---|
{projectName} |
The quote’s project name |
{quoteNumber} |
The quote number |
{quoteDate} |
The quote’s issue date |
{expiryDate} |
The quote’s expiry date |
{acceptanceDate} |
The date the client responded to the quote |
Your business
| Variable | Inserts |
|---|---|
{businessName} |
Your business name |
{businessEmail} |
Your business email |
{businessPhone} |
Your business phone |
These come from Business and branding.
Contracts
Contract text blocks support every client, quote and business variable above, plus:
| Variable | Inserts |
|---|---|
{contractNumber} |
The contract number |
{contractDate} |
The date the contract was created |
{effectiveDate} |
The contract’s effective date, or the created date if none is set |
{totalAmount} |
The quote total, as currency |
Payment schedule blocks
A payment schedule block’s description and payment names also support:
| Variable | Inserts |
|---|---|
{invoiceCount} |
How many invoices the schedule creates |
{invoiceAmount} |
The first invoice’s amount in the description, or that payment’s amount in a payment name |
{firstInvoiceDueDate} |
The first invoice’s due date in the description, or that payment’s due date in a payment name |
{sequence}, {totalCount} |
In payment names only, for labels like “Payment {sequence} of {totalCount}” |
Service agreements
Ongoing service blocks in service agreements support:
| Variable | Inserts |
|---|---|
{serviceName} |
The service name |
{serviceDescription} |
The service description |
{serviceRate} |
The service rate |
{serviceBillingFrequency} |
How often it’s billed |
{serviceStartDate}, {serviceEndDate} |
The service period |
{firstInvoiceDate} |
The first invoice’s issue date |
{recurringFrequency} |
The recurring invoice frequency |
{recurringTotal} |
The recurring invoice total |
See Contract templates.
Recurring invoice names
Use these in a billing schedule’s Invoice Name, and in invoice titles for payment schedules. They’re filled in for each invoice as it’s created, based on that invoice’s issue date.
| Variable | Inserts | Example |
|---|---|---|
{month} |
Month of the issue date | November |
{year} |
Year of the issue date | 2026 |
{monthYear} |
Month and year | November 2026 |
{nextMonthYear} |
The following month and year | December 2026 |
{nextYear} |
The following year | 2027 |
{quarter} |
Quarter number, 1 to 4 | 4 |
{frequency} |
Billing frequency | Monthly |
{sequence} |
This payment’s number in a payment schedule | 2 |
{totalCount} |
Total payments in the schedule | 5 |
{milestoneName} |
The milestone’s description | Design phase complete |
{invoiceNumber} |
The invoice number | INV-0042 |
{issueDate} |
The issue date | November 1, 2026 |
{dueDate} |
The due date | November 15, 2026 |
{amount} |
The invoice amount | $2,500.00 |
{frequency} reads Weekly, Monthly, Quarterly, Bi-Annual or Annual.
For example, {monthYear} Retainer – {clientName} becomes “November 2026 Retainer – Acme Corporation”.
Client and project variables work here too.
Quote emails
In the quote email subject and message:
| Variable | Inserts |
|---|---|
{clientName} |
Client company name |
{clientContact} |
Primary contact’s name |
{clientEmail} |
Primary contact’s email |
{projectName} |
The project name |
{quoteNumber} |
The quote number |
{quoteAmount} |
The quote total |
{issueDate} |
The quote’s issue date |
{validUntilDate} |
The date the quote expires |
{businessName}, {businessEmail}, {businessPhone} |
Your business details |
Invoice and reminder emails
In the invoice email, the send dialog and overdue reminders:
| Variable | Inserts |
|---|---|
{clientName} |
Client company name |
{clientContact} |
Primary contact’s name |
{clientEmail} |
Primary contact’s email |
{invoiceNumber} |
The invoice number |
{invoiceTitle} |
The invoice title |
{invoiceAmount} |
The invoice total |
{issueDate} |
The issue date |
{dueDate} |
The due date |
{daysOverdue} |
Days past the due date. Use it in reminders. |
{businessName}, {businessEmail}, {businessPhone} |
Your business details |
Email variables that look similar
The editor’s ✨ menu lists some document variables that emails don’t fill in. In emails, use the email version:
| In emails, use | Instead of |
|---|---|
{invoiceAmount} |
{amount} |
{quoteAmount} |
{totalAmount} |
{issueDate} |
{quoteDate} |
{validUntilDate} |
{expiryDate} |