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

# Create a quote

> Send pricing to a customer for review before you create an invoice or begin billable work.

## What you will accomplish

You will create a **quote**—pricing the customer can review and approve **before** your facility sends a real invoice or starts expensive work.

A quote is not the same as an invoice:

<Info>
  **Quote** — "Here is what we propose to charge. Please review and approve."

  **Invoice** — "This amount is ready to be paid now."
</Info>

Quotes are useful for storage proposals, detail packages, transport estimates, memberships, or larger service work.

## Before you start

* An owner or admin has turned on **Enable Quotes** in [Settings > Billing](https://www.carstoragesoftware.com/dashboard/settings/billing). See step 1 below if the Quotes page says quotes are not enabled.
* Payment processing is set up if you want customers to accept quotes online. See [Connect payment processing](/docs/settings/connect-payment-processing).
* The customer already exists in [Contacts](https://www.carstoragesoftware.com/dashboard/contacts).
* At least one product with a **pricing variant** exists in [Products & Services](https://www.carstoragesoftware.com/dashboard/payments/products). Quotes pull prices from products—you cannot complete line items without them.
* Know what you are quoting (storage, detailing, transport, membership) and a realistic **expiration date**.

<Tip>
  **Set up products before your first quote**

  Open [Manage products and services](/docs/payments/manage-products-and-services) and add pricing variants (for example **monthly\_standard** on a storage product). If the **Price** column in the quote window says **Select price** with no options, return to the product record and add a variant first.
</Tip>

## Step 1: Turn on quotes (one-time setup)

<Steps>
  <Step title="Open Settings > Billing">
    In the sidebar, click **Settings**, then **Billing**. You can also open [Settings > Billing](https://www.carstoragesoftware.com/dashboard/settings/billing) directly.
  </Step>

  <Step title="Find Quotes, Estimates & Proposals">
    Scroll to **Quotes, Estimates & Proposals**.
  </Step>

  <Step title="Turn on Enable Quotes">
    Switch **Enable Quotes** to on.

    **Expected result:** The setting shows as active. The [Quotes](https://www.carstoragesoftware.com/dashboard/payments/quotes) page will show **Create quote** instead of a setup message.
  </Step>
</Steps>

<Frame>
  <img src="https://mintcdn.com/carstoragesoftware/65OxqKrCpk0fG4Bx/images/payments/quote-enable-billing-settings.webp?fit=max&auto=format&n=65OxqKrCpk0fG4Bx&q=85&s=7dec420223ed43fa6ff050f8537721af" alt="Billing settings showing Quotes Estimates and Proposals section with Enable Quotes toggle turned on" width="1280" height="800" data-path="images/payments/quote-enable-billing-settings.webp" />
</Frame>

*Turn on **Enable Quotes** once per facility before your team uses the Quotes page.*

## Step 2: Open the Quotes page

Go to [Payments > Quotes](https://www.carstoragesoftware.com/dashboard/payments/quotes).

The Quotes page lists each quote, the customer, status, total, and expiration date.

<Frame>
  <img src="https://mintcdn.com/carstoragesoftware/65OxqKrCpk0fG4Bx/images/payments/quotes-list-populated.webp?fit=max&auto=format&n=65OxqKrCpk0fG4Bx&q=85&s=2fc274413490606f498d3ff7523453c3" alt="Quotes page showing quote rows with customer names, status badges, totals, and expiration dates" width="1280" height="800" data-path="images/payments/quotes-list-populated.webp" />
</Frame>

*Use the Quotes page to see drafts, open quotes, accepted quotes, and expired quotes.*

## Step 3: Create the quote

<Steps>
  <Step title="Click Create quote">
    In the top-right area of the [Quotes page](https://www.carstoragesoftware.com/dashboard/payments/quotes), click **Create quote**.

    **Expected result:** A window titled **Create Quote** opens with the description: *Create a price estimate for a customer. Quotes can include one-time charges and recurring plans.*
  </Step>

  <Step title="Choose the customer">
    In **Customer \***, search for the customer and select the correct person or company.

    **Expected result:** The customer name and email appear below the field. If the customer is missing, add them in [Contacts](https://www.carstoragesoftware.com/dashboard/contacts) first.
  </Step>

  <Step title="Add a quote title and message (optional)">
    * **Quote Title (optional)** — short headline the customer will see (for example **Winter Storage Package**).
    * **Message (optional)** — friendly note that appears with the quote.

    **Why this matters:** A clear title helps customers understand what they are approving without calling your office.
  </Step>

  <Step title="Set the expiration date">
    Choose **Expiration Date**. By default the app may suggest a date about 30 days out.

    **Why this matters:** After this date, the quote should not be honored at old pricing.
  </Step>

  <Step title="Add line items">
    Under **Line Items**, click **Add Item** if you need more than one row.

    For each row:

    1. **Type** — usually **Product**
    2. **Item Details** — pick a product from [Products & Services](https://www.carstoragesoftware.com/dashboard/payments/products)
    3. **Price** — pick the pricing variant (for example monthly or one-time)
    4. **Qty** — quantity (often **1**)

    **Expected result:** The subtotal at the bottom updates as you add complete rows.

    If you see **No prices available**, open the product in [Products & Services](https://www.carstoragesoftware.com/dashboard/payments/products) and add a pricing variant, then try again.
  </Step>

  <Step title="Choose whether to email the customer now">
    Find **Send immediately** near the bottom.

    * **Off** — saves a **draft** your team can review first. Click **Create Draft Quote**.
    * **On** — emails the customer when the quote is ready. The button reads **Create & Send Quote**.

    **Why this matters:** Sending too early can lock in pricing before a manager reviews it. Drafts give your team a safe review step.
  </Step>

  <Step title="Confirm and save">
    Click **Create Draft Quote** or **Create & Send Quote**. You may see a short confirmation window that explains what will happen.

    If you chose **Create & Send Quote**, a second window asks **Notify the customer?** Choose **Yes** to send the quote email, or **No** to finalize without emailing. Closing the window cancels the send.

    **Expected result:** The quote appears on [Payments > Quotes](https://www.carstoragesoftware.com/dashboard/payments/quotes) with status **Draft** or **Open**.
  </Step>
</Steps>

<Frame>
  <img src="https://mintcdn.com/carstoragesoftware/65OxqKrCpk0fG4Bx/images/payments/quote-create-dialog-fresh.webp?fit=max&auto=format&n=65OxqKrCpk0fG4Bx&q=85&s=9c2eb9078ba2d9d2afff8865482cffe3" alt="Create Quote dialog showing customer field, quote title, message, expiration date, line items table, and Send immediately toggle" width="1196" height="720" data-path="images/payments/quote-create-dialog-fresh.webp" />
</Frame>

*Complete every line item (product + price) before you save. Use **Send immediately** only when the customer should receive email right away.*

<Frame>
  <img src="https://mintcdn.com/carstoragesoftware/65OxqKrCpk0fG4Bx/images/payments/products-list.png?fit=max&auto=format&n=65OxqKrCpk0fG4Bx&q=85&s=d0738e978158065f862b7ce1e492a776" alt="Products and Services list showing recurring and one-time products used as quote line items" width="1440" height="1000" data-path="images/payments/products-list.png" />
</Frame>

*Build products and pricing variants first so quote line items have prices to select.*

## Review a quote you already created

Click a quote row on the [Quotes page](https://www.carstoragesoftware.com/dashboard/payments/quotes) to open the quote detail page.

<Frame>
  <img src="https://mintcdn.com/carstoragesoftware/65OxqKrCpk0fG4Bx/images/payments/quote-detail.png?fit=max&auto=format&n=65OxqKrCpk0fG4Bx&q=85&s=945bc8a4d8f267b2dca83fe9c2f44b03" alt="Quote detail page showing header, line items, subtotal, tax, total, expiration date, and status" width="1280" height="800" data-path="images/payments/quote-detail.png" />
</Frame>

*Open a quote to confirm status, line items, and total before you follow up with the customer.*

### Draft quotes: finalize when ready

If you saved a **Draft** quote:

1. Open the quote from the list.
2. Review totals and line items.
3. Click **Finalize & Send** (or similar) when pricing is ready for the customer.
4. When **Notify the customer?** appears, choose **Yes** to email the quote or **No** to finalize without emailing.

**Expected result:** Status changes to **Open**. The customer gets email only if you chose **Yes**.

For quotes already sent, use **Resend Email** if the customer needs the link again. That action also asks **Notify the customer?** — choose **Yes** to send.

## What each status means

<Info>
  **Draft** — your team is still editing. The customer has not been asked to approve yet.

  **Open** — the quote is finalized and the customer can review it.

  **Accepted** — the customer approved the quote.

  **Canceled** — your team stopped using this quote.

  **Expired** — the quote is past its expiration date.
</Info>

## Cancel a quote your team will not use

If pricing changed or the customer chose not to move forward, cancel the quote so your team does not bill from old numbers by mistake.

<Steps>
  <Step title="Open the quote">
    Go to [Payments > Quotes](https://www.carstoragesoftware.com/dashboard/payments/quotes) and click the quote row.

    **Expected result:** The quote detail page opens. Status should be **Draft** or **Open**—not **Accepted**.
  </Step>

  <Step title="Cancel from Actions">
    Click **Actions** (or the more-options menu) near the top-right, then choose **Cancel quote** (or similar).

    **Why this matters:** Canceled quotes stay in your history but customers should not accept them anymore.
  </Step>

  <Step title="Confirm">
    Confirm the cancellation when asked.

    **Expected result:** Status changes to **Canceled**. Create a new quote if the customer wants updated pricing later.
  </Step>
</Steps>

<Warning>
  **Already accepted?**

  Do not cancel a quote the customer already accepted if billing was created. Open [Payments > Invoices](https://www.carstoragesoftware.com/dashboard/payments/invoices) or [Payments > Recurring](https://www.carstoragesoftware.com/dashboard/payments/recurring) instead, or ask a manager how to correct billing.
</Warning>

## What success looks like

After you create a quote:

* The quote appears on [Payments > Quotes](https://www.carstoragesoftware.com/dashboard/payments/quotes).
* Status shows **Draft** or **Open** depending on whether you sent it.
* Line items and total match what your team intends to charge.
* If sent, the customer can open the quote from email or the customer portal.

## Tips for better quotes

* Use a short, friendly **Quote Title** that explains the outcome.
* Break large jobs into separate line items so the customer understands the total.
* Set a realistic expiration date so your team does not honor old pricing by mistake.
* Save as a draft when a manager still needs to review pricing.

## Troubleshooting

<Warning>
  **I do not see Create quote**

  Open [Settings > Billing](https://www.carstoragesoftware.com/dashboard/settings/billing) and turn on **Enable Quotes**. If the button is still missing, ask an admin to confirm your account can access Payments.
</Warning>

<Warning>
  **Price says No prices available**

  The product needs at least one pricing variant. Open [Products & Services](https://www.carstoragesoftware.com/dashboard/payments/products), edit the product, and add a variant. See [Manage products and services](/docs/payments/manage-products-and-services).
</Warning>

<Warning>
  **Please complete all line items**

  Each row needs a product **and** a selected price. Remove empty rows or finish every column before saving.
</Warning>

<Warning>
  **The customer is missing**

  Create the customer first in [Contacts](https://www.carstoragesoftware.com/dashboard/contacts), then return to [Quotes](https://www.carstoragesoftware.com/dashboard/payments/quotes).
</Warning>

## Turn an accepted quote into billing

When a customer **accepts** a quote online, Car Storage Software usually creates the right billing record **automatically**. Your team does not need to click a separate **Convert to invoice** button on the quote page.

<Info>
  **One-time charges** on the quote usually become a **customer invoice** on [Payments > Invoices](https://www.carstoragesoftware.com/dashboard/payments/invoices).

  **Recurring charges** on the quote usually become a **recurring plan** on [Payments > Recurring](https://www.carstoragesoftware.com/dashboard/payments/recurring).

  If the quote included both types, check both pages after the customer accepts.
</Info>

### What the customer does

<Steps>
  <Step title="Open the quote link">
    The customer opens the quote from their email or the customer portal.

    **Expected result:** They see line items, the total, and a way to accept the pricing.
  </Step>

  <Step title="Accept the quote">
    The customer reviews the pricing and accepts it online.

    **Why this matters:** Acceptance is the customer's formal yes. After this step, your facility can bill based on what they approved.
  </Step>
</Steps>

### What your team does after acceptance

<Steps>
  <Step title="Confirm the quote status">
    Go to [Payments > Quotes](https://www.carstoragesoftware.com/dashboard/payments/quotes) and open the quote. Status should show **Accepted**.
  </Step>

  <Step title="Find the new invoice or recurring plan">
    * **One-time work:** [Payments > Invoices](https://www.carstoragesoftware.com/dashboard/payments/invoices) — look for a new invoice for that customer.
    * **Repeat charges:** [Payments > Recurring](https://www.carstoragesoftware.com/dashboard/payments/recurring) — look for a new plan.

    **Why this matters:** Totals should match what the customer already approved.
  </Step>

  <Step title="Collect payment or monitor the plan">
    * New **invoice** → [Send and collect customer payments](/docs/payments/send-and-collect-customer-payments)
    * New **recurring plan** → [Manage recurring billing](/docs/payments/manage-recurring-billing)
  </Step>
</Steps>

<Tip>
  **Quote includes recurring items?**

  On the quote detail page, you may see a note that recurring charges are included. After acceptance, check [Payments > Recurring](https://www.carstoragesoftware.com/dashboard/payments/recurring) so monthly storage or membership billing is on track—not only a one-time invoice.
</Tip>

### If you need to bill manually instead

Use this only when your manager asks you to create billing by hand (for example, the customer approved pricing over the phone).

<Steps>
  <Step title="Open the accepted quote for reference">
    Keep the **Accepted** quote open so you can match line items and totals.
  </Step>

  <Step title="Create billing">
    * One-time work → [Create an invoice](/docs/payments/create-an-invoice)
    * Repeat charges → [Manage recurring billing](/docs/payments/manage-recurring-billing)
  </Step>

  <Step title="Match amounts">
    Use the same customer, descriptions, and amounts from the accepted quote.
  </Step>
</Steps>

<Warning>
  **Quote expired or canceled?**

  Do not bill from an old quote. Create a new quote with current pricing, or ask your manager before sending an invoice.
</Warning>

## What to do next

After the quote is accepted, follow the steps above to invoice the customer or start recurring billing.

For one-time work without a quote, use [Create an invoice](/docs/payments/create-an-invoice).


## Related topics

- [When a customer accepts a quote](/docs/payments/when-a-customer-accepts-a-quote.md)
- [Create an invoice](/docs/payments/create-an-invoice.md)
- [Payments overview](/docs/payments/overview.md)
- [Manage products and services](/docs/payments/manage-products-and-services.md)
- [Connect payment processing](/docs/settings/connect-payment-processing.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.