{"id":384797,"date":"2026-10-14T03:23:46","date_gmt":"2026-10-14T03:23:46","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/wholesale-pro-for-woocommerce\/"},"modified":"2026-10-14T03:30:11","modified_gmt":"2026-10-14T03:30:11","slug":"umbrella-web-b2b-pricing-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/umbrella-web-b2b-pricing-for-woocommerce\/","author":23579637,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.2.0","stable_tag":"0.2.0","tested":"7.1.3","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Umbrella Web B2B Pricing for WooCommerce","header_author":"Umbrella Web","header_description":"B2B wholesale pricing, quantity tiers, order minimums, hidden prices for guests, and a wholesale application workflow.","assets_banners_color":"7983c4","last_updated":"2026-10-14 03:30:11","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/umbrellaweb.net\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":55,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.2.0":{"tag":"0.2.0","author":"blairwebproject","date":"2026-10-14 03:30:11","revision":3745221}},"upgrade_notice":{"0.2.0":"<p>Applications no longer create a user account when submitted. Applicants who applied under 0.1.0 already have an account and are not shown under Wholesale Applications.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3745204,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3745204,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3745204,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3745204,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3745204,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.2.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3745204,"resolution":"1","location":"assets","locale":"","width":1280,"height":1000},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3745204,"resolution":"2","location":"assets","locale":"","width":1280,"height":1000},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3745204,"resolution":"3","location":"assets","locale":"","width":1280,"height":540},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3745204,"resolution":"4","location":"assets","locale":"","width":780,"height":333},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3745204,"resolution":"5","location":"assets","locale":"","width":1280,"height":560},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3745204,"resolution":"6","location":"assets","locale":"","width":1280,"height":800},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3745204,"resolution":"7","location":"assets","locale":"","width":1280,"height":690}},"screenshots":{"1":"The application form on the storefront ([uwbp_application_form] shortcode).","2":"Users &gt; Wholesale Applications: review pending applications and Approve or Reject them.","3":"Settings &gt; B2B Pricing: default discount, order minimums, hide prices from guests, notification email.","4":"Wholesale price and quantity-discount fields on each product.","5":"The Wholesale column on the Users screen shows who is approved.","6":"The shop as a wholesale customer sees it, with wholesale prices.","7":"Order minimums are enforced in the cart and at checkout."}},"plugin_section":[],"plugin_tags":[10553,241049,51032,65073,286],"plugin_category":[45],"plugin_contributors":[285106],"plugin_business_model":[],"class_list":["post-384797","plugin","type-plugin","status-publish","hentry","plugin_tags-b2b","plugin_tags-quantity-discounts","plugin_tags-wholesale","plugin_tags-wholesale-pricing","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-blairwebproject","plugin_committers-blairwebproject"],"banners":{"banner":"https:\/\/ps.w.org\/umbrella-web-b2b-pricing-for-woocommerce\/assets\/banner-772x250.png?rev=3745204","banner_2x":"https:\/\/ps.w.org\/umbrella-web-b2b-pricing-for-woocommerce\/assets\/banner-1544x500.png?rev=3745204","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/umbrella-web-b2b-pricing-for-woocommerce\/assets\/icon.svg?rev=3745204","icon":"https:\/\/ps.w.org\/umbrella-web-b2b-pricing-for-woocommerce\/assets\/icon.svg?rev=3745204","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/umbrella-web-b2b-pricing-for-woocommerce\/assets\/screenshot-1.png?rev=3745204","caption":"The application form on the storefront ([uwbp_application_form] shortcode)."},{"src":"https:\/\/ps.w.org\/umbrella-web-b2b-pricing-for-woocommerce\/assets\/screenshot-2.png?rev=3745204","caption":"Users &gt; Wholesale Applications: review pending applications and Approve or Reject them."},{"src":"https:\/\/ps.w.org\/umbrella-web-b2b-pricing-for-woocommerce\/assets\/screenshot-3.png?rev=3745204","caption":"Settings &gt; B2B Pricing: default discount, order minimums, hide prices from guests, notification email."},{"src":"https:\/\/ps.w.org\/umbrella-web-b2b-pricing-for-woocommerce\/assets\/screenshot-4.png?rev=3745204","caption":"Wholesale price and quantity-discount fields on each product."},{"src":"https:\/\/ps.w.org\/umbrella-web-b2b-pricing-for-woocommerce\/assets\/screenshot-5.png?rev=3745204","caption":"The Wholesale column on the Users screen shows who is approved."},{"src":"https:\/\/ps.w.org\/umbrella-web-b2b-pricing-for-woocommerce\/assets\/screenshot-6.png?rev=3745204","caption":"The shop as a wholesale customer sees it, with wholesale prices."},{"src":"https:\/\/ps.w.org\/umbrella-web-b2b-pricing-for-woocommerce\/assets\/screenshot-7.png?rev=3745204","caption":"Order minimums are enforced in the cart and at checkout."}],"raw_content":"<!--section=description-->\n<p>Umbrella Web B2B Pricing adds a Wholesale Customer role to WooCommerce and gives those customers their own prices. Visitors apply through a form; nothing is created until you approve the application.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Wholesale Customer role<\/li>\n<li>Default wholesale discount (%) and fixed wholesale price per simple product or per variation<\/li>\n<li>Quantity discount tiers per product or per variation (\"10:5, 50:10\"); tiers stack on top of the base price and are counted per cart line (per variation)<\/li>\n<li>Variable products: wholesale prices, price ranges, cart, mini-cart, block cart and checkout all use the variation's own regular price<\/li>\n<li>Minimum items \/ minimum subtotal for wholesale orders<\/li>\n<li>Hide prices and purchasing from logged-out visitors<\/li>\n<li>[uwbp_application_form] shortcode: applications are held for review (Users &gt; Wholesale Applications) and no account is created until a shop manager or admin approves<\/li>\n<\/ul>\n\n<h4>Wholesale applications<\/h4>\n\n<ul>\n<li>Visitors apply with the [uwbp_application_form] shortcode. The application is stored as a private record; no WordPress user is created and the applicant receives no email yet.<\/li>\n<li>The shop owner (Settings &gt; B2B Pricing &gt; notification email, or the site admin email) is emailed. Review under Users &gt; Wholesale Applications as an administrator or shop manager.<\/li>\n<li>Approve creates the customer account (or adds the Wholesale Customer role to the applicant's existing account if they applied while logged in) and emails a link to set a password. Reject marks the application rejected and sends nothing.<\/li>\n<li>A second application from the same email while one is pending is ignored. An email that already belongs to an account is not attached to a record; the shop owner gets a \"review manually\" email instead.<\/li>\n<li>Each IP address may submit at most 5 applications per hour.<\/li>\n<\/ul>\n\n<h4>Variable products<\/h4>\n\n<ul>\n<li>A variation's fixed wholesale price applies only to that variation. A fixed price is never inherited from the parent product, because variations can have different regular prices.<\/li>\n<li>Quantity tiers: a variation's own tiers are used if set, otherwise the tiers set on the variable product apply.<\/li>\n<li>Without a fixed price, the default wholesale discount is applied to the variation's regular price.<\/li>\n<li>Sale prices are not used for wholesale pricing; the wholesale price is always based on the regular price.<\/li>\n<\/ul>\n\n<h3>Privacy<\/h3>\n\n<p>When someone submits the application form the plugin stores their contact name, email address, company, tax or VAT ID and note as a private record in your site's database (Users &gt; Wholesale Applications). It is visible only to administrators and shop managers, and it is emailed to the notification address you set. The visitor's IP address is not stored; it is used only to rate limit submissions, as a hashed temporary counter that expires after an hour. No data is sent to any third-party service. Applications are included in WordPress's Tools &gt; Export Personal Data and are deleted by Tools &gt; Erase Personal Data (matched by the email address on the application, including trashed ones), and suggested wording is added to Settings &gt; Privacy &gt; Policy Guide.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Make sure WooCommerce is installed and active.<\/li>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code>, or install it from the Plugins screen, and activate it.<\/li>\n<li>Go to Settings &gt; B2B Pricing to set the default discount, order minimums and the notification email.<\/li>\n<li>Add the <code>[uwbp_application_form]<\/code> shortcode to a page so customers can apply.<\/li>\n<li>Optionally set a wholesale price and quantity discounts on each product.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20do%20i%20review%20applications%3F\"><h3>Where do I review applications?<\/h3><\/dt>\n<dd><p>Users &gt; Wholesale Applications. Administrators and shop managers can approve or reject each one.<\/p><\/dd>\n<dt id=\"does%20an%20applicant%20get%20an%20account%20straight%20away%3F\"><h3>Does an applicant get an account straight away?<\/h3><\/dt>\n<dd><p>No. An account is created only when you click Approve. The applicant is then emailed a link to set a password.<\/p><\/dd>\n<dt id=\"can%20i%20give%20an%20existing%20customer%20wholesale%20access%20without%20an%20application%3F\"><h3>Can I give an existing customer wholesale access without an application?<\/h3><\/dt>\n<dd><p>Yes. Give the user the Wholesale Customer role from the Users screen.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20variable%20products%3F\"><h3>Does it work with variable products?<\/h3><\/dt>\n<dd><p>Yes. See the Variable products section above.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20data%20if%20i%20delete%20the%20plugin%3F\"><h3>What happens to my data if I delete the plugin?<\/h3><\/dt>\n<dd><p>The plugin's settings are removed. Wholesale customer accounts, the Wholesale Customer role and the stored applications are kept.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Applications no longer create a WordPress account on submit. They are held as private records under Users &gt; Wholesale Applications, and the account is created only on approval.<\/li>\n<li>Approval email now contains a one-click set-password link, and WooCommerce's own \"new account\" email is not sent in addition.<\/li>\n<li>Applications are rate limited (5 per hour per IP address) and de-duplicated by email.<\/li>\n<li>Shop managers can review applications and save the B2B Pricing settings (saving previously returned a 403 for them).<\/li>\n<li>The application list shows the applicant's note, and its Approve link is visible (WordPress core CSS was hiding it).<\/li>\n<li>The application form is styled.<\/li>\n<li>The Wholesale column on the Users screen follows the Wholesale Customer role.<\/li>\n<li>Prices are hidden from guests in the Store API, block hydration and JSON-LD when \"Hide prices from guests\" is on.<\/li>\n<li>Works with WordPress's personal data export and erasure tools, and adds suggested privacy policy text.<\/li>\n<li>Declares compatibility with WooCommerce High-Performance Order Storage.<\/li>\n<li>Deleting the plugin removes its settings and counters (accounts, role and applications are kept).<\/li>\n<li>Added a Docker playground (see playground\/README.md).<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial version.<\/li>\n<\/ul>","raw_excerpt":"Wholesale pricing, quantity tiers and order minimums for WooCommerce, with an application form that creates accounts only after you approve.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/384797","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=384797"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/blairwebproject"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=384797"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=384797"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=384797"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=384797"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=384797"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=384797"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}