Skip to main content

Catalog Mode and Quote Requests

Catalog Mode lets you turn selected products, selected collections, or the full catalog into a quote workflow. It is off by default, so existing checkout behavior stays unchanged until you enable it.

Use this when customers should build a request list and send contact details instead of paying immediately.

What This Feature Does

  • Replaces checkout with Submit Quote Request when the cart contains quote items.
  • Supports targeted quote products by product tag or collection handle.
  • Can apply to the full catalog, with an option to exclude Team Store products.
  • Lets you show suggested pricing or hide pricing.
  • Includes a page.quote-request template for collecting contact details and quote notes.
  • Can submit through Shopify's contact form, or send JSON to an optional quote processor endpoint.

Quick Start

  1. Create a Shopify page named something like "Quote Request".
  2. Set the page template to page.quote-request.
  3. Go to Online Store -> Themes -> Customize -> Theme settings -> Catalog Mode.
  4. Enable Catalog mode.
  5. Choose Catalog mode scope.
  6. For targeted mode, enter product tags and/or collection handles.
  7. Choose whether prices should show as suggested pricing or be hidden.
  8. Set Quote request page to the page you created.
  9. Add quote test products to the cart and confirm checkout changes to Submit Quote Request.

Scope Options

Tagged products and collections

Use this for a mixed catalog where only some items should be quoted.

  • Add one or more product tags in the Catalog Mode settings.
  • Add collection handles if every product in those collections should use quote mode.
  • Products outside those tags or collections keep normal add-to-cart and checkout behavior.

Entire catalog

Use this when the storefront should behave like a quote catalog.

  • All cart items are treated as quote items.
  • Checkout buttons route to the quote request page.

Entire catalog except Team Stores

Use this when the main catalog should be quote-based but Team Store products should keep their normal access and purchase flow.

  • Team Store tagging is used to identify Team Store products.
  • Non-Team Store products follow catalog mode.

Price Display

Choose the display that matches how you sell:

  • Show suggested pricing - Customers can see product pricing while still submitting a quote request.
  • Hide pricing - Product and cart quote areas avoid showing prices when the quote should be priced manually.

If suggested pricing is enabled, you can customize Suggested price prefix or leave it blank to show prices without a label.

Quote Request Page

The page.quote-request template shows:

  • A summary of requested cart items.
  • Visible line item properties, such as customization notes and selected options.
  • Customer contact fields.
  • A message field for deadlines, artwork notes, delivery needs, or other context.
  • A success message after submission.

In the quote request section, you can customize headings, intro text, button text, success copy, color scheme, spacing, and whether the cart should clear after a successful submission.

Optional Quote Processor

The theme works without an app by submitting quote requests through Shopify's contact form. The store receives the quote details by email.

If you want draft orders or CRM records created automatically, add a secure app proxy or Cloudflare Worker URL to Quote processor endpoint.

The optional endpoint receives JSON with:

  • contact: name, email, phone, company, and message
  • cart: token, total, currency, items, variant IDs, quantities, prices, URLs, SKUs, and visible line item properties
  • context: shop, page URL, and currency

The endpoint should return JSON like:

{
"success": true,
"quote_id": "D123"
}

If the processor is unavailable, the theme falls back to Shopify's contact form email.

Important Limits

  • File uploads are not re-uploaded. If Shopify has a file URL in the line item property, the quote request includes that URL as text.
  • Theme-level checkout replacement is not tamper-proof. Direct checkout or API enforcement requires a Shopify validation function or app.
  • If you use Team Stores, test the Entire catalog except Team Stores scope with locked and unlocked Team Store carts before launch.

Launch Checklist

  • Catalog Mode is enabled only on the intended theme.
  • Scope is set to the intended catalog coverage.
  • Product tags and collection handles match exactly when using targeted mode.
  • Quote request page uses the page.quote-request template.
  • Quote request page is selected in Theme settings.
  • Pricing display matches the sales process.
  • Contact form fallback sends the expected quote email.
  • Optional quote processor returns a successful JSON response, if used.
  • Cart clears after submission only if that is the desired behavior.