1) Products Visibility (by user roles)
-
1.1 Global products visibility options
1.2 Products visibility by user roles
1.3 General settings linked to product visibility
2) B2B Registrations:
-
2.1 Adding new registration fields
2.2 User roles dropdown on the registration form
2.3 Approve new user settings
2.4 Registration email settings
2.5 General Settings for registration fields
2.6 Enable default registration & billing fields
3) Hide Price & Request a Quote
-
3.1 Adding new hide price & quote rule
3.2 Add custom fields to quote form
3.3 Manage submitted quotes
3.4 General settings & mini quote dropdown
3.8 Page builders compatibility
3.9 Quote attributes (Tax, price and other settings)
-
3.10 Customize quote buttons
-
3.11 Disable quote button for specific variations
4) Role-Based Pricing and Tiered Pricing
-
4.1 Role & Customer Specific Pricing from Product Edit Page
4.2 Adjust prices for variations
4.3 Rule-Based price adjustments (Bulk)
4.5 Apply discount on special or standard prices.
4.6 Import Prices Using CSV File
4.7 Understanding the Pricing Priorities
5) Tax-Exempt Settings
-
5.1 General Settings (Exemption form and checkbox)
5.2 Customers & User Roles (Exempted by admin)
5.3 Exemption Request Settings
5.4 Emails and Notifications
5.5 Tax-exempt settings for guest users
6) Restrict Shipping Methods
7) Restrict Shipping Methods
8) Prices & Tax Display (Show prices inclusive/exclusive of taxes based on user roles)
9) Order restrictions (Restrict order based on cart quantity, amount and user roles)
10) Cart Discount Rules (Add discount based on cart quantity and amount)
11) Add and Edit User Roles
Here we will show to entire configuration options linked to product visibility by user roles. To configure this feature, go to B2B> “settings” and navigate to the “products visibility” tab. Here you can configure the following features,
-
-
1.1 Global products visibility options
1.2 Products visibility by user roles
1.3 General settings linked to product visibility
In global settings, you can choose to show/hide products for all registered and guest users. You can hide specific products & categories as well as specify custom error messages to be displayed when a user tries to access these restricted pages with a direct link.
Under the visibility by user roles tab, you can show/hide products by specific user roles and draft a custom error message for each user role.
- Show – option enables you to show only selected products to the user role and hide all other products. For example, if you show Product A to wholesale customers, The wholesale customers will only see “Product A” in the catalog and rest of the will remain hidden for them.
- Hide – option enables you to hide products from a specific user role. In the above example, if you choose to hide Product A from wholesale customers, Only the “Product A” will hide from wholesale customers and rest of the products will remain visible.
Note: The visibility by user roles will effect product visibility for the selected user roles only, whereas all other customers will be able to see entire catalog unless you have a general global setting enabled to do otherwise.
How to show a specific product or category to retailers only and keep it hidden for everyone else?
From the admin panel, go to B2B > Settings > Product visibility > Global visibility tab and select the product or category you want to hide from everyone. This will hide the product and/or category from guests and all registered customers irrespective of their role. Don’t forget to select the checkbox to enable this global setting.
Now as they are hidden for everyone, you can now open them to the retailer and any other user role. In order to show the product, go to “visibility by user roles” tab, and navigate to the user role for which you want to open this hidden product and category. In this case its retailer. Select the “show” from the dropdown + select all categories and hit the save button.
Now the specified product and/or category will remain hidden for everyone except the retailer user role.
Under the general settings tab, you can specify if you want to allow/disallow search engines to crawl and rank your restricted / private pages.
WooCommerce B2B plugin comes with a powerful B2B registration solution that allows you to add new user registration fields, display user roles on the registration form and manually approve/disapprove new user registrations. Go to
B2B > “settings” and
navigate to “B2B Registration Settings” to access B2B registration configurations. Here you can,
-
2.1 Add new registration fields
2.2 User roles dropdown on the registration form
2.3 Approve new user settings
2.4 Registration email settings
-
2.5 General Settings for registration fields
2.6 Enable default registration & billing fields
To add new registration fields, go to the “All Registration Fields” tab. Click on “Add New Field” to create a new custom registration field. While adding new field you can,
- Customize field title, description, and placeholder
- Choose from 14 different field types (Text, dropdown, multi-select, radio button, number, date & time picker, color and file upload )
- Make field mandatory or optional
- Make field readable-only once filled by the customer
- Make field dependable to user roles i.e field will only show when the user selects the specific user roles from the dropdown during registration.
To configure user roles dropdown settings, go to “User Role Settings” under the “B2B registrations” tab. Here you can specify which user roles you want to display in the dropdown and customize the dropdown label.
In this section, you can specify which user roles should be auto-approved and assigned and which user roles would require a manual validation from store admin. By default, all user role registrations are subject to manual approval, however, you can select the specific user roles and exclude them from the manual review process.
You can also customize error messages to be displayed to customers when a new user is created and pending for manual approval by the admin. This creates a better user experience as when a customer will try to login using the login & password will be notified about his/her account status.
How to approve new users:
The users can be approved by using 2 methods.
Approve/Disapprove link in the email:
When a new user is registered and awaiting validation – an email is sent to admin which includes the user details and a direct link to approve/disapprove the user. The admin must be logged in to their admin panel in order for this link to work.
Approve from All User Section:
Once a user is created, he is listed in ”All User” section. You can find and approve the customer. Just hover on the customer’s name and the approve button will appear.
With the release of version latest version, the extension emails have been moved under WooCommerce > Settings > Emails. All of our email templates start with “Addify.” This provides ease for merchants to override the email template just like they do for the default WooCommerce emails. You can enable/disable, customize the subject, heading following email templates from WooCommerce > Settings > Emails, whereas the body content of the email can be configured from our extension settings.
- Addify Registration New User Email Admin
- Addify Registration Update User Email Admin
- Addify Registration New User Email to Customer
- Addify Registration Pending User Email to Customer
- Addify Registration Approved User Email to Customer
- Addify Registration Disapproved User Email to Customer
You can customize the body content of these emails from Registration Fields > Settings > Emails. Here you can configure the content to be included in each email as well as use variables to include relevant information such as,
{customer_details}
{approve_link}
{disapprove_link}
The approve and disapprove variables can be used in admin email notification only where as the customer details variable can be used in all emails and this will trigger the data filled by customers during registration such as name, email, etc.
Addify Registration New User Email Admin
This email is sent to the admin when a new user registers and the content added in
Admin Email (New User) will be included in the body of this email.
Addify Registration Update User Email Admin
Email notification sent to admin when a user updates custom fields data from my account page. The content added in
Admin Email Text (My Account Update) will be included in this email
Addify Registration New User Email to Customer
This is the welcome email notification sent to customers when a new user account is registered. You can disable this email if you choose to use the default “new account” email sent by WooCommerce. Alternatively, you can disable default email from WooCommerce > Setings > Email > New Account, and use our extension email as a welcome email to include the customer data by using the variables defined above, in the description of
User Welcome Email Text as this data is included in the welcome email.
Addify Registration Pending User Email to Customer
This welcome email notification is sent to users whose accounts awaiting approval and currently, their status is pending. They won’t receive the above welcome email from our extension. You can disable the default “New Account” of WooCommerce to use this as an email to notify customers that their account is awaiting approval. The content added in
Pending Email Body Text will be included in this email body and you can use the variables like {customer_details} to include the fields data field by the customer during registration.
Addify Registration Approved User Email to Customer
Email notification is sent to customers when their account is approved. The content added under
Approved Email Text will be included in this email.
Addify Registration Disapproved User Email to Customer
Email notification is sent to customers when their account is disapproved. The content added under
Disapproved Email Text will be included in this email.
The general setting enables you to customize the heading for new custom registration fields and add Google recpatcha keys.
Go to registration fields and click on enable default fields to access the default fields that you can enable on registration page. While enabling these fields you can customize,
- Field label
- Place holder
- Message/Description
- Required/Optional
- Sort Order (Will always be displayed above custom fields – see “Fields Sorting” section below for more details)
- Field Width
- Field Status
Please note this enable/disable will only display/hide fields from registration form the fields will continue to display in the billing section.
WooCommerce B2B comes with a powerful hide price and “request a quote” feature that allows you to hide prices of specific products by specific user roles and replace their add to cart button with a”Add to Quote” button. Your customers will be able to add multiple products to quote basket and ask for price estimates.
Here is how you can configure the following settings of request a quote feature.
-
3.1 Adding new hide price & quote rule
3.2 Add custom fields to quote form
3.3 Managing submitted quotes
3.4 General settings & mini dropdown
-
3.9 Quote attributes (Tax, price and other settings)
-
3.10 Customize quote buttons labels
-
3.11 Disable quote buttons for specific variations
WooCommerce B2B extension allows you to create multiple rules to hide prices of specific products and for specific user roles. You can choose to replace prices with a custom text and “add to cart” button with a new “Add to Quote” button. To create new rules, Go to B2B > Quote rules.
While creating new rule you can,
- Rule Title: Provide a unique rule title for future reference.
- Rule Type: Choose to enable the quote button for guests or registered users.
- Rule Priority: In case of conflicting rules, you can set the priority to manage accordingly.
- Quote Rule for Selected Products: Here you can specify on which products the “Add to Quote” button should appear.
- Quote Rule for Selected Categories: Here you can specify for which categories the “Add to Quote” button should appear.
- Quote for User Roles: Here you can specify if you want to show the quote button to specific or all customer groups & user roles.
- Hide Price: You can hide the price of the products where the quote button is displayed.
- Hide Price Text: You can add any text to replace the price. Leave empty if you don’t want to show any custom text message.
- Hide Add to Cart button: Here you can specify if you want to keep the “Add to Cart” button but along with the quote button, or you want to replace “Add to Cart” with your new Quote button. This will only apply to the products you have selected above.
- Custom Button Label: You provide custom text for your new quote button.
Go to B2B > Quote Fields to add unlimited custom quote fields to collect additional information with quotation.
Adding new field:
Click
Add New Field each time you need to create a field that can assist in inquiring for relevant and necessary details. To make a field enter these details:
- Title: The name of the field that appears on your All Quotes page for your own reference
- Field Name: Not to be confused with Title or Field Label. Each quote field should have a unique name, the field name is a meta_key used to store value in database.
- Field Type: Assign an input format type to the field.
- Field Label: Not to be confused with Title or Field Name. The name of the field that will be shown to your customer’s at the frontend
- Field Default Value: You can select any default customer value against which that fields data should be stored. For example, if you adding a text field for the first name, from the dropdown you can select the first name option so that fields data can be saved as first name in the database against the default first name value.
- Field Place Holder: Give your customer an additional description or hint of what you want from them in this field, with customized text located inside the field. Remember, the text disappears once the customer starts typing.
- Field Options: Based on the input type you select in Field Type, an additional field, Field Options, will appear at the bottom for you to fine-tune Multi-Select, Select or Radio field types.
With the help of the
Field Attributes box you can make any field a mandatory field and set its order in your form. Enable or disable the field through the dropdown.
Go to B2B > All Quotes, you can access all submitted quotes along with the complete quote information i.e customer name, email, number, products added to the quote, custom message and any other field that you have added to acquire more information.
You can add new quotes on customers’ behalf or edit an existing quote to add products, change price and covert to order. You can send an email notification to the customer by selecting the quote status and select yes to notify the customer. The quote page on the backend provides following information.
- Full Name
- Email or account username if creating quote for registered customer
- Company Name
- Phone Number
- Country
- Description (type the details related to the requested quote)
The quote fields depend on the fields you have created for quote submission form.
Quote status:
To better manage your quotes, the extension now offers multiple quote status and ability to send email notifications to customers on status change.
Convert quote into order by admin:
You can choose to convert the quote into an order. The quote will be converted to order using the offered price. You can edit the offered price and the same will be used as the product price in order. The customer will get an email about the status change. Please note due to technical reasons the shipping cost and tax will not carry forward to the order. You would need to manually add shipping cost to order once the quote is converted to order. Hit the re-calculate button to calculate tax on your order detail page after adding billing and shipping addresses.
To access the general settings and mini quote options, go to B2B settings and navigation to “Request a Quote” > General settings tab. Here you can configure,
- Mini quote cart placement
- Customize email message sent to the customer on quote submission
- Enable/Disable Ajax add to quote settings
Customize following messages and button text,
- Successful submission of quote message
- View quote link appear after product is added to quote basket
You can enable and customize following email notifications
- New quote notification to admin
- Pending / new quote email (customer)
- When a quote is accepted (customer)
- Converted to order (customer)
- Quote declined (customer)
- Quote canceled (customer)
The captcha setting allows you to add API keys to enable Google recpatcha on quote submission form. At the moment the extension support V2 reCaptcha.
The page builder plugins sometimes remove the default Add to Cart hook and replaces it with a custom hook. In such cases, The add to cart and hide price feature may not work properly. In the latest version, we have added 3 alternate hooks that these page builders uses (frequently).
If you facing issues with showing the quote button or replace add to cart with the quote button, please try all these alternate hooks and retain what works for your website/theme.
Using the quote attributes tab under B2B > Settings > Request a Quote, you can customize following options,
- Quote Basket Price: Activate product price, subtotal and total of quote basket. If this option is active, the price will always display on quote basket and emails.
- Price Offered: Activate offered price and subtotal (offered price) of quote basket
- Tax: Display tax based on standard price
- Convert to Order: Give your customer the convert to order option at the frontend (Quote Status: In Process, Accepted
- Quote Converter: Activate display of quote converted (User/Admin) in my-account quote details
Using the Quote button tabs, you can customize following options
- “Place Quote” button label, text color and background color
- “Update Quote” button label, text color and background color
Edit any variation and you should be able to enable or disable quote button for specific variations. Please make sure a quote rule is active for this product to make these options work.
You can customize the following quote PDF settings as per your business needs,
- Add company logo
- Add company name and address
- Choose from 3 PDF layouts
- Customize PDF color scheme
- Add footer to PDF to include any terms and conditions
Role-based pricing feature allows you to set up customer and role-specific pricing. You can set a fixed price, increase or decrease prices in fixed or percentage amount. You can configure role-based pricing form individual product edit page or use the rules management system to adjust prices of multiple products and categories in bulk. You can add multiple prices based on different quantities to setup WooCommerce Wholesale Pricing on any product. The extension will automatically display wholesale pricing table.
-
4.1 Role & Customer Specific Pricing from Product Edit Page
4.2 Adjust prices for variations
4.3 Rule-Based price adjustments (Bulk)
4.5 Understanding the Pricing Priorities
From the admin panel, go to the product page for which you want to set different prices for different user roles or customers.
The product level settings allow you to,
- Select user role and customer for which you want to change the prices
- Set a fixed price or increase/decrease price by a percentage or a fixed amount
- Tiered Pricing:
- Add multiple rows
- Select the customer/user role,
- Add min and max quantity range
- Add price adjustment based on quantity range
To update the price for any variation, go to the product edit page and edit the variation. Under the variations settings, you can see the new “Price by User Roles” section. From here you can update the price for each variation. Please note, currently, there is no option to update prices in bulk for attributes and variations.
To update product prices for specific user roles or customers in bulk go to “B2B > Role based pricing” from left admin menu and navigate to “Add New Rule”.
While adding a new rule you can,
- Specify the user role or customers for which you want to update prices.
- Select products or categories for which you want to change prices
- Set a fixed price or increase/decrease price by a percentage or a fixed amount
- Set up minimum and maximum order quantity
- Tiered Pricing:
- Add multiple rows
- Select the customer/user role,
- Add min and max quantity range
- Add price adjustment based on quantity range
Go to B2B > Settings and navigate to Role based Pricing Settings tab. Using the general settings you customize error messages for minimum and maximum order quantity.
You can choose to apply the role-based pricing on special or standard prices based on user roles. Go to B2B > Settings > Role Based Pricing > Price for discount.
With the release of version 1.9.0, you can import prices using a CSV file and the format has to be as defined below. Please read the instructions and caution details as listed on page. You can access this section from WP Admin > B2B > Import Role Based Prices.
The plugin has specific priorities to handle overlapping price adjustments. Here is how the default priorities work.
1. Product Level Settings
1a. Price set for specific customer
1b. price set for specific user role
2. Rule-Based Settings
2a. Price set for specific customer
2b. Price set for specific user role
When product A price is configured using (1a) – no matter what you set in (1b, 2a & 2b), it will not work because the customer pricing has 1st priority.
When product A price is configured using (1b) – no matter what you set in (2a & 2b) it will not work because the product level role-based pricing has 2nd priority.
When product A price is configured using (2a) – no matter what you set in (2b) it will not work because in rule-based setting the customer pricing has 3rd priority.
B2B for WooCommerce comes with an advanced tax exemption tool. Go to wp-admin>B2B>settings>tax exemption tab. Here you can configure the following details
-
5.1 General Settings (Exemption form and checkbox)
5.2 Customers & User Roles (Exempted by admin)
5.3 Exemption Request Settings
5.4 Emails and Notifications
5.5 Tax-exempt settings for guest users
In the general setting, you can customize tax exemption form fields. This form appears in the customers’ “My Account” section from where customers can upload tax exemption files and provide necessary details to request the tax exemption. Once the form is submitted admin will receive an email notification to approve or disapprove tax exemption requests from users’ detail page in Backoffice.
You can also enable disable the checkbox on the checkout page to manual or auto remove the tax for exempted customers.
Here you can tax-exempt specific customers and user roles. These exempted customers and user roles do not require to submit any tax from my account page. This is the simplest way to offer tax exemption.
Here you can configure who can send tax exemption requests from my account page. The admin can also enable/ disable auto-approval when customer submits tax form.
The admin can review tax exemption from All Users > Customer name > Edit profile section
- Here you can configure the email and other notifications which includes,
- Message to be displayed when user updates or submits his tax info
- Email for admin can customer submits tax info and awaiting review
- Email to the customer when tax status is approved or disapproved
This is a text message that admin can show to non-loggedin customers telling them the tax exemption is available and they can submit forms to claim tax exemption.
Go to admin > B2B > Settings > Shipping tab to access the shipping methods settings. Here you can enable/disable shipping methods for users roles and visitors.
Go to admin > B2B > Settings > Payment tab to access the payment methods settings. Here you can enable/disable payment methods for users roles and visitors.
You can now choose to display prices inclusive or exclusive of taxes based on user roles. For example, you can choose to display prices inclusive of taxes to general customers and inclusive of taxes to wholesalers. Go to B2B > Settings > Tax to access this feature.
We have introduced order restriction in version 2.0 and later. With this feature you restrict customers from purchasing below or beyond the specific order amount and quantity. Apply limitation to specific customers and user roles only. The restriction amount can be based on cart sub-total or total amount.
Go to B2B > Order restrictions to access restriction settings and rules. You can trigger restriction on cart or checkout page. While creating new rule you can custom following settings,
You can added multiple cart rules to offer discounts on cart level based on cart amount, quantity and user roles. While creating cart discount rule you can customize following options,
- Apply to discount to entire cart or specific products only
- Apply discount based on amount or quantity range
- Add multiple rows to added different discounts for different quantity or amount ranges
- Display messages before and after discount is applied
- Add start and end date of rule to offer discount in specific date range
You can now add new user roles or edit your existing user roles using user role manager of B2B for WooCommerce extension. While creating new user role,
- Customize user role name and key
- Inherit capabilities from existing user role or assign custom capabilities (Inheriting Customer Capabilities is recommended if you are creating standard user roles like wholesale, retailer, B2B, etc.)
The extension also provides a quick view of how many customers are assigned to each user role.
You can also add multiple user roles to each customer. The additional user roles can be added as secondary user role and those can managed from All Users > User Details Page with heading Secondary Roles.
How to add new user roles?
You can add custom user roles like B2B, Retailer, VIP, etc. using any free user role editor plugin from WordPress.org. We do not create custom user roles instead the extension uses the existing user roles created any proper user role editor. If you need more details on this, please reach out to our support team.
Is it compatible with elementor?
Only the request quote feature sometimes runs into conflicts with elementor when the standard “Add to Cart” hook is not used. For 90% of the elementor customers, it does work smoothly. You can purchase the extension and in case of any conflict, we would recommend you to please contact the support team so they can adjust the add to cart hook in our extension to match with your current hook.
Customer-specific pricing is working but role-based pricing is NOT working
When you configure customer-specific pricing, the rule-based pricing will not work. Please see the above heading for more details.
How to create user roles? I cannot see WooCommerce wholesale user role after installing this extension.
This extension does not add user roles, you can use any free available user roles editor plugin to add roles. Once the roles are added the same roles will start appearing in extension configurations.
After setting up the role-based pricing – the add to cart button is not working.
When you configure minimum quantity great than 1. On the front end, the product will not be added to the cart unless the customer enters quantity more than the minimum limit or less than the maximum limit. You are not seeing any notification, probably because you have not added any minimum/maximum quantity error message. Go to backend > Role-based pricing and navigate to “settings” page to add custom messages for minimum and maximum quantities.
Is the extension compatible with WooCommerce Product Add-Ons?
Only the request a quote feature is compatible with WooCommerce Product Add-Ons with the following limitations.
- File Upload field cannot be carry forwarded with a quote.
Is the extension using reCaptcha V2 or V3?
The extension currently supports Google Recaptcha V2 version.
Quote emails are not working?
You would need to configure the emails from Request a Quote > Settings > Emails. Here you can enable notifications for admin and customers for different quote statuses and customize the messages as well.
If you have already configured the above and the emails are still not working, there is a high possibility that your website emails are not working. We would recommend you please test the email configurations by using the following steps.
- Disable our extension
- Confirm if new user account email is enabled from WooCommerce > Settings > Email > “New account”
- Create a new user account and see if you receive a new account email notification.
If it doesn’t work, please check the email configurations.
As soon as your website emails start working, our extension quote emails should start working as well. If it doesn’t, please create a ticket using this link, and don’t forget to mention that you have already tried these steps.
How can I allow only registered users to submit quotes?
If you want to enable the request a quote for registered users only, you would need to create 2 rules.
Create your first rule for guest users and replace add to cart with a custom button – give it a suitable title like login/register to quote and add URL of your login/registration page.
Create another rule and this time select the registered user roles and replace add to cart with the quote button. By doing this only the registered users will see quote button whereas the guest users will see the login/register button.
How to show a specific product or category to retailers only and keep it hidden for everyone else?
From the admin panel, go to B2B > Settings > Product visibility > Global visibility tab and select the product or category you want to hide from everyone. This will hide the product and/or category from guests and all registered customers irrespective of their role. Don’t forget to select the checkbox to enable this global setting.
Now as they are hidden for everyone, you can now open them to the retailer and any other user role. In order to show the product, go to “visibility by user roles” tab, and navigate to the user role for which you want to open this hidden product and category. In this case its retailer. Select the “show” from the dropdown + select all categories and hit the save button.
Now the specified product and/or category will remain hidden for everyone except the retailer user role.
Fields Sorting:
Here is how the sorting order works,
- The defaults are always displayed first – Due to technical limitation you cannot sort the new custom fields with the default fields
- User roles dropdown is always displayed at the end of default fields
- The new custom fields are displayed under user roles dropdown – you can easily sort these custom fields
Custom Fields on Checkout Limitation:
If you have enabled account creation during the checkout – the same custom registration fields will be displayed under account creation section. However, the following fields and features will not be displayed on checkout account creation section due to underlined technical reasons.
File upload, multi-checkbox & reCaptcha
Due to technical limitation file upload, multi-checkbox fields, and reCaptcha cannot be displayed on checkout page. However, you can use multi-selectbox to do the job and your customer can always upload files from my account page after completing the checkout process
The extension comes with 2 types of VAT validation i.e VAT number length and VIES Validation. European commission is now using SOAP services for VIES VAT validation. In order to VIES validate VAT numbers on your website, please activate SOAP service on your server.
Here is how to Activate PHP-SOAP.