Skip to main content
Store operations and content

Shopify B2B Has No Request-a-Quote Workflow: What a Draft Order Actually Does, and Which RFQ App to Buy

Shopify B2B ships company accounts, catalogs, and net terms, but it has no request-a-quote workflow. The closest native object is the draft order. This article settles exactly what a draft order does and does not do: custom line-item prices yes, payable invoice link yes, automatic inventory reservation no, buyer counter-offers no, invoice expiry not published. It also corrects the outdated claim that Shopify B2B is Plus-only — as of September 2, 2026 the Help Center states B2B runs on Basic, Grow, Advanced, and Plus, with only direct company catalogs, deposits, partial payments, and contextual experiences gated above Basic. Then it compares five live RFQ apps on the one question that decides the operational outcome: whether the quote becomes a native Shopify draft order, whether the buyer can pay from it, and whether the app understands B2B company accounts and catalog price lists at all.

AIEC App Lab AI Editorial TeamPublished Updated Read 16 min#Shopify blog operations#App comparisons

What you will learn

On this pageContentsCloseOpen

Merchants move to Shopify B2B expecting a quote object. They find company accounts, catalogs, price lists, net terms, and PO numbers — and then discover there is no place in the admin where a buyer requests a quote, a rep prices it, the buyer counters, and the quote becomes an order. That workflow does not exist natively. It has never existed natively.

The nearest thing Shopify gives you is the draft order. A draft order is a real, useful object: you can set custom prices per line item, add items that aren't in your catalog, attach shipping and tax, and email a payable checkout link. For a lot of wholesale businesses that is genuinely enough. But it is a merchant-authored order, not a negotiation. The buyer cannot open it, edit it, or send it back with a different number.

The second thing merchants get wrong is the plan question. "B2B is Plus-only" is an outdated claim that still circulates in 2026 blog posts. It isn't true anymore, and the specific list of what remains Plus-gated matters a lot for whether you need an app.

The third thing — the one almost nobody checks before installing — is where the quote physically lives. Some apps create a native Shopify draft order and hand the buyer a real checkout link. One of the most popular B2B apps on the store explicitly does not create a draft order at all. And most quote apps have no idea your B2B catalog price lists exist, which means the quoting layer and the wholesale-pricing layer will disagree about price, silently.

Research date: September 2, 2026. All pricing is USD as listed on the English (US) Shopify App Store, and all ratings and review counts were read from the listing headers on that date.

The short version

  • Shopify has no native RFQ object. The draft order is the closest thing, and it is merchant-authored only.
  • Draft orders do support custom line-item prices and custom items. The Help Center: "You can set a custom price on any line item in a draft order to charge more or less than the product's listed price."
  • Draft orders do produce a payable link. "By default, the invoice contains a link to a checkout, where your customer can pay for their order." After payment, the draft becomes a paid order.
  • Draft orders do not reserve inventory by default. Reservation is a manual, opt-in action with an expiry you set.
  • There is no buyer counter-offer, no buyer-side edit, and no published invoice expiry date. The only documented lifecycle rule: drafts created on or after April 1, 2025 are auto-deleted after 1 year of inactivity.
  • B2B is not Plus-only in 2026. The Help Center states you can use Shopify B2B on Basic, Grow, Advanced, and Plus. Plus-gated: unlimited catalogs, direct company catalogs, deposit requirements, partial payments, payment requests per fulfillment. Advanced-and-up: contextual checkout and contextual storefront.
  • Draft orders are fully B2B-aware — but only when a B2B customer and a company location are assigned.
  • Where the quote lives is the whole ballgame. SparkLayer B2B & Wholesale's Quoting Engine does not create a Shopify draft order. Most RFQ apps do. Only one of the five apps below states B2B company and catalog support on its listing.
  • Converting a quote to an order is a paid plan in every RFQ app checked — $7.99/month at the cheapest, $36.99/month at the most expensive dedicated app, $299/month (or a $49/month add-on) at SparkLayer.

What a draft order actually does, line by line

Every claim below comes from help.shopify.com, checked September 2, 2026.

QuestionAnswerDetail
Custom prices per line item?Yes"A custom price applies only to the line item on this draft order. The product's price isn't changed."
Custom line items not in the catalog?Yes, with real costsCustom items "aren't tracked as inventory and don't affect your stock levels," don't appear in product sales reports, and "You can't use custom items with automated fulfillment or shipping apps."
Payable invoice link to the buyer?Yes"After the customer completes the checkout process using the link, the draft order becomes an order in the Orders page and is automatically marked as Paid."
Does it reserve inventory?No, unless you opt in"If you don't reserve items, then the quantities stay in the Available inventory state and can be purchased by other customers." Reserving requires inventory tracking and an expiry date you choose.
Can the buyer counter-offer or edit?NoThe buyer's only documented actions are paying, and — if you enable it — applying a discount code. There is no counter-offer path.
Does the invoice expire?Not publishedShopify publishes no expiry for the invoice or checkout link. The only lifecycle rule: drafts created on or after April 1, 2025 are "automatically deleted after 1 year of inactivity."
Is there an approval chain?Merchant-side onlyWith "Submit all orders as drafts for review" enabled per company location, buyers see a Submit for approval button at checkout. There is no multi-step buyer-side approval.
Works with B2B companies and catalog pricing?Yes"If a draft order has a B2B customer and a company location assigned to it, then the prices, payment terms, and checkout options automatically reflect the settings for that company."
Supports B2B payment terms?YesNet 7/15/30/45/60/90, due on receipt, due on fulfillment, and fixed term. Percentage deposits are Plus-only.

Two details deserve emphasis because they change how a draft order behaves as a quote.

Price lock is the quote-honoring mechanism. A draft order's prices are unlocked by default, but "When sending an invoice or sharing a checkout link, the pricing is set to lock by default unless you manually set it to be unlocked." That is what makes a quoted price hold if you later change the product price. It also cuts both ways: a lock "prevents prices from being raised, but they also prevent prices from being automatically lowered."

Unreserved inventory is the failure mode. If you send an invoice for items you never reserved and they sell out, "customers trying to check out are notified that the item is out of stock and can't complete the sale." Your quote is live, the buyer clicks, and the checkout rejects them.

What is actually Plus-gated in 2026

Stop repeating "B2B is Plus-only." As of September 2, 2026, the Shopify Help Center states plainly: "You can use Shopify B2B on the Basic, Grow, Advanced, and Shopify Plus plans." And on the features overview page: "Shopify B2B is available on all plans."

FeatureBasicGrowAdvancedPlus
Companies, company locations, location-level permissionsYesYesYesYes
B2B catalogs assignable to B2B markets333Unlimited
Direct company catalogs (assigned to a company/location)NoNoNoYes
Quantity rules and quantity price breaksYesYesYesYes
Net terms, payment reminders, vaulted cards, ACH (US only)YesYesYesYes
Deposit requirements (companies and draft orders)NoNoNoYes
Partial payments, payment requests per fulfillmentNoNoNoYes
Draft order to invoice, checkout to draft, PO numbers, easy reordersYesYesYesYes
Contextual checkout and contextual storefront (via Markets)NoNoYesYes
Trade theme, quick order list, Shopify Flow with B2B objectsYesYesYesYes

One catch that trips people up: "To use B2B catalog features on the Basic, Grow, or Advanced plans, your store must be using new Shopify Markets."

Read the table against your actual quoting problem. If you need per-customer negotiated price lists rather than three market-level catalogs, that is the Plus line. If you need a deposit before you build the order, that is the Plus line. Everything else in the draft-order quote flow works on Basic.

The question that decides the outcome: where does the quote live?

Every RFQ app puts the quote in one of two places. Either it becomes a native Shopify draft order — visible under Orders > Drafts, editable by your team, invoiceable through Shopify's own checkout, and subject to every rule above — or it stays as an object inside the app, with its own statuses, its own emails, and its own idea of price.

Neither is wrong. But the second one has a specific consequence: a draft order inherits catalog pricing only when a B2B customer and a company location are assigned to it. An app that creates a draft order without assigning the company location will produce D2C prices, and your rep will re-key the wholesale numbers by hand — which is precisely the manual work you bought the app to remove.

SparkLayer is the clearest case, because it documents its own answer. Its Quoting Engine page asks whether the engine creates a Shopify draft order, and answers no: quotes are managed entirely within SparkLayer, no draft order is created, and once the customer confirms, the quote converts into a regular Shopify order. That is a coherent design — SparkLayer runs its own price lists, its own customer groups, and its own buyer portal — and the trade-off is stated elsewhere in its docs: SparkLayer and Shopify's native B2B "can't currently run side by side for the same customer session."

AppRating (reviews)Built for ShopifyEntry priceWhere the quote livesBuyer pays from itB2B companies / catalogs statedHide price
SA Request a Quote, Hide Price (Samita)4.9 (619)YesFree; $16.99; $36.99App quote to Shopify draft order + invoiceYes, via Shopify checkout linkYes — listing states it "works with B2B companies and catalogs"; requests the Companies and payment-terms scopes$16.99 tier
Q:Request a Quote & Hide Price (Quotify, AppHive)4.9 (103)Yes$17; $34; $700 lifetimeApp proposal to auto draft orderYes, via draft-order invoicePartly — "B2B Catalogs" listed on the $17 tier; the app's own "Price lists" are a separate $34-tier layer$17 tier
SB Request a Quote, Hide Price (SetuBridge)4.7 (191)YesFree; $7.99; $12.99; $19.99App quote to draft orderYes, after convertingNot stated on the listingFree tier
SparkLayer B2B & Wholesale4.9 (362)NoFree; $49; $149; $299Inside SparkLayer — no Shopify draft orderYes, buyer confirms and completes through SparkLayer's B2B checkout; the quote converts to a Shopify orderOwn price lists; associates orders to Shopify companies, but can't run alongside native B2B in the same sessionOwn B2B layer
Quotilio - Quote Manager (Skylitech)3.4 (14)No$7.99; $10.99; $13.99App draft quote to checkout linkYes, via checkout linkNot statedYes

SA Request a Quote, Hide Price listing on the English Shopify App Store, showing the Built for Shopify badge, the 4.9 rating from 619 reviews, and the "Works with B2B companies and catalogs" bullet

Source: Shopify App Store, SA Request a Quote, Hide Price listing (English). Captured September 2, 2026.

SparkLayer B2B & Wholesale listing on the English Shopify App Store, showing the 4.9 rating from 362 reviews and the plan lineup that puts quoting on the Pro tier

Source: Shopify App Store, SparkLayer B2B & Wholesale listing (English). Captured September 2, 2026.

Q a Quote & Hide Price listing on the English Shopify App Store, showing the Built for Shopify badge and the 4.9 rating from 103 reviews

Source: Shopify App Store, Q:Request a Quote & Hide Price listing (English). Captured September 2, 2026.

Three things fall out of that table that the marketing copy will not tell you.

Converting a quote into an order is almost always the paid tier. SA gates "Convert to order" and B2B customer/company auto-fill to its $36.99/month Pro plan — and its Pro plan carries a separate $69/month price for Shopify Plus stores. SetuBridge gates "Convert Quote to Order" to its $12.99/month Growth plan. Quotify includes auto draft order at $17/month but puts its own price lists, PDFs, and CRM syncs at $34/month. SparkLayer's App Store listing puts quoting on the $299/month Pro plan; its documentation adds that the Quoting Engine is also available as an add-on for $49 per month on any plan — a materially cheaper route the listing does not mention.

Only SA states B2B company and catalog support on its listing. It is also the only app in this set whose published data-access section lists the Companies scope alongside payment-terms access, which is the mechanical prerequisite for attaching a draft order to a company location — and therefore for the quote to inherit your catalog price rather than your D2C price.

SparkLayer's quoting is a fuller negotiation than anything else here. Its documentation describes a message timeline between buyer and rep, internal notes, quote statuses that control whether the customer may edit or complete, per-quote expiry dates, custom line items, custom shipping, and price-on-application products. It also documents real limits: discounts cannot currently be added to a quote, and limited company users cannot request quotes.

Two apps that come up in searches were checked and excluded for lack of evidence, not lack of features: GP Request Quote, Hide Price (gp-request-quote, free plan with 20 quotes/month, then $9.99/$24.99/$49.99) and B2B Request Quote & Hide Price (b2b-request-quote, $7.99/month) both showed 0.0 (0 reviews) on September 2, 2026. Quotilio is included above because it was on the shortlist, but note the real numbers: 3.4 stars across 14 reviews, with a one-star review from March 2026 reporting a five-day outage, which the developer answered in June 2026 by explaining an ownership transfer that locked them out of their support platforms.

When a draft order is genuinely enough

Do not buy an app if all of the following are true.

  • Quotes arrive through a channel you already own. Phone, email, a trade-show form, a rep's inbox. The App Store apps mostly sell you the intake — a storefront button and a form. If your buyers already email you, you are paying for a form.
  • Your volume is low enough to key by hand. Ten to twenty quotes a month is roughly the line. Creating a draft order for a B2B customer takes under two minutes once the company exists, and the catalog price fills itself in.
  • You quote from catalog prices with occasional exceptions. Assign the company location, let the catalog price load, override the one line that needs overriding, lock the price, send the invoice. That is a complete quote-to-cash loop with zero apps.
  • You don't need price hiding for logged-out visitors. This is the single most common reason to buy an app. Shopify has no native per-product price hiding; the Trade theme hides prices for non-logged-in customers in a dedicated B2B store, but that is a whole-store decision, not a per-product rule.
  • You don't need a buyer-visible quote history. If your buyers are fine receiving a PDF or an email, you don't need an app-hosted quote portal.

Buy an app when the intake volume is real, when you need conditional price hiding across a mixed D2C/B2B catalog, or when the back-and-forth genuinely is a negotiation with multiple revisions that someone has to audit later.

Bottom line

Shopify B2B in 2026 is a wholesale pricing and account system, not a selling system. Catalogs, net terms, company locations, PO numbers, and checkout-to-draft all work on Basic. What is missing is the negotiation loop, and Shopify has not shipped one.

If your quoting is low-volume and catalog-priced, use draft orders and skip the app. Assign the company location, lock the price, reserve the inventory, send the invoice. Four steps, no subscription.

If you need storefront intake plus conditional price hiding and you are running native Shopify B2B, SA Request a Quote, Hide Price is the one to start with: it is the only app in this comparison that states B2B company and catalog support on its listing and requests the scopes to back it up, and it converts to a native draft order. Budget the $36.99/month Pro tier, because conversion and B2B auto-fill live there — $69/month if you are on Plus.

If your buyers need a real portal with negotiation, revisions, and audit history, SparkLayer is a different category of product and priced like one. Verify the $49/month Quoting Engine add-on before you commit to the $299/month Pro plan, and go in knowing the quote never becomes a Shopify draft order and that SparkLayer replaces the native B2B ordering experience rather than sitting beside it.

Whatever you pick, ask the vendor one question before you install: does your quote attach a company location to the draft order it creates? If the answer is no or unclear, your quotes will be priced at retail and someone on your team will fix that by hand, forever.

Sources

RelatedShop Pay Installments Rejects Capital One and Chase Cards — and Two Shopify Pages Disagree About Where Disputes Appear

Shop Pay Installments is free to activate, needs no app, and Shopify never publishes what it costs you — the rate is visible only inside your own admin. It also refuses Capital One and Chase credit cards, restricts monthly plans to debit cards only, excludes gift cards and subscriptions, and can't be turned off for individual products. Affirm can suspend your account for being password-protected, for having a non-English storefront, or for being primarily B2B. And Shopify's Getting paid page says disputes appear in your admin while its FAQ says they don't. If you fail the eligibility gates, the alternative is on-site messaging apps from Klarna, Afterpay, Sezzle, Zip, and PayPal — a category rated between 1.0 and 3.2 stars. Researched September 2, 2026.