> For the complete documentation index, see [llms.txt](https://docs-shpf.bsscommerce.com/bss-b2b-quick-order-and-quotes/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs-shpf.bsscommerce.com/bss-b2b-quick-order-and-quotes/request-for-quote/quote-logic.md).

# 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.
