For the complete documentation index, see llms.txt. This page is also available as Markdown.

How a buyer requests a quote

This is what your customer sees from the moment they click Request a Quote to the moment they receive your reply.

1. The button on the product page

Logged-in B2B customers (per your eligibility rule) see a Request a Quote button below the Buy buttons. The label is editable per language under Settings → Storefront Text → Quote.

2. Click → modal opens

The button opens a modal on the same product page — no redirect, no checkout interruption. The modal shows:

  • All variants of the current product as rows

  • The buyer's contact info already filled in (name + email) for logged-in customers

  • An optional message box

  • Optional file attachment (PDF / JPG / PNG, max 2 MB)

3. Set quantities + target prices

The buyer enters a quantity on the variants they want to quote. Rows with quantity 0 are skipped.

For each row they can suggest a target price (optional). Leave it blank and the modal pre-fills the current catalog price as a starting point.

Other optional fields appear if enabled in Quote settings:

  • Needed-by date

  • PO number

  • Tax / VAT ID

4. Submit

When the buyer clicks Submit quote request:

  • The app validates email + at least one variant has quantity > 0

  • It checks eligibility against the customer's Shopify tags (your rule from Quote settings)

  • Auto-reject rules apply — too-low target price or too-low quantity gets a polite rejection message

  • A new quote is created with status Pending in your Quotes inbox

  • You receive a New quote request email

  • Buyer is redirected to their quote detail page, status Pending — Waiting for a reply

5. Buyer waits for your reply

Logged-in buyers see all their quotes in the B2B Customer Portal at /apps/orbit-boost-wholesale/portal/quotes. An individual quote also opens directly at /apps/orbit-boost-wholesale/quotes/<id> (used by email deep links and buyers who aren't in the portal). Or they wait for the Quote update email and click the link.

While the quote is Pending, the buyer can only view — Accept / Decline / Send reply buttons appear only once you have replied with prices.

Behind the scenes

  • The block reads the customer's info from Liquid ({{ customer }}) so the modal pre-fills without any extra API call.

  • For customers using Shopify's new customer accounts, the backend falls back to looking up the customer by email when the App Proxy doesn't pass an ID.

  • Customer tags are validated again on the server so the frontend cannot bypass your B2B-only rule by editing the page.

Next steps

Last updated

Was this helpful?