Skip to content
on all Pro plansyearly & lifetime licencesClaim nowLaunch offer

Quotes (RFQ)

Turn on quote requests, negotiate per-line prices, and convert an accepted quote into a WooCommerce order at the agreed prices.

This page covers features that require B2B Suite Pro. See Free vs Pro.

Quoting requires B2B Suite Pro.

Turning it on

Enable quotes in the Pro settings. An Add to quote button then appears alongside add-to-cart. Adding the same product twice merges the quantities rather than creating a second line.

Publish [smb2b_quotes] on a page to give buyers their quote centre. It is a shortcode rather than a My Account endpoint on purpose: endpoints need a permalink flush to work, which is a classic source of 404s after activation.

The lifecycle

Draft → submitted → in review → offered → accepted, declined or expired.

One service owns every transition and its side effects together, so a quote cannot end up accepted without an order, or offered without the buyer being emailed. Both parties get an email on every transition.

Making an offer

Open a submitted quote in Sales → Quotes. Set a price per line, set an expiry, and reply in the thread — the buyer’s original note is the first message in it. Opening a submitted quote moves it to “in review” automatically.

A daily job expires offers that were never accepted.

Conversion

Accepting freezes the agreed unit price onto each order line as an explicit subtotal and total, then creates a normal WooCommerce order. Because the numbers are explicit, recalculating totals computes tax and shipping on the agreed prices — a catalogue price change afterwards cannot quietly rewrite the order.

The buyer then pays online, or on account if the company has net terms.

A buyer with no saved address is asked to add one before accepting, so the order — and its invoice — always has a real ship-to.

Styling the quote centre

The [smb2b_quotes] centre is plain, dependency-free markup with a light default stylesheet, so it inherits your theme and is easy to retheme. Three ways, easiest first — no plugin edits.

Retheme with CSS variables. The stylesheet exposes design tokens on .smb2b-quote-centre. Drop this in Appearance → Customize → Additional CSS:

.smb2b-quote-centre {
    --smb2b-q-border: #d9d9d9;   /* card + row borders */
    --smb2b-q-bg:     #ffffff;   /* card background    */
    --smb2b-q-muted:  #6b7280;   /* secondary text     */
    --smb2b-q-text:   #1f2937;   /* primary text       */
    --smb2b-q-radius: 10px;      /* corner radius      */
}

Override specific classes. Everything is scoped under .smb2b-quote-centre with stable smb2b-quote-* classes — cards (.smb2b-quote-card), basket lines (.smb2b-quote-item), history rows (.smb2b-quote-row), and status pills (.smb2b-quote-badge--accepted and friends). Your theme CSS loads last, so it wins. Primary buttons reuse your theme’s own .button, so they already match your store.

Replace the stylesheet. To style from scratch, drop the bundled CSS with a one-liner and ship your own:

add_filter('smb2bpro_quotes_enqueue_style', '__return_false');

The markup and its classes stay; only the default styling is removed. See Developer hooks for the full class list and filter reference.

Was this page missing something?

Documentation gaps are treated as bugs here.Tell us →

Switching offer

Moving from WholesaleX?

50%off

Bring your customers, prices and quotes over in a few clicks with our free importer, and get 50% off when you switch.

Also for stores on

  • B2BKing
  • Wholesale Suite
  • Wholesale Payments
MIGRATION50

Enter the code at checkout.