> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qwoty.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Contract model and variables

> Reusable contract templates with dynamic variables that auto-populate quote and customer data

{/* AUDIT NOTE: Nav corrected — Contract Models is under Content (not Settings). Form completely rewritten from scratch: actual form has General Information (Name*, Reference, Language*, Category), a Contract rich-text editor block, Contract Fields (Duration Type / Duration months / Renewal Type / Prior Notice — each with "Editable by sale" checkbox), Custom Fields, Identifiers, and a right-panel Status / API Name*. The previous "Fields block" describing Contract Model / Customer / Project objects does not exist in the app. Duration Type dropdown options beyond "Fixed" not confirmed (dropdown not expanded) — TODO left. Renewal Type options beyond "None" not confirmed — TODO left. */}

Contract models are reusable contract templates that populate automatically with data from your quotes and customers. You can insert dynamic variables like `{{customer.name}}` or `{{quote.total}}` to generate personalized contracts for every deal.

This guide walks you through creating a new contract model from scratch.

<Note>
  **Prerequisites**

  * You must have the **Admin** role to access this screen
  * Custom fields must be created beforehand in **Settings → Data Model**
</Note>

## Access the contract model builder

<Steps>
  <Step title="Navigate to Content">
    In the left side menu, click **Content**.
  </Step>

  <Step title="Open Contract Models">
    Click **Contract Models**.
  </Step>

  <Step title="Create a new model">
    Click **+ New** in the top right corner.
  </Step>
</Steps>

## Fill in general information

In the **General Information** section, configure:

* **Name** \*: Contract model name (e.g., "Standard SaaS Agreement", "Professional Services Contract")
* **Reference**: Internal reference to identify the model
* **Language** \*: Contract language
* **Category**: Organizational category

## Write the contract content

The **Contract** block contains a rich text editor for your contract document body. Formatting tools include headings, lists, bold, italic, underline, strike, highlight, text alignment, columns, images, and links. You can also import a DOCX file as a starting point.

Insert dynamic variables directly in the editor to populate quote and customer data automatically. See [Use dynamic variables](/user-guide/documents/how-tos/use-dynamic-variables) for syntax and available fields.

## Configure contract fields

The **Contract Fields** section defines the contractual parameters. Each field has an **Editable by sale** checkbox that controls whether sales reps can modify the value when creating a quote.

* **Duration Type**: How the contract duration is structured {/* TODO: verify all available options — "Fixed" confirmed; others such as "Permanent" and "Instant execution" unconfirmed */}
* **Duration (months)**: Contract duration in months
* **Renewal Type**: How the contract renews after the initial term {/* TODO: verify "Tacit" option exists — "None" confirmed */}
* **Prior Notice**: Whether advance notice is required to terminate the contract

## Configure custom fields

The **Custom Fields** section lists workspace-level custom fields for contract models. Toggle each field on to include it, enter its default value, and check **Editable by sale** if sales reps should be able to modify it when creating a quote.

## Add external identifiers

If you integrate with external systems, fill in the corresponding identifiers in the **Identifiers** section:

* **CRM ID**: Identifier in your CRM
* **ERP ID**: Identifier in your ERP
* **Accounting ID**: Identifier in your accounting software

## Define the status

In the right side panel, configure:

* **Status**: `Active` (available in templates) or `Inactive`
* **API Name** \*: Technical identifier generated automatically from the name

<Warning>
  The **API Name** can only be modified at creation. Once saved, it can no longer be modified to ensure the stability of your integrations.
</Warning>

## Save your contract model

Once all fields are configured, click **Save** at the top right.

## What happens next

Your contract model is now available to associate with quote templates. When a quote using this template reaches the **Accepted** status, Qwoty automatically generates a contract by populating your model with the quote and customer data.

<CardGroup cols={2}>
  <Card title="Manage contract models" icon="folder-open" href="/user-guide/documents/reference/contract-model-and-variables">
    Edit, archive, or delete existing contract models
  </Card>

  <Card title="Create a quote template" icon="file-invoice" href="/user-guide/templates/how-tos/create-quote-template">
    Build templates that combine catalogs, pricebooks, and contract models
  </Card>

  <Card title="Customize the data model" icon="database" href="/user-guide/data-model/introduction">
    Add custom fields to your workspace
  </Card>

  <Card title="Discover the Dealroom" icon="handshake" href="/user-guide/dealroom/introduction">
    Learn how customers interact with quotes and contracts
  </Card>
</CardGroup>
