> For the complete documentation index, see [llms.txt](https://docs.rillet.com/EjmEP4KZ9BVp9j2ho4Mh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rillet.com/EjmEP4KZ9BVp9j2ho4Mh/accounts-receivable/contracts/add-a-contract.md).

# Add a Contract

A contract is a formal agreement between a seller and a buyer that outlines pricing, duration, and the products or services provided. In **Rillet**, contracts support managing revenue, tracking obligations, and measuring performance, and can affect revenue schedules and **ARR** depending on the associated products. Before creating a contract, make sure you have already created the corresponding **Customer** and **Product**.

### Create and Configure Contract Details

Follow these steps to add a contract:

1. Go to **Accounts Receivable > Contracts**.
2. Click **+ Add Contract**.

   <figure><img src="https://612265232-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNpXFVFZpTQck3vIrjmHB%2Fuploads%2FzfUFsyWC2lq9RaRyhlXc%2Fimage.png?alt=media&amp;token=af895d34-3426-4c02-abd0-97864b30c05c" alt=""><figcaption></figcaption></figure>
3. Enter **Contract Details:**
   * **Customer:** This will be automatically filled and cannot be modified.
   * **(Optional) Shipping Customer:** Click **+ Add shipping customer** to associate an additional customer who will receive the shipment for this contract (e.g., "Adobe").
   * **Contract Name:** Enter a descriptive name for the contract (e.g., "Demo Contract").
   * **Contract Type:** Choose one from the following: New Sales, Existing, Expansion, Reactivation, or Contraction.
   * **Start Date:** Select the start date for the contract.
   * **Close Date:** Select the date of finalizing the deal.
   * **Duration:** Choose from the following options: 6 months, 1 year, 2 years, 3 years, Open-ended, or Custom.
   * **(Optional) End Date:** Select the end date for the contract.
   * **Currency:** Select the contract's currency (e.g., "US Dollar - USD").
4. Click **Next Step**.

   <figure><img src="https://612265232-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNpXFVFZpTQck3vIrjmHB%2Fuploads%2FndCyyfzFIRIXQ41j0Jhw%2Fimage.png?alt=media&amp;token=9de5e5b2-047e-4b5b-8e58-54dd0b4adb84" alt=""><figcaption></figcaption></figure>
5. Click **+ Add Product**.

   <figure><img src="https://612265232-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNpXFVFZpTQck3vIrjmHB%2Fuploads%2FW8WU5XTko6rIb4Hlllnu%2Fimage.png?alt=media&amp;token=6d70fa84-a5bc-40b5-a394-9e85b1223563" alt=""><figcaption></figcaption></figure>
6. Select the **product(s)** you wish to include in the contract from the list (e.g., "Demo Product").
7. Click **Add Product** to add the product to the contract and fill in the product details.

   <figure><img src="https://612265232-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNpXFVFZpTQck3vIrjmHB%2Fuploads%2FfceNwekFUwz0ypFjh4oI%2Fimage.png?alt=media&amp;token=4242ccc8-f96b-44a4-a3d0-1355090a3860" alt=""><figcaption></figcaption></figure>
8. **(Optional):** Enter a new value in **SSP per unit**, in the product line's **SSP** section, to override that product's SSP for this contract and update the **Allocated Revenue** of every product line without changing the contract total.<br>

   <figure><img src="https://612265232-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNpXFVFZpTQck3vIrjmHB%2Fuploads%2F2dk06nRMFQlhaBhc0MiQ%2Fimage.png?alt=media&amp;token=51277c70-d32d-4bcc-8155-d6813fa1bcc7" alt=""><figcaption></figcaption></figure>
9. Click **Next Step**.<br>

   <figure><img src="https://612265232-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNpXFVFZpTQck3vIrjmHB%2Fuploads%2FTwXYNS1JnIhtwQJuGH9E%2Fimage.png?alt=media&amp;token=64dc3230-7766-4a18-b236-9aec10d6c0a5" alt=""><figcaption></figcaption></figure>
10. Fill in the following fields in the **Invoicing** section:

* **Invoicing Frequency:** Select Monthly, Quarterly, or Yearly for invoicing frequency.
* **Day of the Month:** Select the day of the month for invoicing (e.g., 1st, 31st).
* **Payment Terms:** Specify payment terms (Due on Receipt, Net 10, Net 30, Net 60, or Custom).
* **Address:** Select the billing address to use for this contract from the addresses saved on the customer record.
* **Email Recipients:** Select which of the customer's email addresses receive invoices, if more than one is on file, and choose **To**, **CC**, or **BCC** for each one.
* **(Optional) Shipping Address:** If you added a shipping customer, select the address to use for shipping from the addresses saved on that customer's record.

11. Click **Next Step**.<br>

    <figure><img src="https://612265232-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNpXFVFZpTQck3vIrjmHB%2Fuploads%2FRzIxrTxNhRsWvyySR0Gz%2Fimage.png?alt=media&amp;token=f1b74179-c544-49f3-8f56-a49d4431687c" alt=""><figcaption></figcaption></figure>
12. Choose the **Revenue Pattern** that best suits your needs. Rillet displays the revenue schedule for that commitment. For a milestone product, this step shows a **Milestone plan** instead, which you set up as described in [**Set Up and Track Milestone-Based Revenue**](/EjmEP4KZ9BVp9j2ho4Mh/accounts-receivable/contracts/set-up-and-track-milestone-based-revenue.md).
13. Click **Next Step**.<br>

    <figure><img src="https://612265232-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNpXFVFZpTQck3vIrjmHB%2Fuploads%2FFBQs0k25nV8DCfNzEUEx%2Fimage.png?alt=media&amp;token=5140bb92-f565-466b-bd79-4c9b36fdc1a6" alt=""><figcaption></figcaption></figure>
14. Review all contract details in the **Summary**, including revenue metrics like MRR, ARR, and ACV, before confirming the creation.
15. Click **Confirm contract** to activate the contract.<br>

    <figure><img src="https://612265232-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNpXFVFZpTQck3vIrjmHB%2Fuploads%2FoCCi4F6Ad8Wah8cqiqZ2%2Fimage.png?alt=media&amp;token=35800c62-0648-4925-8ba0-73a9f7b53522" alt=""><figcaption></figcaption></figure>

{% hint style="info" %} <mark style="color:$info;">**Note:**</mark>

**Payment Terms** determine how revenue is distributed across the contract period (for example, $12.00 over 12 months sets revenue at $1.00 per month). When filling in the **product details**, you can edit details such as price or quantity after adding the product. See [**Create a New Product** ](/EjmEP4KZ9BVp9j2ho4Mh/accounts-receivable/products/create-a-new-product.md)for more.
{% endhint %}

The contract is now active and ready for invoicing and revenue recognition. If you added a shipping customer, the billing and shipping addresses selected in the Invoicing section carry over to the resulting invoice.

### **See Also**

To learn more about working with contracts in **Rillet**, review these articles:

* [**Managing Contracts**](/EjmEP4KZ9BVp9j2ho4Mh/accounts-receivable/contracts/managing-contracts.md)
* [**Copy Contracts**](/EjmEP4KZ9BVp9j2ho4Mh/accounts-receivable/contracts/copy-contracts.md)
* [**How to Create An Auto-Renewing Contract**](/EjmEP4KZ9BVp9j2ho4Mh/accounts-receivable/contracts/how-to-create-an-auto-renewing-contract.md)
* [**View GL Impact for Usage Cycles**](/EjmEP4KZ9BVp9j2ho4Mh/accounts-receivable/contracts/view-gl-impact-for-usage-cycles.md)
* [**Smart Contract Upload**](/EjmEP4KZ9BVp9j2ho4Mh/accounts-receivable/contracts/smart-contract-upload.md)&#x20;
* [**Generate 606 Analysis in Rillet**](/EjmEP4KZ9BVp9j2ho4Mh/accounts-receivable/contracts/generate-606-analysis-in-rillet.md)
* [**Import Contracts in Bulk**](/EjmEP4KZ9BVp9j2ho4Mh/accounts-receivable/contracts/import-contracts-in-bulk.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.rillet.com/EjmEP4KZ9BVp9j2ho4Mh/accounts-receivable/contracts/add-a-contract.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
