{"id":346886,"date":"2026-08-06T22:48:18","date_gmt":"2026-08-06T22:48:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/b2b-suite-for-woocommerce\/"},"modified":"2026-09-14T07:27:43","modified_gmt":"2026-09-14T07:27:43","slug":"softminal-b2b-wholesale-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/it.wordpress.org\/plugins\/softminal-b2b-wholesale-for-woocommerce\/","author":23440212,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3.4","stable_tag":"1.3.4","tested":"7.1.1","requires":"6.5","requires_php":"8.1","requires_plugins":null,"header_name":"Softminal B2B Suite for WooCommerce \u2013 Wholesale Prices, B2B Store & Bulk Orders","header_author":"Softminal","header_description":"Real B2B & wholesale for WooCommerce: customer-group pricing, hidden prices, trade registration and approval, quantity rules, and a bulk order form.","assets_banners_color":"1d1b35","last_updated":"2026-09-14 07:27:43","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/softminal\/softminal-b2b-wholesale-for-woocommerce","header_author_uri":"https:\/\/softminal.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":503,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"softminal","date":"2026-08-06 22:48:08","revision":3637081},"1.0.1":{"tag":"1.0.1","author":"softminal","date":"2026-08-06 23:18:59","revision":3637095},"1.1.0":{"tag":"1.1.0","author":"softminal","date":"2026-08-09 09:27:33","revision":3639203},"1.2.0":{"tag":"1.2.0","author":"softminal","date":"2026-08-09 14:10:38","revision":3639451},"1.3.0":{"tag":"1.3.0","author":"softminal","date":"2026-08-11 20:13:26","revision":3642486},"1.3.1":{"tag":"1.3.1","author":"softminal","date":"2026-08-19 19:45:33","revision":3655255},"1.3.2":{"tag":"1.3.2","author":"softminal","date":"2026-08-23 05:45:06","revision":3661428},"1.3.3":{"tag":"1.3.3","author":"softminal","date":"2026-08-29 19:06:48","revision":3671825},"1.3.4":{"tag":"1.3.4","author":"softminal","date":"2026-09-14 07:27:43","revision":3694670}},"upgrade_notice":{"1.3.4":"<p>Maintenance release \u2014 a cleaner Inbox reply box plus an internal framework move with no functional change. Safe drop-in upgrade.<\/p>","1.3.3":"<p>Adds a drag-and-drop registration form builder (many field types, file uploads, conditional logic, multiple forms and a real block), optional reCAPTCHA\/Turnstile, GDPR export &amp; erasure for registration data, and private file handling. Includes a small database update, applied automatically.<\/p>","1.3.2":"<p>Adds Dokan multivendor support (via the free Softminal B2B for Dokan add-on), fixes PDF invoice rendering of non-Latin currencies, attaches the invoice to the order-received email, and adds an email-deliverability (SMTP) check. Includes a small database update, applied automatically.<\/p>","1.3.1":"<p>Maintenance release: auto-approve registrations now works, an Applications search box, and fixes that preserve company member limits and billing details on edit.<\/p>","1.3.0":"<p>Adds buyer messaging and a unified Inbox, one-click convert-to-quote (Pro), a Pages shortcode reference, and theme-matched storefront colour. Includes a small database update, applied automatically.<\/p>","1.2.0":"<p>Adds shared company purchase lists, the View-shop-as preview, a quantity-discount progress bar and tax-display fixes. Includes a small database update, applied automatically.<\/p>","1.1.0":"<p>Adds the Bulk Ordering Grid (Pro), Variation Price Breaks, an Order Approvals page and quote notifications. Safe update; no data changes.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3671825,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3694678,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3671825,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3671825,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"smb2b\/registration-form":{"name":"smb2b\/registration-form","title":"B2B registration form"},"smb2b\/bulk-order-form":{"name":"smb2b\/bulk-order-form","title":"B2B bulk order form"}},"tagged_versions":["1.0.0","1.0.1","1.1.0","1.2.0","1.3.0","1.3.1","1.3.2","1.3.3","1.3.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3694678,"resolution":"1","location":"assets","locale":"","width":1488,"height":1965},"screenshot-10.png":{"filename":"screenshot-10.png","revision":3637081,"resolution":"10","location":"assets","locale":"","width":1500,"height":1402},"screenshot-11.png":{"filename":"screenshot-11.png","revision":3694678,"resolution":"11","location":"assets","locale":"","width":1330,"height":1968},"screenshot-12.png":{"filename":"screenshot-12.png","revision":3637081,"resolution":"12","location":"assets","locale":"","width":2000,"height":991},"screenshot-13.png":{"filename":"screenshot-13.png","revision":3694678,"resolution":"13","location":"assets","locale":"","width":2000,"height":1084},"screenshot-14.png":{"filename":"screenshot-14.png","revision":3694678,"resolution":"14","location":"assets","locale":"","width":2000,"height":1084},"screenshot-15.png":{"filename":"screenshot-15.png","revision":3671813,"resolution":"15","location":"assets","locale":"","width":2000,"height":1013},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3694678,"resolution":"2","location":"assets","locale":"","width":1788,"height":1629},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3694678,"resolution":"3","location":"assets","locale":"","width":1500,"height":1387},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3694678,"resolution":"4","location":"assets","locale":"","width":1788,"height":1098},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3694678,"resolution":"5","location":"assets","locale":"","width":1788,"height":1442},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3694678,"resolution":"6","location":"assets","locale":"","width":1788,"height":1098},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3694678,"resolution":"7","location":"assets","locale":"","width":1788,"height":1716},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3637081,"resolution":"8","location":"assets","locale":"","width":1754,"height":1518},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3694678,"resolution":"9","location":"assets","locale":"","width":1788,"height":1380}},"screenshots":{"1":"B2B dashboard \u2014 30-day sales, top buyers, customers by group and one-click quick actions.","2":"Customer groups \u2014 organise trade buyers into groups such as Wholesale, Distributor or VIP.","3":"Price rules \u2014 percentage, amount-off or fixed prices per group, product, category, tag or quantity band.","4":"Check a price \u2014 see exactly which rule applies to any customer and product, and why.","5":"Order quantity rules \u2014 minimum, maximum and pack quantities enforced across shop, cart and checkout.","6":"Buy X, get Y \u2014 reward bulk orders with free or discounted units, added to the cart automatically.","7":"Customers \u2014 assign buyers to groups and review their orders and total spend.","8":"Trade registration form \u2014 a signup form with your own business fields: company, VAT\/tax ID, phone and address.","9":"Approval queue \u2014 new trade applications wait here until you approve or reject them; nobody gets B2B pricing until approved.","10":"Bulk order form \u2014 a fast order pad for buyers, plus quick order by SKU or CSV.","11":"PDF invoices \u2014 choose from ready-made invoice designs and attach them to order emails.","12":"Hidden prices \u2014 require an approved trade account before prices and add-to-cart appear.","13":"Buyer messaging \u2014 answer customers from one unified Inbox; unread conversations are flagged in the menu and in the thread list, so nothing waiting on you is missed.","14":"Request a quote \u2014 review a buyer's request, send line-price offers with an expiry, and negotiate in the attached conversation; new requests are badged \"New\".","15":"Registration form builder \u2014 drag fields onto the form, arrange them in columns, set each field's options and rules, and preview the real form. No code, all free."}},"plugin_section":[],"plugin_tags":[10553,65979,51032,65073,65074],"plugin_category":[],"plugin_contributors":[254418],"plugin_business_model":[],"class_list":["post-346886","plugin","type-plugin","status-publish","hentry","plugin_tags-b2b","plugin_tags-bulk-order","plugin_tags-wholesale","plugin_tags-wholesale-pricing","plugin_tags-woocommerce-wholesale","plugin_contributors-softminal","plugin_committers-softminal"],"banners":{"banner":"https:\/\/ps.w.org\/softminal-b2b-wholesale-for-woocommerce\/assets\/banner-772x250.png?rev=3671825","banner_2x":"https:\/\/ps.w.org\/softminal-b2b-wholesale-for-woocommerce\/assets\/banner-1544x500.png?rev=3671825","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/softminal-b2b-wholesale-for-woocommerce\/assets\/icon-128x128.png?rev=3671825","icon_2x":"https:\/\/ps.w.org\/softminal-b2b-wholesale-for-woocommerce\/assets\/icon-256x256.png?rev=3694678","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/softminal-b2b-wholesale-for-woocommerce\/assets\/screenshot-1.png?rev=3694678","caption":"B2B dashboard \u2014 30-day sales, top buyers, customers by group and one-click quick actions."},{"src":"https:\/\/ps.w.org\/softminal-b2b-wholesale-for-woocommerce\/assets\/screenshot-2.png?rev=3694678","caption":"Customer groups \u2014 organise trade buyers into groups such as Wholesale, Distributor or VIP."},{"src":"https:\/\/ps.w.org\/softminal-b2b-wholesale-for-woocommerce\/assets\/screenshot-3.png?rev=3694678","caption":"Price rules \u2014 percentage, amount-off or fixed prices per group, product, category, tag or quantity band."},{"src":"https:\/\/ps.w.org\/softminal-b2b-wholesale-for-woocommerce\/assets\/screenshot-4.png?rev=3694678","caption":"Check a price \u2014 see exactly which rule applies to any customer and product, and why."},{"src":"https:\/\/ps.w.org\/softminal-b2b-wholesale-for-woocommerce\/assets\/screenshot-5.png?rev=3694678","caption":"Order quantity rules \u2014 minimum, maximum and pack quantities enforced across shop, cart and checkout."},{"src":"https:\/\/ps.w.org\/softminal-b2b-wholesale-for-woocommerce\/assets\/screenshot-6.png?rev=3694678","caption":"Buy X, get Y \u2014 reward bulk orders with free or discounted units, added to the cart automatically."},{"src":"https:\/\/ps.w.org\/softminal-b2b-wholesale-for-woocommerce\/assets\/screenshot-7.png?rev=3694678","caption":"Customers \u2014 assign buyers to groups and review their orders and total spend."},{"src":"https:\/\/ps.w.org\/softminal-b2b-wholesale-for-woocommerce\/assets\/screenshot-8.png?rev=3637081","caption":"Trade registration form \u2014 a signup form with your own business fields: company, VAT\/tax ID, phone and address."},{"src":"https:\/\/ps.w.org\/softminal-b2b-wholesale-for-woocommerce\/assets\/screenshot-9.png?rev=3694678","caption":"Approval queue \u2014 new trade applications wait here until you approve or reject them; nobody gets B2B pricing until approved."},{"src":"https:\/\/ps.w.org\/softminal-b2b-wholesale-for-woocommerce\/assets\/screenshot-10.png?rev=3637081","caption":"Bulk order form \u2014 a fast order pad for buyers, plus quick order by SKU or CSV."},{"src":"https:\/\/ps.w.org\/softminal-b2b-wholesale-for-woocommerce\/assets\/screenshot-11.png?rev=3694678","caption":"PDF invoices \u2014 choose from ready-made invoice designs and attach them to order emails."},{"src":"https:\/\/ps.w.org\/softminal-b2b-wholesale-for-woocommerce\/assets\/screenshot-12.png?rev=3637081","caption":"Hidden prices \u2014 require an approved trade account before prices and add-to-cart appear."},{"src":"https:\/\/ps.w.org\/softminal-b2b-wholesale-for-woocommerce\/assets\/screenshot-13.png?rev=3694678","caption":"Buyer messaging \u2014 answer customers from one unified Inbox; unread conversations are flagged in the menu and in the thread list, so nothing waiting on you is missed."},{"src":"https:\/\/ps.w.org\/softminal-b2b-wholesale-for-woocommerce\/assets\/screenshot-14.png?rev=3694678","caption":"Request a quote \u2014 review a buyer's request, send line-price offers with an expiry, and negotiate in the attached conversation; new requests are badged \"New\"."},{"src":"https:\/\/ps.w.org\/softminal-b2b-wholesale-for-woocommerce\/assets\/screenshot-15.png?rev=3671813","caption":"Registration form builder \u2014 drag fields onto the form, arrange them in columns, set each field's options and rules, and preview the real form. No code, all free."}],"raw_content":"<!--section=description-->\n<p><a href=\"https:\/\/b2bsuitewp.com\">Features<\/a> | <a href=\"https:\/\/b2bsuitewp.com\/docs\">Documentation<\/a> | <a href=\"https:\/\/b2bsuitewp.com\/blog\">Blog<\/a> | <a href=\"https:\/\/support.softminal.com\">Get Support<\/a><\/p>\n\n<p><strong>The all-in-one WooCommerce wholesale plugin and B2B plugin.<\/strong> Set wholesale pricing for each customer group, hide prices until buyers sign up, approve trade accounts, enforce a minimum order quantity (MOQ) and pack sizes, take quote requests, and give buyers a fast bulk order form \u2014 all from one plugin, with no scattered add-ons.<\/p>\n\n<p>Softminal B2B Suite is built around a <strong>single pricing pipeline<\/strong>, so every discount, hidden price and quantity rule is resolved one way. That means your B2B pricing is correct everywhere \u2014 the shop, the product page, the cart and the block checkout \u2014 with no surprise prices at checkout.<\/p>\n\n<p><strong>Run one store for both B2B and B2C.<\/strong> Retail shoppers keep their normal prices while approved trade customers see wholesale rates, net terms and quotes. B2B rules only ever apply to buyers in a group, so a retail shopper can never be shown a wholesale price by accident \u2014 or switch it into a login-only wholesale store whenever you want.<\/p>\n\n<p><strong>Requires WooCommerce 8.0 or newer.<\/strong> Softminal B2B Suite extends your existing WooCommerce store; it does not work on its own.<\/p>\n\n<h3>\ud83c\udfaf Why store owners choose Softminal B2B Suite<\/h3>\n\n<ul>\n<li><strong>\ud83d\udecd\ufe0f One store for B2B and B2C<\/strong> \u2014 sell to retail customers at your normal prices and to approved trade customers at wholesale rates, from the same catalogue. Because B2B rules only apply to buyers in a group, retail shoppers never see a wholesale price by mistake \u2014 and you can flip on \"hide prices for guests\" to run a login-only, B2B-only store instead.<\/li>\n<li><strong>\u2699\ufe0f One pricing engine, always correct<\/strong> \u2014 every price flows through a single resolver, so wholesale and B2B prices match on the shop, product page, cart and block checkout. No conflicting filters, no checkout surprises.<\/li>\n<li><strong>\ud83e\udde9 Everything in one plugin<\/strong> \u2014 one WooCommerce wholesale plugin and B2B plugin that covers pricing, hidden prices, trade registration, company accounts, net terms, quotes, quantity rules and a bulk order form, instead of stitching five plugins together.<\/li>\n<li><strong>\ud83d\udd04 Switch without breaking your catalogue<\/strong> \u2014 move your groups, customers and price rules over from B2BKing, Wholesale Suite or WholesaleX. Every import previews first, so you see exactly what will change before a single row is written.<\/li>\n<li><strong>\ud83d\udcac Free buyer messaging<\/strong> \u2014 talk to trade customers from a unified Inbox in your admin, included at no cost.<\/li>\n<li><strong>\ud83d\udd51 24\/7 priority support<\/strong> \u2014 a real support team, available around the clock, with priority help so you're never stuck.<\/li>\n<li><strong>\u26a1 Modern &amp; compatible<\/strong> \u2014 HPOS-ready, works with the WooCommerce Cart &amp; Checkout Blocks, and plays nicely with multilingual (WPML, Polylang) and multi-currency stores.<\/li>\n<li><strong>\ud83d\udee0\ufe0f Developer-friendly<\/strong> \u2014 a clean REST API, signed webhooks and a documented hook surface for ERP, CRM and automation.<\/li>\n<\/ul>\n\n<h3>\ud83d\ude80 Key features<\/h3>\n\n<ul>\n<li><strong>\ud83d\udcb2 Customer group pricing<\/strong> \u2014 put buyers into groups and set percentage, amount-off or fixed prices per group, product, category, tag or quantity band.<\/li>\n<li><strong>\ud83d\udd12 Hidden prices \/ login to see prices<\/strong> \u2014 hide prices and the add-to-cart button from guests, or require an approved trade account before wholesale pricing appears.<\/li>\n<li><strong>\ud83d\udcdd Trade registration &amp; approval<\/strong> \u2014 a registration form with your own business fields (company, VAT\/tax ID, phone, address), spam-guarded, with an approval queue and email notifications.<\/li>\n<li><strong>\ud83c\udfe2 Company accounts<\/strong> \u2014 give a business one shared account: several colleagues, roles for who can buy and who approves, and per-account spend limits.<\/li>\n<li><strong>\ud83d\udcb3 Net terms &amp; credit<\/strong> \u2014 offer pay-on-account at checkout, set a credit limit per company, and send statements and overdue reminders automatically.<\/li>\n<li><strong>\ud83e\uddfe Request a quote (RFQ)<\/strong> \u2014 let buyers build a quote basket and negotiate; an accepted quote converts straight to an order.<\/li>\n<li><strong>\ud83d\udcec Buyer messaging<\/strong> \u2014 customers message you from their account and you reply from one unified Inbox where general questions and quote negotiations live together, each thread flagged when it needs you. Basic buyer\u2194merchant messaging is free.<\/li>\n<li><strong>\ud83d\udce6 Minimum order quantity (MOQ), maximum &amp; pack quantities<\/strong> \u2014 enforce a minimum order quantity per product, per category or order-wide, plus maximum and pack (step) sizes, shown clearly at the shop, cart and checkout.<\/li>\n<li><strong>\u26a1 Bulk order form<\/strong> \u2014 a fast order pad your buyers can use to add many products at once, plus quick order by SKU or CSV.<\/li>\n<li><strong>\ud83c\udf81 Buy X, get Y<\/strong> \u2014 reward bulk orders with free or discounted units, from a product or a category, as the same item, a different gift or the cheapest in the cart.<\/li>\n<li><strong>\ud83d\udd01 Reorder<\/strong> \u2014 one-click \"order again\" from a past order.<\/li>\n<li><strong>\ud83e\uddee Purchase order numbers<\/strong> and an <strong>ex\/inc VAT price toggle<\/strong> at checkout.<\/li>\n<li><strong>\ud83d\udcc4 PDF invoices<\/strong> \u2014 generate clean PDF invoices, choose from ready-made and premium designs (with your own watermark and fonts), download from the order screen or My Account, and attach them to order emails automatically.<\/li>\n<li><strong>\ud83c\uddea\ud83c\uddfa Tax exemption &amp; EU VAT (VIES)<\/strong> \u2014 mark customers or groups tax-exempt and validate EU VAT numbers against VIES.<\/li>\n<li><strong>\ud83d\ude9a Role-gated payment &amp; shipping<\/strong> \u2014 show or hide payment gateways and shipping methods per group (for example, wholesale = pay on account only).<\/li>\n<li><strong>\ud83d\udc41\ufe0f Private catalogue<\/strong> \u2014 hide categories from selected groups across the shop, search and direct links for a members-only or hybrid store.<\/li>\n<li><strong>\ud83e\udded Safe-Preview migration<\/strong> \u2014 import your customer groups, users and price rules from B2BKing, Wholesale Suite or WholesaleX. Every import runs as a preview first, nothing changes until you choose Import, the source plugin can stay switched off, and it's safe to run again.<\/li>\n<li><strong>\ud83c\udfea Multivendor (Dokan)<\/strong> \u2014 run B2B on a Dokan marketplace: vendor-scoped wholesale pricing, per-vendor invoices, marketplace trade registration and cross-vendor bulk ordering, with a \"B2B Pricing\" tab in each vendor's dashboard. Via the free <strong>Softminal B2B for Dokan<\/strong> add-on (requires Pro).<\/li>\n<li><strong>\ud83d\udd0c Developer-ready<\/strong> \u2014 a REST API and signed outbound webhooks for ERP, CRM and automation.<\/li>\n<\/ul>\n\n<p>Every price change flows through one resolver, so B2B pricing is correct on the shop, the product page, the cart and the block checkout alike. The plugin is HPOS-compatible and works with WooCommerce Cart &amp; Checkout Blocks.<\/p>\n\n<h3>\ud83c\udfea Multivendor marketplaces (Dokan)<\/h3>\n\n<p>Running a Dokan marketplace? The free <strong>Softminal B2B for Dokan<\/strong> bridge makes the whole suite vendor-aware: the marketplace owner sets wholesale pricing scoped to a vendor's catalogue, every multi-vendor order produces one invoice per vendor, the bulk order form shows which vendor sells each product, and each vendor gets a \"B2B Pricing\" tab in their Dokan dashboard to manage their own wholesale prices. The bridge is a free download unlocked by your Pro licence (it needs B2B Suite Pro and Dokan active).<\/p>\n\n<h3>\ud83c\udf0d Works with multilingual &amp; multi-currency stores<\/h3>\n\n<p>Price, quantity and buy-X-get-Y rules apply across translations (WPML and Polylang). Softminal B2B Suite always works in your store's base currency and leaves conversion to your currency switcher, so prices stay correct when one is active.<\/p>\n\n<h3>\u2b50 Free vs Pro<\/h3>\n\n<p>The free plugin already gives you customer-group wholesale pricing, hidden prices, trade registration and approval, quantity rules, a bulk order form, buy-X-get-Y, reorder, PO numbers, the ex\/inc VAT toggle and basic buyer messaging.<\/p>\n\n<p>Advanced modules \u2014 <strong>company accounts, net terms &amp; credit, request-a-quote, category-level quantity rules, VIES VAT validation, private catalogue, role-gated methods, premium invoice designs and the webhooks API<\/strong> \u2014 are part of the <a href=\"https:\/\/b2bsuitewp.com\">Pro add-on<\/a>.<\/p>\n\n<p><strong>\ud83d\udd51 24\/7 priority support.<\/strong> Questions never wait for business hours \u2014 our team is available around the clock, and Pro customers get priority responses. <a href=\"https:\/\/support.softminal.com\">Get support<\/a> any time.<\/p>\n\n<p>WooCommerce is a trademark of Automattic Inc. Softminal B2B Suite for WooCommerce is an independent plugin developed by Softminal and is not affiliated with, endorsed by, or sponsored by Automattic or WooCommerce. The name is used only to indicate compatibility.<\/p>\n\n<h3>Advanced use<\/h3>\n\n<p>Softminal B2B Suite is built to be extended, so developers can wire it into other systems and change its behaviour without editing the plugin.<\/p>\n\n<p><strong>REST API.<\/strong> Read customer groups, resolved prices and customers over the WordPress REST API, authenticated with application passwords. The Pro add-on adds endpoints for companies, credit, quotes and tax\/VIES, all under the <code>smb2b\/v1<\/code> namespace with proper capability checks.<\/p>\n\n<p><strong>Webhooks.<\/strong> Signed outbound webhooks (HMAC-SHA256, sent as an <code>X-SMB2B-Signature<\/code> header) fire on key events \u2014 a new trade registration, a submitted quote, an order awaiting approval, and an overdue invoice \u2014 so you can push data into an ERP, CRM or automation tool. Every delivery is logged and can be re-tested. (Webhooks are part of the Pro add-on.)<\/p>\n\n<p><strong>Action &amp; filter hooks.<\/strong> A documented, stable hook surface lets you change behaviour cleanly. For example:<\/p>\n\n<ul>\n<li><code>smb2b_resolved_price<\/code> \u2014 override the final resolved price for any product and buyer.<\/li>\n<li><code>smb2b_registration_fields<\/code> \u2014 add, remove or reorder the business fields on the registration form.<\/li>\n<li><code>smb2b_registration_approved<\/code> \/ <code>smb2b_registration_submitted<\/code> \u2014 run your own code when an application is approved or received.<\/li>\n<li><code>smb2b_hide_prices<\/code> \/ <code>smb2b_hidden_price_message<\/code> \u2014 control when prices are hidden and what guests see.<\/li>\n<li><code>smb2b_invoice_data<\/code> \/ <code>smb2b_invoice_templates<\/code> \u2014 customise invoice content or register your own PDF designs.<\/li>\n<\/ul>\n\n<p>Core hooks use the <code>smb2b_<\/code> prefix; Pro hooks use <code>smb2bpro_<\/code>. The full hook reference, REST API details and setup guides are in the <a href=\"https:\/\/b2bsuitewp.com\/docs\">developer documentation<\/a>.<\/p>\n\n<h3>External services<\/h3>\n\n<p>Softminal B2B Suite works entirely on your own site by default and does not connect to any third-party service. The only exceptions are <strong>optional CAPTCHA providers<\/strong> on the trade registration form, which are <strong>off unless you turn them on<\/strong> and enter your own API keys (the built-in spam protection is a privacy-first honeypot plus a minimum fill-time that use no external service).<\/p>\n\n<p>If you choose to enable one for a form:<\/p>\n\n<ul>\n<li><strong>Google reCAPTCHA<\/strong> \u2014 when enabled, the registration page loads reCAPTCHA's script from google.com and, on submit, your server sends the CAPTCHA response token and the visitor's IP address to Google to verify the challenge. Used only to tell humans from bots. See Google's <a href=\"https:\/\/policies.google.com\/terms\">Terms of Service<\/a> and <a href=\"https:\/\/policies.google.com\/privacy\">Privacy Policy<\/a>.<\/li>\n<li><strong>Cloudflare Turnstile<\/strong> \u2014 when enabled, the registration page loads Turnstile's script from challenges.cloudflare.com and, on submit, your server sends the response token and the visitor's IP address to Cloudflare to verify the challenge. Used only to tell humans from bots. See Cloudflare's <a href=\"https:\/\/www.cloudflare.com\/website-terms\/\">Terms of Service<\/a> and <a href=\"https:\/\/www.cloudflare.com\/privacypolicy\/\">Privacy Policy<\/a>.<\/li>\n<\/ul>\n\n<p>These provider scripts are loaded from Google's and Cloudflare's own domains because reCAPTCHA and Turnstile require it \u2014 the widget is served and updated by the provider and cannot be self-hosted or bundled with the plugin. They load only on the registration page, and only when a site owner has enabled that provider and entered their own keys; a site that does not use CAPTCHA loads no third-party script at all.<\/p>\n\n<p>No data is sent to either provider unless you enable it and add its keys.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Make sure WooCommerce 8.0 or newer is installed and active.<\/li>\n<li>Upload the plugin to <code>\/wp-content\/plugins\/<\/code>, or install it from the Plugins screen.<\/li>\n<li>Activate <strong>Softminal B2B Suite for WooCommerce<\/strong>.<\/li>\n<li>Follow the setup wizard to create your first customer group, pricing and registration page.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20softminal%20b2b%20suite%20free%3F\"><h3>Is Softminal B2B Suite free?<\/h3><\/dt>\n<dd><p>Yes. The free plugin covers customer-group wholesale pricing, hidden prices, trade registration and approval, quantity rules, a bulk order form, buy-X-get-Y, reorder and basic buyer messaging. Advanced B2B features (company accounts, net terms, quotes, VIES VAT, webhooks and more) are in the Pro add-on.<\/p><\/dd>\n<dt id=\"can%20i%20set%20different%20wholesale%20prices%20for%20different%20customer%20groups%3F\"><h3>Can I set different wholesale prices for different customer groups?<\/h3><\/dt>\n<dd><p>Yes. Create as many customer groups as you need (Wholesale, Distributor, VIP\u2026) and set percentage, amount-off or fixed prices per group, product, category, tag or quantity band.<\/p><\/dd>\n<dt id=\"can%20i%20hide%20prices%20from%20visitors%20until%20they%20have%20a%20trade%20account%3F\"><h3>Can I hide prices from visitors until they have a trade account?<\/h3><\/dt>\n<dd><p>Yes. You can hide prices and the add-to-cart button from guests, and require an approved registration before a buyer sees trade pricing.<\/p><\/dd>\n<dt id=\"can%20i%20set%20a%20minimum%20order%20quantity%20%28moq%29%2C%20maximum%20or%20pack%20%28step%29%20quantities%3F\"><h3>Can I set a minimum order quantity (MOQ), maximum or pack (step) quantities?<\/h3><\/dt>\n<dd><p>Yes. Enforce a minimum order quantity (MOQ), plus maximum and pack (step) quantities per product, per category or order-wide, with clear messages at the shop, cart and checkout.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20the%20woocommerce%20block%20cart%20and%20checkout%3F\"><h3>Does this work with the WooCommerce block cart and checkout?<\/h3><\/dt>\n<dd><p>Yes. B2B pricing and quantity rules are enforced in both the classic checkout and the Cart &amp; Checkout Blocks, through the Store API.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20high-performance%20order%20storage%20%28hpos%29%3F\"><h3>Is it compatible with High-Performance Order Storage (HPOS)?<\/h3><\/dt>\n<dd><p>Yes. All order access uses the WooCommerce order API, so the plugin is HPOS-compatible.<\/p><\/dd>\n<dt id=\"can%20i%20migrate%20from%20b2bking%2C%20wholesale%20suite%20or%20wholesalex%3F\"><h3>Can I migrate from B2BKing, Wholesale Suite or WholesaleX?<\/h3><\/dt>\n<dd><p>Yes. The Safe-Preview importer moves your customer groups, users and price rules across, and shows you a full preview before anything is written \u2014 so you can switch with confidence.<\/p><\/dd>\n<dt id=\"does%20it%20work%20on%20multilingual%20or%20multi-currency%20stores%3F\"><h3>Does it work on multilingual or multi-currency stores?<\/h3><\/dt>\n<dd><p>Yes. Rules apply across WPML and Polylang translations. Softminal B2B Suite uses your store's base currency and lets your currency-switcher plugin convert prices for display.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.4 (14 Sep, 2026)<\/h4>\n\n<ul>\n<li>Improved: cleaner reply composer in the admin Inbox \u2014 the message box and Send button are now one tidy control, with a little more breathing room around quote cards.<\/li>\n<li>Housekeeping: clearer disclosure of the optional CAPTCHA services, and tidier database queries so the plugin passes automated code checks cleanly.<\/li>\n<\/ul>\n\n<h4>1.3.3 (30 Aug, 2026)<\/h4>\n\n<ul>\n<li>New: Drag-and-drop registration form builder \u2014 design your B2B signup form, build several forms, set a default, and add one to any page with its shortcode or the new block.<\/li>\n<li>New: A real \"B2B registration form\" block for the editor \u2014 pick which form to show \u2014 plus a one-click preview that opens the live form in a new tab.<\/li>\n<li>New: File uploads on the registration form (resale certificates, tax documents) \u2014 stored privately, never as public media, and downloadable only by your team from the approval screen.<\/li>\n<li>New: Optional CAPTCHA on the registration form \u2014 Google reCAPTCHA v2 or Cloudflare Turnstile \u2014 off by default; the built-in honeypot and minimum fill-time need no third-party service.<\/li>\n<li>Improved: the approval screen now shows uploaded files as secure download links and multi-choice answers clearly, with field labels drawn from your forms.<\/li>\n<li>Improved: refreshed the plugin's brand logo and admin menu icon.<\/li>\n<li>Security: a new Site Health check warns if uploaded files could be reachable directly on nginx or IIS servers, and shows the exact rule to add.<\/li>\n<\/ul>\n\n<h4>1.3.2 (23 Aug, 2026)<\/h4>\n\n<ul>\n<li>New: Multivendor support for Dokan marketplaces via the free Softminal B2B for Dokan add-on (requires Pro) \u2014 vendor-scoped wholesale pricing, per-vendor invoices, marketplace trade registration, cross-vendor bulk ordering, and a \"B2B Pricing\" tab in each vendor's dashboard.<\/li>\n<li>New: a \"Vendor\" scope in the Price Rules and Quantity Rules screens when the Dokan add-on is active, so you can price a whole vendor's catalogue at once.<\/li>\n<li>New: Site Health check for email deliverability \u2014 flags when no SMTP service is configured so your invoices, approvals and quotes actually reach buyers.<\/li>\n<li>Improved: PDF invoices now render non-Latin currency symbols (for example the Bengali Taka) correctly instead of a \"?\".<\/li>\n<li>Improved: the invoice PDF is now attached to the \"order received\" (processing) email by default, not only the completed-order email \u2014 useful for buyers paying on account.<\/li>\n<li>Improved: the \"which price wins\" guide on the Price Rules screen is now a compact info tooltip, plus dark-mode polish across the rule screens.<\/li>\n<li>Developer: new hooks for vendor-aware pricing and rule scopes; a small database update (rule-ownership columns), applied automatically.<\/li>\n<\/ul>\n\n<h4>1.3.1 (20 Aug, 2026)<\/h4>\n\n<ul>\n<li>New: Search box on the Applications screen \u2014 find a pending registration by name or email.<\/li>\n<li>Fixed: the \"auto-approve new registrations\" setting now works \u2014 matching applicants are approved automatically and sent their set-password email.<\/li>\n<li>Fixed: editing a company member's role no longer clears their spending limits.<\/li>\n<li>Improved: editing a company no longer drops saved billing details such as address, city, postcode and phone.<\/li>\n<li>Improved: customer search now matches names and emails containing \"%\" or \"_\" literally.<\/li>\n<\/ul>\n\n<h4>1.3.0 (12 Aug, 2026)<\/h4>\n\n<ul>\n<li>New: Buyer messaging \u2014 customers can message you from their account, and you answer from a new Inbox in the admin. Basic buyer\u2194merchant messaging is free.<\/li>\n<li>New: One Inbox for everything \u2014 general questions and quote negotiations now live together, each thread flagged when it needs your reply.<\/li>\n<li>New: Turn a conversation into a quote (Pro) \u2014 one click converts a buyer's question into a draft quote, carrying the whole chat across.<\/li>\n<li>New: Pages settings tab \u2014 copy every storefront shortcode ([smb2b_registration], [smb2b_bulk_order], [smb2b_messages], [smb2b_quotes]) from one place.<\/li>\n<li>New: Storefront accent colour now matches your theme automatically (Settings \u2192 Bulk order form), or set your own.<\/li>\n<li>Improved: the bulk order form uses numbered pagination.<\/li>\n<li>Improved: the messages Inbox loads more conversations as you scroll, and you can delete a thread.<\/li>\n<li>Improved: quote requests waiting on you show a \"New\" badge; draft, declined and expired quotes can be deleted.<\/li>\n<li>Fixed: several storefront and admin polish issues \u2014 message-centre button visibility, the quote centre for shop managers, the import results table, and dark-mode readability in dropdown menus and notifications.<\/li>\n<\/ul>\n\n<h4>1.2.0 (9 Aug, 2026)<\/h4>\n\n<ul>\n<li>New: Shared purchase lists (Pro) \u2014 share a saved list with your company so colleagues can load and reorder it; only the owner can edit it.<\/li>\n<li>New: View shop as\u2026 \u2014 preview your storefront as any customer, a customer group, or a logged-out guest straight from the admin bar. The preview follows you from page to page and shows exactly their prices, catalogue and payment options.<\/li>\n<li>New: Quantity-discount progress bar (Pro) \u2014 \"Add N more to pay X each\" on product pages, based on what is already in the cart.<\/li>\n<li>New: You can now turn the Ex\/Inc VAT price switch off (Settings \u2192 General).<\/li>\n<li>Improved: your quote history is paginated.<\/li>\n<li>Fixed: bulk ordering grids and discount tables now follow your tax display setting, so prices always match the product price shown beside them.<\/li>\n<li>Fixed: privately hidden variations no longer appear in the bulk ordering grid.<\/li>\n<li>Fixed: clearer reasons when a grid line cannot be added because of quantity limits.<\/li>\n<\/ul>\n\n<h4>1.1.0 (9 Aug, 2026)<\/h4>\n\n<ul>\n<li>New: A simple table to order multiple sizes and colors at once. Copy-paste directly from Excel and add everything to your cart in one click.<\/li>\n<li>New: Quantity discount tables now update automatically when customers select different options.<\/li>\n<li>New: Order Approvals \u2014 easily review, approve, or reject orders held by spending limits right from your dashboard.<\/li>\n<li>New: Quote Notifications \u2014 email alerts now send automatically when new quote messages arrive, and pending quotes are clearly flagged for your reply.<\/li>\n<li>Fixed: Pending-quotes counter always displayed zero.<\/li>\n<\/ul>\n\n<h4>1.0.1 (7 Aug, 2026)<\/h4>\n\n<ul>\n<li>Fixed: registration setup text referred to a non-existent editor block \u2014 the registration form is added with the <code>[smb2b_registration]<\/code> shortcode.<\/li>\n<li>Fixed: minor paragraph spacing in the admin screens.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: customer-group pricing, hidden prices, trade registration and approval, quantity rules, bulk order form, buy-X-get-Y, reorder, PO numbers and an ex\/inc VAT toggle.<\/li>\n<\/ul>","raw_excerpt":"Turn WooCommerce into a real B2B &amp; wholesale store: group pricing, hidden prices, trade sign-up, quantity rules, quotes &amp; a bulk order form.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/346886","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=346886"}],"author":[{"embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/softminal"}],"wp:attachment":[{"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=346886"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=346886"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=346886"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=346886"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=346886"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/it.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=346886"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}