# Variables and blanks in contracts

> Fill client names, dates and fees into photography contracts automatically, and leave blanks your client completes while signing. Every variable listed.

Source: https://help.corehue.co/docs/contracts/smart-fields-and-blanks/

**Variables** fill in details CoreHue already holds, such as a client's name or booking date. **Blanks** collect information from your client when they sign. Both can be included in a reusable contract template.

For the bigger picture across emails and documents, see [Filling in client details automatically](/docs/getting-started/smart-fields).

## Adding a variable

1. In the contract editor, put your cursor where the detail should go.
2. Choose **Insert Variable** in the toolbar.
3. Pick the field from the list.

The field shows as a tag in the editor. Your client sees the real value in its place.

## Every variable, and where it comes from

| Group | Variables | Filled from |
| --- | --- | --- |
| Client | Client Name, Client Email, Client Phone, Client Address | The contact the contract is related to |
| Business | Business Name, Business Email, Business Phone, Business Address, Registration Number | [Your business details](/docs/account/business-details-and-logo) |
| Contract | Contract Number, Contract Date, Expiry Date | The contract itself |
| Booking | Booking Date, Booking End Date, Service Name, Venue, Booking Duration, Start Time, End Time, Package, Add-ons | The linked booking |
| Invoice | Invoice Number, Invoice Total, Currency, Deposit, Balance | The linked invoice |
| Dates | Today's Date, Current Year | The day the contract is prepared |

## Every variable has to be filled before you send

A contract can't go out with a gap in it. If a variable has nothing to read, CoreHue stops the send with **Cannot send contract** and lists each one with the reason, like *No booking linked* or *Business phone not set in profile*.

The usual fixes:

- **A booking field with no booking linked.** Set **Related to** to the booking, or take the field out.
- **An invoice field with no invoice linked.** Pick one under **Invoice (optional)**, or remove the field.
- **A business detail you haven't filled in.** Add it under **Settings → Business**. **Registration Number** is the one people most often leave empty.

### In a proposal

A proposal's contract is signed before any invoice exists, so the invoice fields are allowed to wait, but only if the proposal collects payment. Without payment there will never be an invoice, and CoreHue asks you to turn payment on or remove those fields. See [Adding a contract and payment schedule to a proposal](/docs/proposals/bundling-a-contract-and-payments).

### On a booking service

A contract on a booking service is signed the moment someone books, with nobody there to spot a problem, so the rules are stricter. Four fields can't be used at all because nothing at booking time can fill them: **Expiry Date**, **Booking End Date**, **Package** and **Invoice Number**. If you use **Client Phone**, the booking form has to ask for a phone number and make it required. The service lists anything outstanding under **Finish these first**. See [Adding a contract and questionnaire to booking](/docs/online-booking/contracts-and-questionnaires-in-booking).

## Adding a blank for your client

1. Put your cursor where the answer should appear.
2. Choose **Client Field** in the toolbar.
3. Write a **Label**, pick a **Type** (**Text** or **Date**), and leave **Required** on or turn it off.
4. Choose **Add**.

Each blank appears in the text where you placed it and in the **Client fields** list under the contract body. A contract can hold up to 50.

Write labels your client will understand on a phone, without context. "Name and number of your day-of coordinator" gets a better answer than "Coordinator".

## What your client sees

Your client sees the contract with every variable already filled in. Below it, a **Fill in the blanks** section lists your blanks, with the hint "These appear in the agreement above as you type." Date blanks open a date picker. A required blank left empty shows "Needed before you can sign" when they try to sign.

Once signed, their answers are locked into the contract and appear in the signed PDF.

## Frequently asked questions

### Can my client change a variable, like the date?

No. Contract variables are filled from your records and your client can't edit them. If something is wrong, correct the contact, booking or business details, then edit the contract before it's signed so it carries the right value.

### Is there a signature or initials blank?

No. Client blanks in a contract are **Text** or **Date** only. The signature itself is collected in the **Sign** section at the end of every contract.

### What if a variable is empty on a contract that's already out?

An empty variable shows in red italics on the contract instead of silently disappearing. Fix the missing detail, or edit the contract and send it again.

### Do blanks work in contract templates?

Yes. Add variables and blanks to a contract template and every contract you create from it carries them. See [Contract templates](/docs/templates/contract-templates).
