Negotiated per-quote pricing, public quote links, the draftOrderCreate accept flow, PO PDF parsing, AI counter-offers, company management, and bulk operations — for Shopify Basic, Grow, and Advanced. No Plus required.
Set the unit price on each line as you build a quote — per-SKU, per-quantity, per-deal. The line totals and the quote total recompute as you negotiate.
ExampleAcme asks for 500 boxes. Drop SS-1000 from $1.40 to $1.09 on the line, watch the quote total update, send.
Public quote links
Every quote gets a public URL at /q/<random-token>. Share it by email, Slack, or any channel — the buyer doesn't need a Shopify account. Tokens are opaque so they don't leak order value or buyer identity.
ExampleSend 'Here's your quote: …/q/abc123xyz789' — the buyer clicks, reviews, accepts.
draftOrderCreate accept flow
When the buyer clicks Accept, we call Shopify's draftOrderCreate GraphQL mutation to create a real Shopify order. They pay through your normal Shopify checkout — credit card, ACH, anything you accept.
ExampleBuyer accepts → real Shopify Order #1234 → appears in Orders → fulfilled like any normal order.
Quote ledger & reversibility
Every quote action — create, send, view, accept, decline, cancel — is logged with timestamps. A full audit trail for disputes, and cancelled quotes can be re-sent without rebuilding.
ExampleA buyer disputes a line six weeks later. Open the ledger → the exact prices they accepted, with the timestamp.
PO parsing
Pro
PO PDF → draft order
Drop a PO PDF. We extract line items, quantities, prices, and buyer info, then match each line to your catalog with a confidence score. Pre-fills a draft quote ready for review.
ExampleA buyer emails a PO PDF. Drop it in → line items extracted and matched → review the low-confidence rows → send.
Pro
Confidence-scored matching
Exact-SKU match first, then case-insensitive, then a fuzzy match on the description. Anything below the confidence threshold is flagged for you to confirm — nothing silently becomes a wrong line.
ExampleSKU 'SS1000' on the PO matches your 'SS-1000' at high confidence; a vague 'box, large' is flagged for review.
AI negotiation
Growth
Counter-offer engine
When a buyer counters, the engine reads that company's order history, your margin floor, and typical category patterns, and drafts a reasonable counter-counter. You approve, edit, or override before sending.
ExampleBuyer counters $4,200. Engine drafts '$4,350 with 30-day terms' from Acme's prior $4,400 deal and your margin floor.
Growth
Margin-aware, never autonomous
Set your margin floor and the engine never drafts below it. It's a suggestion layer with a per-line rationale — it never sends on your behalf. You keep final control of every price.
ExampleMargin floor 30% on SS-1000. A buyer offer that would breach it gets a 'hold' recommendation, not a discount.
Company management
Repeat B2B customer profiles
Track companies with multiple buyers, locations, and quote history — pulled from your Shopify companies. Build a quote for any contact and their company context comes with it.
ExampleAcme has four buyers across two ship-to locations. Build a quote for Buyer Sue → Acme's history and locations are right there.
Bulk operations
CSV bulk import
Import line items from a CSV to build big quotes fast instead of adding products one at a time. Ideal for long catalogs and recurring order templates.
ExampleA 60-line reorder arrives as a spreadsheet. Import the CSV → a draft quote in seconds → adjust prices → send.
Filtered export & quote PDFs
Export quotes to CSV — filtered by status, company, or date — for finance and reconciliation, and generate a branded quote PDF for any quote.
ExampleMonth-end close: export all accepted quotes for Q3 → reconcile against Shopify orders in your accounting tool.
Confidence
Growth
Verification harness
Replay your current pricing rules against historical orders and see how many would have produced identical totals — proof there's no regression before you roll out a pricing change.
ExampleBefore changing your discount rules, replay them across the last 200 orders and confirm the totals still line up.
The accept loop
How a quote becomes a paid order
You build a B2B quote in the dashboard — line items with negotiated per-quote pricing.
You click Send. Quote Desk generates a public quote link (/q/<random-token>).
You share the link by email, Slack, or any channel.
The buyer opens the link in a browser — no Shopify account required.
The buyer clicks Accept on the public quote page.
Quote Desk calls Shopify's draftOrderCreate mutation to create a real order.
The buyer pays through your normal Shopify checkout.
The order flows into your Shopify admin like any other order. Fulfill as usual.
Reversible by design. The buyer can decline, and you can cancel any quote until Accept is clicked. Every action is logged to the quote ledger for a full audit trail.
See every feature on the live app
The Quote Desk listing returns to the Shopify App Store on June 12. Start a 14-day free trial on any plan.