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}