> For the complete documentation index, see [llms.txt](https://docs.allshore.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.allshore.ai/clients-and-pipeline/commercial-contracts.md).

# Commercial contracts

A **commercial contract** holds the money terms of a client relationship: the currency, the payment terms, and the bill rates work is priced at. Contracts live on the client's detail page, and every invoice you raise prices its lines against one.

## Creating a contract

A contract carries:

* **Currency** — fixed for the life of the contract. It can't be changed later, by design: every rate and every invoice line raised under the contract is implicitly in that currency, so changing it would silently reprice history. A client billing in two currencies needs two contracts.
* **Payment terms** (days) — drives the due date on invoices raised under it.
* **Reference** — your own contract number or name.
* **Start date**, and optionally an **end date**.
* **Bill rates** per role — see [Bill rates & rate history](/clients-and-pipeline/bill-rates-and-rate-history.md).

## Amending an active contract

You can update payment terms, the reference, and the end date while a contract is active. Once a contract has **ended**, those commercial fields are frozen — amending is refused, and if terms need to change you renew instead. Its **bill-rate history is not frozen**, though: a rate change can still be recorded against an ended contract, which reprices how its days are read afterwards. Treat that as a correction you make deliberately, not a routine edit.

When you amend, end, or renew, an end date that precedes the start date is refused; at creation time that check isn't applied, so enter the term carefully.

## Ending, and renewing

**Ending** sets the contract's status to ended with the date you give. Ending twice is refused.

**Renewing** creates a *successor* contract linked back to the one it renews. The successor copies the commercial terms — client, currency, payment terms, reference — and the source's **currently open rates**, re-anchored to the new start date; closed historical rates stay with the original as history.

One behavior worth knowing: **renewing does not end the source contract.** Whether the two terms overlap, or leave a gap, is your call — make it deliberately, and end the original when you mean to.

## Expiry watching

Contracts approaching their end date are surfaced for you rather than left to memory: the contract-renewal agent watches upcoming expiries and raises findings on **Radar**, and can draft renewal outreach for your approval. Nothing auto-ends and nothing auto-renews — expiry is detected, you decide.


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.allshore.ai/clients-and-pipeline/commercial-contracts.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
