# Contract templates

> Build reusable contract templates from blocks, and use smart variables so each contract fills in its own client and project details.

- URL: https://tillage.ai/docs/contracts/contract-templates
- Section: [Contracts](https://tillage.ai/docs/contracts)

Every contract in Tillage starts from a template. A template is a stack of blocks (text, deliverables, a payment schedule, signatures and more) that the contract wizard walks you through when you create a contract. Build a template once for each kind of engagement, such as a statement of work or a monthly retainer, and reuse it.

Tillage doesn't include ready-made contract templates, so create at least one before your first contract.

> **Note:** Tillage gives you the tools to build and sign contracts, not legal advice. Have a lawyer review your template wording.

## Create a template

1. Go to **Contracts → Contract Templates** in the sidebar and click **New Template**.
2. Under **Template Information**, fill in:

   | Field | What it's for |
   |---|---|
   | **Template Name** | Your name for the template, such as "Standard service agreement". |
   | **Contract Type** | **Statement of Work**, **Service Agreement**, **Full Contract** or **Custom**. A label for your own organization. |
   | **Category** | **General**, **Services**, **Products**, **Consulting**, **Development**, **Design** or **Marketing**. Templates are grouped by category. |
   | **Set as default** | Makes this the default template in its category. |
   | **Contract Title Format** | The title each contract gets, such as `Service Agreement for {clientName}`. Click **Variables** to insert one. |
   | **Description** | When to use this template. |

3. Under **Template Blocks**, choose a block type to add your first block. Add more with the buttons below the last block, or click **+** between two blocks to insert one there.
4. Give each block a title, such as "Introduction" or "Scope of work", and fill in its content.
5. Drag blocks by their handle to reorder them.
6. Click **Save Template**.

Include a **Signature** block in every template so the contract has signature fields. Contracts created through the [API or an AI assistant](https://tillage.ai/docs/integrations/claude-and-chatgpt) can't be sent without one.

### Optional blocks

Turn on **Optional** on a block to let whoever creates the contract skip it in the wizard. For example, make **Timeline** optional if only some projects need one.

## Block types

| Block | What it does |
|---|---|
| **Text** | Rich text for any section: parties, terms, confidentiality, cancellation. Supports smart variables. |
| **Deliverables** | The scope of work, taken from the quote's line items. You pick which lines to include when creating the contract, and whether to **Show pricing in contract**. |
| **Timeline** | Project phases and dates. You enter the phases in the wizard's **Project Timeline** step. |
| **Payment Schedule** | When the client pays: a deposit, milestones, installments or the full amount. You pick the schedule in the wizard. Invoices are created from it when the contract is signed. See [Payment schedules](https://tillage.ai/docs/contracts/payment-schedules). |
| **Ongoing Services** | A recurring service, such as a monthly retainer, that starts a billing schedule when the contract is signed. |
| **Signature** | Signature fields for the client and your company, with editable labels (**Client Signature** and **Company Representative** by default). |
| **Attachments** | Exhibits for the contract. In the wizard you can choose **Include Original Quote** to attach the quote as Appendix A. |
| **Email Template** | The default email subject and message for sending the contract. Not shown in the contract itself. |

In a template, **Deliverables**, **Timeline**, **Payment Schedule** and **Attachments** show a placeholder. Their content comes from the quote and the choices you make in the wizard.

### Ongoing services

Use this block for work billed on a cycle. Set:

- **Service Description**, shown before the service details in the contract
- **Plan Name**
- **Frequency**: **Weekly**, **Monthly**, **Quarterly** or **Annually**
- **Start Date** and **Payment Due (days)**
- **Line Items** for the recurring charge
- **Automatically generate invoices**
- **Initial Invoice Status**: **Draft (review before sending)** or **Sent (auto-send enabled)**

When the contract is signed, Tillage creates a billing schedule from these settings. See [Billing schedules](https://tillage.ai/docs/invoices/billing-schedules).

## Smart variables

Smart variables are placeholders that fill in from the contract's client, quote and your business, so one template works for every client.

To add one in a text block, click the ✨ **Insert Variables** button in the toolbar, search or browse the **Client**, **Quote & Project**, **Your Business** and **Contract** groups, and click a variable. It appears as a chip in the text. In plain fields such as **Contract Title Format** or the email subject, use the **Variables** or **Insert Variable** menu.

Commonly used variables:

| Variable | Fills in |
|---|---|
| `{clientName}` | The client's company name |
| `{clientContact}` | The primary contact's full name |
| `{clientEmail}`, `{clientPhone}` | The primary contact's email and phone |
| `{clientAddress}` | The client's address |
| `{projectName}` | The quote's project name |
| `{quoteNumber}` | The quote number |
| `{totalAmount}` | The quote total, formatted as currency |
| `{acceptanceDate}` | The date the client approved the quote |
| `{businessName}`, `{businessEmail}`, `{businessPhone}` | Your business details |
| `{contractNumber}` | The contract number, such as CT-0001 |
| `{contractDate}` | The date the contract was created |
| `{effectiveDate}` | The project start date you set in the wizard |

Inside a **Payment Schedule** block you can also use `{invoiceCount}`, `{invoiceAmount}` and `{firstInvoiceDueDate}`. They don't fill in anywhere else in the contract.

See [Smart variables](https://tillage.ai/docs/reference/smart-variables) for the full list.

For example:

```
This Service Agreement is made on {contractDate} between {businessName}
("Provider") and {clientName} ("Client") for the project "{projectName}".
```

> **Note:** Write your business address into the template as plain text. The `{businessAddress}` variable isn't filled in yet.

## Manage templates

On the **Contract Templates** page, each card shows the contract type, a **Default** badge if set, and the number of blocks. Use the card menu to:

- **Edit** the template. Changes apply to new contracts, not ones you've already created.
- **Duplicate** it, including all blocks.
- **Export as JSON** to download a copy. Use **Import** on the templates page to load an exported template, in this team or another.
- **Copy to Team** to copy it to another team you belong to. You're switched to that team afterwards. Shown only if you're on more than one team.
- **Delete** it and all its blocks. This can't be undone.

## Related

- [Create a contract](https://tillage.ai/docs/contracts/create-a-contract)
- [Payment schedules](https://tillage.ai/docs/contracts/payment-schedules)
- [Smart variables](https://tillage.ai/docs/reference/smart-variables)

---

All docs: https://tillage.ai/docs.md  
Site index for AI assistants: https://tillage.ai/llms.txt  
Sign up free: https://app.tillage.ai/signup
