Why building materials and millwork sell on quotes, not carts
Lumber, doors, cabinetry, moldings, hardware, and custom millwork rarely sell at a fixed shelf price. A contractor ordering 40 pre-hung doors or a linear-foot run of custom trim expects volume pricing, a freight estimate for a pallet or LTL shipment, and often a lead time before they commit. A standard “add to cart” button does not fit that buyer. ShopQuotes replaces it with a “Request a Quote” flow that lets trade buyers ask for a number, then pay once the number is agreed.
Hide retail pricing from trade buyers
You can hide the price and the add-to-cart button on the products or collections that should only sell by quote, and show a request form instead. Walk-in retail buyers still check out normally on the products you leave public. The request-a-quote form is a builder, so you can capture what actually drives a millwork quote: quantities, dimensions, wood species or finish, job site zip for freight, and delivery date. If you are new to this pattern, see what a request-a-quote flow is on Shopify.
From request to draft order
Every request becomes a real Shopify draft order, not a note in a separate inbox. You adjust line items, set contract or tiered pricing, add a freight line, and apply the customer’s account terms inside Shopify where your catalog, inventory, and tax already live. Nothing is re-keyed into a second system.
Send the quote your way
Once the draft is ready, ShopQuotes sends a branded Live Quote page the buyer opens, accepts, and pays for through native Shopify checkout. You choose how it goes out:
| Channel | Use it for |
|---|---|
| Email from your own domain | Gmail, Outlook, SendGrid, Resend, or any SMTP, so the quote lands from your company address |
| Shareable link | Pasting into an existing email thread or text with a contractor |
| Buyers whose procurement requires a document to file or attach to a PO |
Open, click, and conversion analytics sit on every quote, so you know when a builder viewed the number and which quotes are going cold. That is the difference between a plain RFQ form and a CRM for quotes: you build, send, and track in one place.
Freight and volume pricing, handled per job
Because pricing is set per draft order, you are never locked into one price for a SKU. Quote a different per-unit rate for a 12-door order than a 2-door order, add the actual freight for that destination, and note the lead time. The buyer sees one clean total and pays it.
Plans and getting started
The Launch plan is free: unlimited quote requests, up to 5 Live Quotes, hide price and add to cart, the form builder, draft order conversion, and analytics. Grow ($19/mo) adds email sending, reusable branded templates, a custom quote domain, and PDF quotes. Scale ($49/mo) is unlimited Live Quotes and email. Paid plans include a 30-day free trial, bill through Shopify in USD, and there is no commission on orders. See full pricing or the related wholesale and B2B guide.
Merchants in adjacent trades already run this way, from industrial suppliers to made-to-order manufacturers. Install ShopQuotes from the Shopify App Store and turn quote requests into paid orders.