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

# Supplier quotes

> A supplier's priced response to your RFQ, one per supplier, ready to convert into a purchase order.

A **supplier quote** is a supplier's priced response to a purchasing RFQ. It records price, lead time, and shipping for each requested item and quantity. It is distinct from a sales quote, which your company sends to a customer.

Each RFQ exchange stores one quote per supplier. You can compare the responses and convert the selected quote into a purchase order. Conversion also updates the item's supplier-part price for later orders.

## Where a quote comes from

Most quotes are the response half of an RFQ. You send a purchasing RFQ to several suppliers, and each supplier's reply becomes its own supplier quote, all hanging off the same request. The RFQ email carries the files attached to the RFQ and its lines, plus each part's original CAD file (the file you uploaded or pushed from CAD). Models go in as attachments while the email stays under 25 MB; the rest are download links in the email that work for 7 days. A quote can also be entered directly, without a preceding RFQ, when you already have pricing to record.

Either way the quote lives under a **supplier interaction**, the umbrella record that ties this supplier's quote, RFQ, and any resulting purchase order together so you can trace the whole exchange in one place.

NOTE

**One quote, one supplier**

A supplier quote is single-supplier by design. When you fan an RFQ out to five vendors you get five quotes back, not one quote with five columns. The side-by-side comparison is a separate view that reads across the sibling quotes, not a field on any one of them.

## Lines and pricing

A quote line names one item (or a G/L account line for non-stock spend) and the quantities you're pricing. Because you usually ask for a price at several volumes, the line's requested quantities are an **array**, and each quantity carries its own price row. This is the quantity-break table: a lead time, a unit price, and a shipping cost per quantity.

FieldType

<details>
  <summary>**Item**`reference`</summary>

  The part, material, tool, consumable, or service being priced. A `G/L Account` line prices non-stock spend instead.
</details>

<details>
  <summary>**Quantity**`number[]`</summary>

  The quantities you're asking the supplier to price. Each one gets its own price row.
</details>

<details>
  <summary>**Unit price**`number`</summary>

  The supplier's price at that quantity, in the supplier's currency. `unitPrice` in your base currency is derived from the exchange rate.
</details>

<details>
  <summary>**Lead time**`number`</summary>

  Days to deliver at that quantity.
</details>

<details>
  <summary>**Shipping cost**`number`</summary>

  Per-unit shipping at that quantity, in the supplier's currency.
</details>

<details>
  <summary>**Conversion factor**`number`</summary>

  Inventory units per one purchase unit, when the supplier sells in a different unit than you stock in.
</details>

NOTE

**Prices are quoted in the supplier's currency**

The unit price, shipping, and extended price you type are the supplier's numbers, in the supplier's currency. Alforse stores the base-currency equivalents as generated columns using the quote's exchange rate, so the comparison and the resulting purchase order are always in your currency. Change the header exchange rate and every price row re-derives.

## Lifecycle

A quote is editable only while it's a **"Draft"**. Finalizing moves it to **"Active"**, which is the state comparison and conversion read from. Everything past Draft is locked.

<details>
  <summary>**Draft**</summary>

  Being built. The only editable state: you can add lines, enter prices, and adjust dates here.
</details>

<details open>
  <summary>**Active**</summary>

  Finalized. Locked, and the state the comparison and convert-to-order flows read.
</details>

<details>
  <summary>**Expired**</summary>

  Past its expiration date. Pricing is no longer trustworthy.
</details>

<details>
  <summary>**Declined**</summary>

  The supplier declined to quote.
</details>

<details>
  <summary>**Cancelled**</summary>

  Withdrawn before it went anywhere.
</details>

HEADS UP

**Locked once it leaves Draft**

Any status other than Draft locks the quote. Record post-finalization price revisions on a new quote to preserve the comparison history.

## The supplier's link

Sending the quote emails the supplier a private link along with the request — no Alforse login needed. The supplier prices the work directly on the page: for each quantity they choose, they enter a **unit price**, a **lead time** in days, **shipping cost**, and **tax**, and can attach a note per line. When every selected line has both a price and a lead time, **"Submit Quote"** lights up; they enter their name and email and submit. They can instead **"Decline Quote"**, optionally leaving a reason.

Both flows are open only while the quote is a **"Draft"**; once submitted or declined the page is read-only, and a Draft past its expiration date shows an expired state. Each visit stamps the link's last-accessed time, so you can see whether the supplier has opened it. Whoever holds the URL can open the page — send it to the right contact and nowhere public.

## From quote to purchase order

When you've picked a winning quote, **"Convert to Order"** turns it into a purchase order. You choose which lines and which quantity tier to buy, and Alforse raises a purchase order for that supplier with the item lines, the supplier's contact and location, and the exchange rate all carried across from the quote. If the quote came from an RFQ, the new order is linked back to that RFQ.

Conversion also updates the item's **supplier part**. For each converted line, Alforse writes quantity-break prices to the supplier's `supplierPart` record (source: `Purchase Order`) and sets its primary unit price to the best tier. Later orders can reuse these prices.

NOTE

**Prices are kept as quoted**

The quantity-break prices land on the supplier part as the supplier quoted them: per purchase unit, in the quote's currency. A supplier part that already exists in another currency keeps its currency, and the prices are converted into it. Each later order converts the stored price into its own currency at the exchange rate of that day.

For what happens to the order once it exists, see [purchase orders](/docs/reference/purchase-orders.md).


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