# Quote Logic

#### 1. What is Quote Logic?

A **quote** logic defines how the Request for Quote feature behaves in your store. It tells the app:

* Who can request a quote (customer group or segment)
* Which products can be quoted
* How and where the Quote button is displayed

You must create at least one quote logic for the quote feature to work.\
If you use Shopify Plus with both **Default Store** and **B2B Store**, you should create **separate quote logics** for each store type.

**How to create a quote logic**

1. In Shopify Admin, open the app.
2. Click **Request for Quote** in the left navigation.
3. In the **Quote Settings** section, click **Set Up Logics**, then **Create New Logic**.
4. If your store supports it, select the **Store Type** (Default or B2B).
5. A setup modal opens with 3 tabs:&#x20;
   * **Set Up Quote Visibility**
   * **Set Up Prices & Buttons**
   * **Customize Quote Form**
   * **Customize Quote Widget**

You configure the logic across these four tabs.

***

#### 2. Conditions (products, collections, customers, tags, companies)

Conditions define **when** a quote logic applies:

* Which customers see the quote form
* Which products show the Quote button

These are set in the **Set Up Quote Visibility** tab.&#x20;

**2.1 General information (basic identity of the logic)**

* **Name**
  * Internal name for the logic (e.g, “Wholesale – Summer 2025”, “VIP RFQ – Custom items”).
  * Used only in the app, not shown to customers.
* **Status**
  * **Active** – logic is live and applied on your storefront.
  * **Inactive** – logic is saved but not applied.
* **Priority**
  * A number from **0 to 99** that controls execution order when logics overlap.
  * **0 = highest priority** (applied first).
  * Use **lower numbers** for the most specific or important logics.

**2.2 Who can request a quote? (customer conditions)**&#x20;

You can choose which customer segment will see the quote form:

* **All customers**
  * Everyone sees the quote form (including visitors who are not logged in).
* **Logged-in customers**
  * Only logged-in users can request a quote.
  * Common for simple B2B setups where all logged-in users are considered B2B.
* **Specific customers**
  * Select individual customers from your customer list.
  * Useful for key B2B accounts or pilot customers.
* **Customer tags**
  * Only customers with specific tags see the quote form.
  * Examples: `wholesale`, `VIP`, `b2b_customer`.

> When using Shopify B2B, your “specific customers” are typically **company contacts**, and you can still use **tags** to reflect company, region, or program (e.g. `company_abc`, `region_eu`).

**2.3 Which products can be quoted? (product conditions)**

You decide where the Quote button and form will appear:

* **All products**
  * Quote button appears on every product.
* **Specific products**
  * Manually select individual products.
  * Useful when only a few SKUs need quoting.
* **Product collections**
  * Apply the logic to one or more collections.
  * Ideal for custom, high-value, or B2B-only collections.
* **Product tags**
  * Show the quote option on products with certain tags (e.g. `b2b`, `custom`, `quote_only`).

You can combine product conditions with customer conditions to build very specific logic. For example:

* Only **VIP customers** can request a quote on the **“Summer 2025”** collection.

***

#### 3. Priority & conflict handling

When you have multiple quote logics, more than one logic may match the same product and customer. The **Priority** value decides which logic is applied.

Priority is set in **Set Up Quote Visibility → General Information**.

**3.1 How priority works**

* Priority is a number from **0 to 99**.
* **0 = highest priority** (most important / most specific).
* Logic with **lower numbers** is evaluated first.&#x20;

If a product/customer combination is covered by several logics:

* The logic with **the lowest priority number** (e.g., 0, 1, 2…) is applied.
* Other matching logics with higher numbers are ignored for that view.

**For Example  – Global** logic **+ VIP override**

* Logic A
  * Name: “Global Wholesale RFQ”
  * Priority: 50
  * Customers: tag = `wholesale`
  * Products: all products
* Logic B
  * Name: “VIP – RFQ with special conditions”
  * Priority: 10
  * Customers: tag = `vip`
  * Products: all products

Result:

* A VIP customer (tag `vip`) also matches the global logic, but logic **B** has lower priority (10 vs 50), so logic **B** is applied.

**3.2 Best practices**

* Use clear names and numbers
  * Example:
    * `05 – VIP RFQ`
    * `10 – Custom Items RFQ`
    * `50 – Global B2B RFQ`
* Make the **most specific** logic use the **lowest numbers** (highest priority).
* Start with one simple global logic, test it, then add more specific logics as overrides.
* Avoid multiple logics with the **same priority** that target overlapping customers/products, to keep behavior predictable.

With well-designed conditions and a clear priority scheme, Quote Logic lets you control exactly who can request quotes, on which products, and how the experience looks, even in complex B2B environments.


---

# Agent Instructions: 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:

```
GET https://docs-shpf.bsscommerce.com/bss-b2b-quick-order-and-quotes/request-for-quote/quote-logic.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
