> For the complete documentation index, see [llms.txt](https://docs.shortcutco.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.shortcutco.com/readme/proposals/how-to-create-and-send-a-proposal.md).

# How to create and send a proposal

Build an estimate for a lead or customer, offer options, and send it by email, SMS, or both — or approve it for them when they say yes in person. [Open Leads →](https://shortcutco.com/leads)

{% embed url="<https://www.youtube.com/watch?v=uBdMpprlfNg>" %}
Video: auto-measure, price, and get the yes by text (1:47).
{% endembed %}

## When to use this

* A lead wants a quote
* You want customer approval before scheduling work

## Before you start

* You have at least one service created ([Settings → Services](https://shortcutco.com/settings/services))
* The lead has an email and/or phone number

## Create the estimate

{% stepper %}
{% step %}

### Open the lead

Open the lead's profile and click **Create estimate** at the top. The **Create estimate** page opens, with the lead's details and property on the left. [Open Leads →](https://shortcutco.com/leads)
{% endstep %}

{% step %}

### Add a custom message (optional)

Type anything you want the customer to see with the estimate in the **Message** box.
{% endstep %}

{% step %}

### Select base services

In **Base services**, search for the services you want to include and click each one to add it.

<figure><img src="https://2299783971-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOhi7KtJ4vY1pDKwWu5SV%2Fuploads%2Fgit-blob-a2b5b5df8b5a58e8c99d7934eb8c9c060a3e2884%2Fproposal-builder-base-services.png?alt=media" alt="The Create estimate page: the lead&#x27;s details and Location card on the left, and on the right the Message box, Base services search, Choose from template, and the Send, Approve, and Preview buttons"><figcaption><p>Use Base services to add quoted work directly from the estimate page.</p></figcaption></figure>
{% endstep %}

{% step %}

### Optional: Choose from template

Click **Choose from template** if you want to load a predefined set of services/pricing. [Manage Templates →](https://shortcutco.com/settings/templates)
{% endstep %}

{% step %}

### Confirm price details

Confirm the price details for each service (rate + hours / sq ft / flat amount). Click the pencil on a line to change them.

<figure><img src="https://2299783971-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOhi7KtJ4vY1pDKwWu5SV%2Fuploads%2Fgit-blob-ecf1c1fc8095892cf82dd7dea91a008e4273d05c%2Fproposal-builder-price-details.png?alt=media" alt="Estimate with two service lines, each showing rate times quantity and the line total, and the one-time total in the bottom bar"><figcaption><p>Review rates, quantities, and totals before sending the estimate.</p></figcaption></figure>
{% endstep %}

{% step %}

### Set how often it repeats

In the same editor, **Repeating** sets how often the service happens: **One off**, or **Days**, **Weeks**, **Months**, or **Years** with a number in **every**. For example, **Days** every **10** is a visit every 10 days. The line then reads *Every 10 days*, and the totals at the bottom are grouped by how often each service repeats. Click **Done** when the line is right.

Once approved, the job shows the same schedule on the Jobs page (*Every 10 days*, or *Daily* for every 1 day). For the customer's **Monthly value** on the Customers list, a month counts as four weeks — so a service every 7 days counts the same as a weekly one.

Snow services work differently — see [Snow removal](/readme/snow-removal.md).

<figure><img src="https://2299783971-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOhi7KtJ4vY1pDKwWu5SV%2Fuploads%2Fgit-blob-8382750a8cc953dc05b474a0bb475e6d32a9ec3c%2Festimate-cadence-every-n-days.png?alt=media" alt="A service line open in the estimate editor with Repeating set to Days and every 10, so the service repeats every 10 days"><figcaption><p>Pick Days, Weeks, Months, or Years and type how many — here, every 10 days.</p></figcaption></figure>
{% endstep %}
{% endstepper %}

## Measure the lawn to price by square foot

Per-sq-ft services take their quantity from the property's measured lawn. You can measure it without leaving the estimate, from the **Location** card on the left.

{% stepper %}
{% step %}

### Measure

Click **Auto-measure**. Shortcut scans the lot for lawn, structures, and driveway, then opens the result so you can check it. (Or click **Measure manually** and draw the areas yourself.)
{% endstep %}

{% step %}

### Check the outlines

A new auto-measurement isn't used for pricing until someone accepts it. Until then the card shows an amber **Needs review** badge, and the editor says: *This measurement has not been reviewed, so estimates do not use it yet.*
{% endstep %}

{% step %}

### Accept it

Click **Use this measurement**. If you changed an outline first, the button reads **Save changes** — saving accepts it too.
{% endstep %}
{% endstepper %}

The lawn size on the left updates straight away, and any per-sq-ft service you add from then on uses it. The size is also saved to the property on the customer's profile.

If services already on the estimate use a different size, a blue bar appears above them — for example *The measured lawn is now 12,400 sq ft. 2 per-sq-ft services use a different size.* Click **Update services** to move them to the new size, or **Keep current** to leave them as they are. Nothing changes until you click.

**Update services** changes:

* every ordinary per-sq-ft service — it takes the new size as its quantity
* a chemical program priced on **Primary lawn size**
* a rate that came from the service's size tiers — it moves to the tier for the new size

It leaves alone a chemical program priced on a named area or a **Custom treatment area**, and snow services.

If you close the editor without accepting, the measurement stays saved and the card keeps its **Needs review** badge. Click **Review & edit** on the card to come back to it.

## Edit, add alternatives, add products, or remove a service line

On the right of each service line, click the **three dots**:

* **Add alternative**: offer a second option (Gold vs Silver, pine vs aspen, etc.)
* **Add product**: add a catalog product, such as mulch or plants, under this service. It shows as one row, such as *$85 × 3 yard = $255.00*, and the service gets a tag like **1 product · $255.00**. See [Products](/readme/products.md#add-products-to-an-estimate).
* **Edit**: change how often it repeats and adjust the numbers (the pencil beside the menu does the same)
* **Remove**: take the service off the estimate

A service you typed in that isn't in your catalog also gets **Save to catalog** at the top of the menu.

More detail: [Proposal service options (edit + alternatives)](/readme/proposals/proposal-service-options-edit-+-alternatives.md).

<figure><img src="https://2299783971-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOhi7KtJ4vY1pDKwWu5SV%2Fuploads%2Fgit-blob-42675c077d47f1a94569da2dbb5b042334f26ca4%2Fproposal-service-line-menu.png?alt=media" alt="A service line&#x27;s three-dot menu open on the estimate: Add alternative, Add product, Edit, and Remove"><figcaption><p>Open the service line menu to add an alternative or a product, edit, or remove a service.</p></figcaption></figure>

## Optional line items

You can mark service lines as **optional** — clients can choose to include or exclude them when reviewing the proposal, and the total updates as they choose.

## Live preview

Click **Preview** to open exactly what the customer will see in a new tab. If you haven't saved yet, Preview saves the estimate as a draft first.

<figure><img src="https://2299783971-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOhi7KtJ4vY1pDKwWu5SV%2Fuploads%2Fgit-blob-4629731aeff69416be2d4623880779b69ae2da70%2Fproposal-public-preview.png?alt=media" alt="Public proposal preview with customer approval actions"><figcaption><p>Preview the customer-facing proposal before it is sent.</p></figcaption></figure>

## Send, approve, or preview

The bar at the bottom of the estimate has three buttons:

* **Send**: send the estimate to the customer (see [Choose delivery method](#choose-delivery-method))
* **Approve**: approve it for the customer, if they say yes by phone or in person (see [Approve for the customer](#approve-for-the-customer))
* **Preview**: see the customer's view

**Send** and **Approve** save your latest changes first. To pick up a draft later, click **Create estimate** on the profile again. For a lead, the page opens on the latest draft. For an existing customer, it starts a fresh estimate — click **Resume draft** at the top to reopen the draft.

## Approve for the customer

Use **Approve** when the customer says yes by phone or in person.

{% stepper %}
{% step %}

### Click Approve

A window asks *Approve this estimate for \[name]?* For a lead, approving makes them a customer, creates their jobs, and runs your new-customer automations. For an existing customer, it creates their jobs and runs your estimate automations.
{% endstep %}

{% step %}

### Confirm

Click **Approve estimate**. An approved estimate can't be edited.
{% endstep %}
{% endstepper %}

The estimate stays on screen and locks:

* A green **Approved** banner at the top says how many jobs were created, for example *1 job was created and is waiting to be scheduled. This estimate is now read-only.*
* The message, services, and property can't be changed, and the service search is gone.
* The buttons at the bottom become **Schedule jobs**, **Start a new estimate**, and **Preview**.

Click **Schedule jobs** to put the new jobs on the calendar straight away. The window lists just the jobs this approval created. To quote something else for the same customer, click **Start a new estimate**.

{% hint style="info" %}
**Approve on this page works on drafts only.** If you've already sent the estimate, approve it from the customer's profile instead — **Approve** at the top of the profile, or on the estimate in their **Estimates** tab. See [Prospect management](/readme/leads-prospects-customers/prospect-management-approve-remind-void.md).
{% endhint %}

## Choose delivery method

Click **Send** to open the **Send proposal** window. Under **Communication method**, choose:

* Email
* SMS
* Or both

Then click **Send**.

<figure><img src="https://2299783971-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOhi7KtJ4vY1pDKwWu5SV%2Fuploads%2Fgit-blob-5166c4e3359a376a5b0f9ff8d12583330c2b2c76%2Fproposal-send-delivery-options.png?alt=media" alt="Send proposal dialog with delivery options"><figcaption><p>Choose email, SMS, or both before sending the proposal.</p></figcaption></figure>

## Proposal expiration

Estimates **expire after 30 days** if not accepted — they're marked **Expired** automatically. To withdraw one sooner, void it; see [Prospect management](/readme/leads-prospects-customers/prospect-management-approve-remind-void.md).

## Expected result

After you send the estimate, the person moves to [Estimate pending](https://shortcutco.com/prospects) in Customers until they accept. If you approve it yourself, their jobs are created and wait to be scheduled.

## Common issues

<details>

<summary>Totals look wrong</summary>

Check the hours or square-foot quantity on each line item. If a per-sq-ft service shows a quantity of 1 or an old size, the lawn measurement may still say **Needs review**: click **Review & edit** on the **Location** card, click **Use this measurement**, then **Update services**.

</details>

<details>

<summary>Approve says "Only a draft can be approved here"</summary>

The estimate was already sent. Approve it from the customer's profile, or click **Start a new estimate** to quote again.

</details>

<details>

<summary>Customer didn't receive it</summary>

Check their email and phone number, then re-send using both email and SMS. A red **Bounced** or **Paused** pill next to their email means mail to them has stopped; see [When a customer's email stops working](/readme/leads-prospects-customers/customers-overview-+-importing.md#when-a-customers-email-stops-working).

</details>

{% hint style="info" %}
Still stuck? Email <hello@shortcutco.com> with the lead name and a screenshot of the estimate screen.
{% endhint %}
