Applies to Cmsmart Product Designer (NBDesigner) 2.17.0 · Updated October 2026. Every plugin feature named below is checked against the 2.17.0 changelog and today's captures on the nbdesigner.cmsmart.net demo store. B2B customer-group pricing, new-account approval and tax display by buyer type are not core plugin features — they are called out as custom development.

In short

  • Outcome: working WooCommerce B2B pricing means wholesale and contract buyers see the right price the moment they land on a product page, instead of emailing your team for a quote.
  • How it works: Cmsmart Product Designer already prices a product by option and by order quantity; customer-group price lists, account approval and buyer-specific tax display are added with a WooCommerce B2B extension or a Cmsmart custom build.
  • What it takes: an afternoon to turn on quantity-based pricing on a product today, and a short discovery call to scope the parts WooCommerce does not do out of the box.

A wholesale buyer who has to email for a price before they can order is a buyer your competitor's self-service store just won by default — good WooCommerce B2B pricing shows every logged-in customer group its own price list, but only once someone has added the pricing, approval and tax rules a public storefront does not ship with.

What's the real cost of manual B2B pricing in WooCommerce?

Cmsmart builds WooCommerce stores that show each buyer type its own numbers — list price for retail, tiered or contracted pricing for wholesale accounts, calculated automatically instead of re-typed into an email — so your sales team stops pricing the same order twice.

Every WooCommerce product ships with one public price. That is the whole problem for a B2B catalog:

  • One price, every visitor. A business card product is priced the same whether the customer is a walk-in or a print broker who orders 2,000 a month (see the product page below) — there is no built-in concept of a wholesale account seeing a different number.
  • Quantity breaks live in someone's head, not the cart. Without a configured price table, "100 or more gets a discount" is a rule your team has to remember and apply manually on every quote.
  • Tax shown the wrong way for the buyer. A tax-exempt wholesale account still sees retail tax rules unless the store's tax settings and customer roles are configured for it.
  • New B2B sign-ups land in a general inbox. Without an approval gate, a new account either sees nothing special (no point registering) or gets wholesale pricing before anyone has verified the business is real.
  • Reorders take a phone call. A buyer who ordered the same product last quarter still has to ask what they paid, because the price list is not tied to their account.

Put a number on it with your own figures: hours spent quoting by hand per week × minutes per quote ÷ 60 × the fully loaded hourly cost of whoever answers those emails. That is the cost of not having a price list before a single order ships late.

WooCommerce product page showing one public price for every visitor, before B2B pricing is added
Today, every visitor to this product sees the same price — there is no customer-group price list yet.

What would self-service B2B pricing look like on your store?

Cmsmart designs the buyer journey so a wholesale account logs in, sees its own contracted or tiered price on the product page, and checks out without a single email — the same self-service experience your B2C customers already expect from WooCommerce.

Example scenario. A printing distributor logs into their account on a Tuesday morning and opens a product they reorder every quarter. The page already shows their contracted unit price and the next quantity break. They raise the quantity, watch the per-unit price drop, add to cart and check out in under two minutes — no email thread, no phone call, no waiting on a manual quote.

That is not a future-state fantasy for WooCommerce stores: the quantity-and-option side of it already works inside Cmsmart Product Designer today (see the price matrix screenshot further down). What is missing on a default WooCommerce install is the layer that recognizes who is logged in and shows them a different price list, approves them before they see it, and displays tax the way their account expects. A B2B or wholesale print storefront is built from both halves together.

How does Cmsmart build B2B price lists and customer groups into WooCommerce?

Cmsmart combines what Cmsmart Product Designer already prices — options and order quantity — with a WooCommerce B2B layer for customer groups, account approval and tax display, so the two pricing rules never conflict on the same product page.

A working B2B web-to-print store is built from these pieces:

  • Catalog and storefront — WooCommerce, the base every other block sits on.
  • Option and quantity pricing (in the plugin today) — Cmsmart Product Designer's price matrix and "Table pricing" apply a price per option combination and per quantity band, verified on the 2.17.0 demo store below.
  • Customer groups and role-based price lists (extension or custom) — a price that depends on who is logged in, not just what they picked. WooCommerce's own B2B extension documents this as "configure different prices for different user roles and customers," with fixed, percentage or quantity-tiered adjustments per role (WooCommerce.com, B2B for WooCommerce, accessed 2026-10-06).
  • Account approval (extension or custom) — the same documentation describes "manual admin review for new wholesale applications" so a business is verified before it ever sees wholesale pricing (WooCommerce.com, accessed 2026-10-06).
  • Tax display by role — showing prices with or without tax, and exempting verified wholesale accounts automatically once approved.
  • Order and production pipeline (in the plugin today) — once an order is placed, the admin order screen carries the exact option and price breakdown alongside the design file, and a print-ready PDF that matches the order (2.17) in one place (see the admin screenshot below).
WooCommerce B2B pricing: the Cmsmart Product Designer price matrix and quantity table pricing already built into the plugin
The price matrix and "Table pricing" panel: a quantity-tiered price list the plugin already calculates per option and per order size.

Cmsmart insight: the most common mistake we see is a merchant wiring up role-based pricing or an approval workflow before anyone has agreed, in writing, who actually counts as "wholesale." Settle the customer-group rules with sales first — the plugin or custom code should enforce a decision that is already made, not make it for you.

What the buyer needsManual / spreadsheet quotingPrice matrix in Cmsmart Product Designer (today)Full B2B build (Cmsmart custom development)
Who sees which priceSame price for everyone; wholesale gets an emailSame price for everyone, but by option and quantityPrice list by customer group / role
Quantity discountsCalculated by hand on each quoteApplied automatically from a quantity tableCombined with role-based and contract pricing
New account vettingEmail back and forth before a quote is sentNot applicable — no accounts layerManual or automatic approval before pricing is visible
Tax displayDecided case by caseStore-wide tax settings onlyTax shown or exempted per customer role
Reorder speedBuyer re-asks for last quoteBuyer re-adds the same optionsBuyer logs in and sees their own price instantly

What's the ROI of B2B price lists and customer groups?

Cmsmart frames B2B pricing work around the hours and orders it actually moves — quoting time saved, self-service orders captured and reorders completed without a phone call — so the business case uses your own store's numbers, not a promised percentage.

Buyer behavior backs the shift toward self-service B2B ordering: global B2B e-commerce was worth an estimated $32.1 trillion in 2025, and 61% of B2B buyers say they would rather manage their own orders online than go through a sales rep (Capital One Shopping research, accessed 2026-10-06). McKinsey's B2B Pulse survey found self-service digital commerce and remote sales interactions already account for 34% of total B2B revenue, up from a much smaller share a few years earlier (Digital Commerce 360, citing McKinsey, 2024).

Rough it out with your own variables:

  • Hours saved on manual quoting = (quotes sent per week) × (minutes per quote) ÷ 60 × (fully loaded hourly cost of whoever quotes).
  • Self-service order value you could capture = (average wholesale order value) × (B2B buyers who currently abandon when no price is shown) × (the self-service conversion lift you want to test).
  • Correction cost avoided = (orders re-priced after the fact) × (average cost of correcting an invoice or reprinting a quote).
  • Buyers self-serve their own price — track: wholesale orders placed with no manual quote involved.
  • Quantity breaks apply automatically — track: average order size per wholesale account.
  • New accounts are vetted before they see pricing — track: time from signup to approved account.
  • Reorders take minutes, not emails — track: repeat-order cycle time.

How do you set up tiered pricing and customer groups in WooCommerce?

Cmsmart sets up quantity and option pricing directly in Cmsmart Product Designer, then layers customer groups, account approval and tax display on top with a WooCommerce B2B extension or custom roles, so the two pricing systems read from the same product.

What you can configure today, and what to plan for next:

  1. Add the printing options a B2B buyer actually chooses between — material, weight, finish, custom dimensions — to the product.
  2. Open the price matrix and set a price for every option combination, for example silk 100gsm at one price and gloss 300gsm at another.
  3. Add a quantity table ("Table pricing") so a larger order automatically drops to a lower per-unit price instead of needing a manual discount.
  4. Check the product page: the price recalculates live as options and quantity change, before the buyer ever reaches checkout.
  5. Place a test order and open it in the admin order screen — the exact option and price breakdown, plus the design file, is attached to the order for your team.
  6. Decide where customer-group pricing will live: a WooCommerce B2B/wholesale extension for role-based prices, approval workflow and tax exemption, or a custom build if you need contract prices per account, a sales-rep assignment, or an ERP-synced price book.
  7. If you choose an extension, confirm it can stack with the plugin's own option and quantity pricing rather than replacing it — the two should combine, not compete, on the same product.
WooCommerce order confirmation showing every print option and its price, kept with the order for B2B record-keeping
Order confirmation: every chosen option keeps its price delta, so the buyer and your team see the same breakdown later.
WooCommerce admin order screen with customer details, line items and tax for a B2B order
The admin order screen carries the customer record, the priced line item and the tax line — the record a B2B account manager works from.
WooCommerce checkout billing form with an optional company name field, before customer-group pricing is added
WooCommerce already asks for a company name at checkout — it just does not yet gate pricing on it.
Video: configuring the price matrix feature in Cmsmart Product Designer
Video: How to configure and use the price matrix feature (Cmsmart on YouTube).

For the quantity and option side in depth, see our automatic pricing calculator walkthrough, and for the full plugin reference, the Cmsmart Product Designer product page.

What can Cmsmart build on top of WooCommerce for B2B price lists?

Cmsmart builds the customer-group, approval and integration layer a public WooCommerce catalog does not ship with, so your price lists, account vetting and tax rules match exactly how your sales team already works — not a generic wholesale template.

Once the plugin's own pricing is in place, this is where most B2B stores need custom work:

  • Customer-group and contract pricing. A buyer who reorders every quarter sees their negotiated price automatically, instead of the sales team re-keying a contract rate every time. Cmsmart builds role- and account-level price lists that stack with the plugin's option and quantity pricing.
  • New-account approval workflow. A visitor requests a wholesale account, your team verifies the business, and only then does wholesale pricing switch on — Cmsmart builds the review queue and the notifications around it.
  • Tax display and exemption by role. Retail buyers see tax-inclusive pricing; approved wholesale or tax-exempt accounts see the number they are actually billed. Cmsmart builds this against your store's real tax classes, not a generic toggle.
  • ERP/MIS or CRM-synced price books. When contract prices live in an ERP or spreadsheet system of record, Cmsmart builds the integration that keeps WooCommerce's price list current instead of two teams maintaining two versions of the truth.
  • Quote-to-order and RFQ flows. For orders too custom for a fixed price list, Cmsmart builds a request-for-quote path that still uses the same product, options and order pipeline as a self-service purchase.

Every one of these follows the same delivery path, documented on our project delivery model:

  1. Discovery: map your current pricing rules, customer groups and approval process as they actually work today.
  2. Solution design: decide what lives in a WooCommerce extension versus what needs custom code, and how it stacks with the plugin's pricing.
  3. Build in sprints, with your team reviewing a working store at each stage, not a slide deck.
  4. QA against real accounts and real quantity breaks, not just the happy path.
  5. Launch alongside your existing catalog, with a rollback plan for the pricing rules.
  6. Support as your price lists, roles and tax rules change.

Get a custom B2B pricing quote

Why work with Cmsmart for B2B commerce?

Cmsmart has built ecommerce and web-to-print stores as a Netbase JSC division since 2012, including B2B portals, customer-group pricing and marketplace work, with a published delivery process and public client feedback — not a one-off freelance build.

Plan my B2B price lists

Frequently asked questions about WooCommerce B2B pricing

Does WooCommerce support B2B price lists and customer groups out of the box?

Not natively. WooCommerce core ships one price per product for every visitor; role-based pricing, tiered customer-group discounts and wholesale account approval are added through a dedicated B2B/wholesale extension or a custom build, as WooCommerce's own extension documentation describes.

Can Cmsmart Product Designer price a product by quantity today?

Yes. The price matrix and "Table pricing" panel apply a price per option combination and a lower per-unit price above a quantity threshold, verified on the 2.17.0 demo store in the screenshots above — this is separate from customer-group pricing, which still needs the B2B layer.

How does new B2B account approval actually work?

A visitor registers and requests wholesale access; your team reviews the business details before the account is switched on, and only approved accounts see wholesale pricing or tax exemption. This is custom development or an extension feature, not part of the base plugin.

Can we show tax differently to wholesale and retail customers?

Yes, with the right combination of WooCommerce tax settings and role-based logic — tax-exempt or tax-excluded display for approved wholesale accounts, standard tax-inclusive pricing for retail. We build this against your store's actual tax classes rather than a generic switch.

How long does a custom B2B pricing build take?

It depends on how many customer groups, approval steps and integrations are in scope. Every project runs through the same stages — discovery, solution design, sprints, QA, launch, support — described on our project delivery page, so you see a working store at each stage rather than waiting for a single big reveal.

Can B2B pricing connect to our ERP or CRM?

Yes, as custom integration work: Cmsmart can sync contract prices, customer records or order status between WooCommerce and an ERP, MIS or CRM so your price list has one source of truth instead of two systems drifting apart.