Magento 2 B2B Extensions

  1. Home
  2. Docs
  3. Magento 2 B2B Extensions
  4. Magento 2 B2B Extensions Package
  5. User Guide - Basic B2B

User Guide - Basic B2B

1. Overview

Magento 2 B2B Extensions covers the needs of B2B/wholesale customers and sellers from the very login to the reordering process.

+ Force Login

+ Catalog Permission

+ B2B Registration

+ Customer Attributes

+ Customer Approval

+ Company Account

+ Sales Rep

+ Hide Price

+ Request for Quote

+ Custom Pricing

+ Product Attachments                                                     

+ Wholesale Fast Order

+ Add Multiple Products to Cart

+ Configurable Product Grid Table View

+ Multiple Wishlists

+ Minimum Order Amount for Customer Group

+ Shipping & Payment Method per Customer Group

+ Custom Shipping Method

+ Store Credit

+ Reorder Product List

BSS Commerce is providing 4 pricing plans for the B2B extension package, including Basic, Professional, Premium and Customized plans.

In this guide, we will present the user guide based on the Basic plan to provide the most detailed information for you. For the 4th plan, you can select picked modules from this guide to make configuration.

Basic Plan

As you can see from the above image, there are 7 extensions included in the Basic plan, regardless of a coming soon module. To start configuration, please go to Stores ⇒ Configuration ⇒ BSS COMMERCE and select extensions from the Basic plan to set up.

2. Catalog Permission

2.1. General settings

Catalog-Permission-General-Settings

  • Enable Catalog Permission: choose Yes to restrict catalog to the chosen customer groups.
  • Error Message: tailor the Error Message you want to show on the page to which customers are redirected. You can also set different messages for different categories by going to Catalog => Categories.
  • Redirect to Page: choose among these six pages to redirect customers when they access a restricted page.

*Note:

+ If you create a new CMS page, it will be added to "Redirect to Page" options

+ Please make sure that the chosen page is not restricted by CMS permission function.

+ If the redirected page is disabled, customers will be redirected to Home Page.

  • Disable Category Link: choose Yes to hide the link of category on the menu and layered navigation.

*Notes:

+ If at least one sub-category has different catalog permission from that of the parent category, the parent category link will be shown.

+ In other words, only when all subcategories have the same permission as the parent category will the parent category link be disabled.

  • Apply Parent Category Setting to Sub-Category: choose Yes so that the setting of parent category will be applied for its sub-categories.

Sub-category permission

  • Use Category Permission for Products Belonging to: choose Yes to disable products belonging to the restricted categories. For the product belongs to multiple categories: If at least one of those categories is restricted, the product will not be available to access in other categories.

If you choose No, non-permitted customers can still access the products under restricted categories.

2.2. CMS Page Permission

CMS Page Permission General Settings

*Note:

+ If you create a new CMS page, it will be added to "Redirect to Page" options.

+ Please make sure that the chosen page is not restricted by CMS permission function.

+ If the redirected page is disabled, customers will be redirected to Home Page.

2.3. Set permission for categories

Go to CatalogCategories and navigate to the category you want to set permission. Restrict-access-to-specific-categories In Redirect Type:

  • Use Global Config: apply the error message and redirect to the page as you set above.
  • Customize per Category: Tailor message for a specific category and choose how to redirect visitors in Select Page, Custom URL, and BSS Error Message.

In Restricted Customer Group: select customer group(s) you don't want to grant access to the category.

2.4. Set permission for CMS pages

Go to Content ⇒ Pages and navigate to the category you want to set permission. Restrict-access-to-specific-CMS-Pages

3. B2B Registration

3.1. General Configuration

Genneral Configuration
  • In Enabled: choose Yes to enable the module.
  • In B2B Account Page URL: enter URL of the customer registration page
  • In Shortcut Link in Header: select Yes to enable the shortcut link in the header. So customers can click this shortcut link to navigate the registration page.
  • In Shortcut Link Text: enter the title of the shortcut link in the header.
  • In Form Title: enter the title of the B2B registration form

Choose additional fields in the B2B Registration form. If you do not want any fields to show up, choose No.

Additional fields in B2B registration formPlease ensure that by default, these fields are not required. Go to Configuration ⇒ Customer Configuration ⇒ Name and Address Options to check. Default Customer Configurations Customer groups B2B Registratin for customer group

Approval settings for B2B Registrations

  • In Auto Approve Accounts: Choose Yes if you want to accept new B2B accounts automatically or No if you want to approve accounts manually

* Note: Even when you approve the B2B registration requests automatically, you can still change their status in the backend.

Admin email settings Admin Email Settings

Customer email settings Customer Email Settings

3.2. Default CAPTCHA support

To enable Captcha in the B2B Registration form, please follow Stores ⇒ Configurations ⇒ CUSTOMERS ⇒ Customer Configuration ⇒ CAPTCHA B2B Registration captcha

3.3. Manage B2B registration requests

In Customer Grid: There is an additional Status column in Customer Grid in the backend so that the admin can check the status of B2B accounts and make adjustments accordingly.

The admin can edit the status of single B2B account by double-clicking in any position in the row: Manage B2B account or, multiple B2B accounts: Mass actions over B2B accounts or in Account Information of specific account: Manage B2B account in Customer Edit page *Note: If the admin creates an account in the backend for a customer, there will be an approval notification email sent to the customer after finish creating this account. However, that account has Normal status, the admin can change into B2B Approval status, there also a notification email sent to that customer.

4. Customer Attributes

4.1. General config

Customer Attributes

In Enable, choose Yes to enable the extension or No to disable it.

*Note: The Enable config only affects the frontend display. Other backend functions aren’t affected by this config.

In Allow Dowload Customer Attribute File: choose Yes to allow downloading the file uploaded to customer attribute or No to restrict downloads.

In Title of Customer Attributes, enter the name for the customer attributes block. This title will be displayed on the Registration Form and My Account Page.

In Set Default Required Attributes for Existing Customer, choose Yes if you want required attributes to be applied for existing customers. Otherwise, choose No.

4.2. Create new customer attributes

Go to Customers ⇒ BSSCommerce ⇒ Customer Attributes.

add-remove-customer-attribute-in-Magento-2-

Click Add New Attribute button to create a new customer attribute. Then, you will see 3 tabs: Properties, Manage Labels, and Display Configuration.

4.2.1. Properties

Attribute Properties:

In Default Label, enter a name for the customer attribute.

In Input Type, choose 1 of the 9 input types: Text Field, Text Area, Date, Yes/No, Multiple Select, Dropdown, Checkbox and Radio Button, File (Attachment).

*Note:

  • If you choose Multiple Select, Dropdown, Checkbox or Radio Button, add options for the customer attribute in Manage Options.
define properties of Magento 2 customer attributes

In Values Required, choose Yes to make the customer attribute compulsory to fill in; otherwise, choose No.

Advanced Attribute Properties:

Properties

In Attribute Code, enter a code for the customer attribute. No space allowed and no more than 30 symbols.

*Note: In case none value is entered for Attribute Code, the extension will automatically get the value of Default Label as value for this field.

In Maximum File Size (bytes), enter a number to define the largest file size possibly uploaded.

In File Extensions, type allowed file extension that can be uploaded to the customer attribute. Each is separated by a comma.

In Default Value Required for Existing Customer, enter a value if the attribute is set as Required. This field will be only shown when the Values Required is Yes and the Input Type is text field, area, datetime, or file.

In Input Validation for Customer, set a type of data allowed in the field. The available values depend on the Input Type specified.

  • None—The field has no input validation during data entry.
  • Decimal number—Accepts only decimal number during data entry.
  • Integer Number—Accepts only integer number during data entry
  • Email—Accepts only an email address during data entry.
  • URL—Accepts only a URL during data entry
  • Letters—Accepts only letters during data entry
  • Letters (a-z, A-Z) or Numbers (0-9)—Accepts any combination of numbers (0-9) and alphabetic characters (a-z, A-Z) during data entry.
4.2.2. Manage labels
manage labels of Magento 2 additional fields to registration based on store view

Customer Attributes for Magento 2 extension supports multiple store view, so you can display different customer attribute labels per store view.

4.2.3. Display configuration
Customer-Attribute-Display-Priority

*Note:

- The sort order set here will also decide the order of appearance of the attributes in the backend.

- You need to reindex data of Customer Grid whenever you make any change in Display in Customer Grid config.

- Attributes of all input types, except for "File", are supported at the checkout page.

In Hide If Filled Before, choose Yes to hide the customer attributes at the checkout page if they are filled before.

4.3. Create a new customer address attribute

Go to Customers ⇒ BSSCommerce ⇒ Customer Address Attributes. magento 2 customer address attributes

Click Add New Attribute button to create a new customer attribute. Like adding customer attributes in the section 2.2, there are also 3 tabs: Properties, Manage Labels, and Display Configuration. In each tab, you do the same steps as creating customer attributes to fill information in each field.

In Display Configuration tab, you set Yes/No to decide whether to show customer address attributes in these positions or not.

4.4. Create a new email template

As above, customer attributes are possibly set to display on Order Confirmation email and New Account email.

First off, you need to create a new template that includes customer attributes variable. Please follow Marketing Email Templates Add New Template.

  • New Order Confirmation email template

In Template section of Load default template, you can select among various default email templates, for example, New Order. Then, hit on Load template button.

load new Magento 2 email template

Under Template Information, select Insert Variable… to add customer attributes to the new order confirmation template.

insert new account customer attributes to the template

Do not forget to enter Template Name and Save the new template.

add variables of Magento 2 Customer Attributes to the template

Secondly, set this new template as the Order Confirmation email by going to Stores Configuration Sales Sales Emails Order.

In New Order Confirmation Template, uncheck Use system value box and choose the newly created email template.

set Magento 2 order sales email

On completing, please Save Config.

  • New Account email template

Similarly, you can create a new template with customer attributes for New Account email.

In Template of Load default template section, choose New Account (Default) template and hit Load Template.

Under Template Information, enter Template Name and select Insert Variable… to add customer attributes to New Account template.

add customer attributes to the email template

Then, Save Template.

To set this new template as the New Account template, please follow Stores ⇒ Configuration ⇒ Customers ⇒ Customer Configuration and expand Create New Account Options.

In Default Welcome Email, unmark Use system value box. Then choose the newly created template. Save Config to complete the settings.

set up Magento 2 new account options

4.5. Import Customer with Attributes

Customer Attributes for Magento 2 extension allows importing customer with the created customer attributes by using the .csv file.

Firstly, prepare the file of customer information with customer attributes to import. All created customer attributes must be included in the import file with each customer attributes code listed in separate columns. Please make sure that all customer attribute codes are the same as attribute codes of existing customer attributes.

For customer attributes with the input type is a checkbox or radio button, use option's ID instead of options' value. For customer attributes with the input type is a dropdown or multiple select, fill in with correct options' value.

CSV file of Customer Attributes

Admins can also download the sample file by following System Import.

In Entity Type, choose Custom Main File to import new customers with customer attributes.

In Import Behavior, select one of the following actions:

  • Add/Update complex data: New data is added to the existing attributes in the database.
  • Delete Entities: Any existing data of entities in the import file is removed from the database of the stores.
  • Custom Action: Admins can also override the import behavior by writing a custom option.

In Select file to Import, upload the file prepared earlier. Make sure that the size of the uploaded file is not more than 3M.

How to import Magento 2 Customer Attributes

On completing, tap Check Data button in the upper-right corner. Wait for few seconds for the validation to perform.

If the import data is valid, the successful message will be displayed as in the screenshot. Click on Import button to process the import to the end of the data. Otherwise, there is any problem with data, the error message will appear. Just correct the invalid data and re-upload the file.

5. Company Account

5.1. General settings

Company-Account-General-Settings.
Company Account general settings

Set Enable Company Account to Yes. In Email Config, choose the sender and templates.

*Note: In "Send Active Email Copy to" and " Send Deactive Email Copy to", input multiple emails separated by commas.

5.2. A customer registers for an account in the storefront.

customer-sign-up-for-Magento-2-company-account
Customers register for an account and wait for the admin to switch it into a company account.

To start with, a customer will sign up for a new account via the default registration form.

Then, he/she needs to contact the store admin to switch the created account to the company account in the backend.

5.3. Approve/Reject company accounts in the backend

Magento-2-customers-grid
Manage all registered accounts in the Customers grid

All registered accounts, including company accounts, are reported in the Customers grid. Upon contact with the customer, the admin then switches a normal account to the company account in 2 ways:

on the Customer Edit page

Under Account Information, there is a new field "Is Company Account".

  • By setting this field to Yes, a company account is now available.
  • Setting it to No means the account is just a normal account.
Mass action is allowed.

Otherwise, the store admin can change multiple accounts to company accounts or remove them from company accounts with the mass action.

5.4. Create users, roles and permissions in the storefront

company-account-welcome-email
Company Account Welcome email

When the store admin switches an account to the company account, a notification email is sent accordingly. Then, the company admin can login to his/her account.

Company Account dashboard

From now on, you must get familiar with three new roles:

  • The store admin: It is the person who will review, approve, or disapprove the company account registration
  • Company admin: One who registers the company account in the first place and who is assigned the role "Admin."
  • Sub-users: Sub-users are created by company admin or store admin under Account management. They have limited roles and permissions.
5.4.1. Create and manage new roles
create-new-roles
Manage roles and permissions

Go to Manage Role under Account Dashboard, the company admin can add new role for users.

Please note that the Admin role is available in advance. Those assigned the Admin role will have permissions as the company admin.

create-magento-2-company-account-roles
Assign permissions to the roles

Choose to add New Role and assign built-in permissions to the role.

Remember to Save the settings.

5.4.2. Create and manage new sub-users
create-new-users
Manage users of company account

Now, go to Manage Sub-users to create new sub-users.

create-magento-2-company-account-sub-users
Create a new sub-user and assign a role

Choose to add New Sub-user and assign a built-in role to the sub-user.

An email will be sent to the sub-user.

Sub-user Welcome email

5.5. Create a company account, roles and permissions, and sub-users in the backend

The admin can also create a company account, sub-users and assign roles/permissions to the users.

5.5.1. Create a new company account

5.5.2. Create and manage roles

5.5.3. Create and manage sub-users

6. Request for Quote

6.1. Global config

Enable Request4Quote Set Enable Request4Quote to Yes to enable the quote request function. Request for Quote Global Config

  • In Enable “Add to Quote” for All Products, please choose among:

+ Yes: Display “Add to Quote” for all products + No: Disable “Add to Quote” for all products + Customer Group: Choose groups you want to enable the quote request function. Notes:

  1. Magento 2 Request for Quote extension supports all product types
  2. Once enabled, “Add to Quote” button will be shown on the Product page; Category page; Search page; Wishlist page; Compare page; and CMS widget.
  3. You can go to Catalog ⇒ Categories and choose a specific category to enable or disable the “Add to Quote” button.

Enable Add to Quote button per category 4. Also, go to Catalog ⇒ Products and choose a specific product to enable or disable the “Add to Quote” button. Enable Add to Quote button per product The quote request settings will be applied according to Global Config to Category, and to Product Config. Minimum Quote Amount for Customer Group

  • Set Apply Default Qty Conditions for Quoted Products to No. Customers can add any number of products to the quote cart without concerning the minimum, maximum, or increment quantity set in advance.
  • In Minimum Quote Amount per Customer Group, you can define the minimum quote amount allowed in the quote cart.

*Notes: When the quote total is lower than the requirement, the Message will be shown and the Submit Quote Request will be hidden. Minimum Quote Amount Alert in Frontend We also equip Magento 2 Request for Quote extension with many thoughtful configurations to help you manage the quote better. Request for Quote Global Config_continued

Comment for Quote Iten

  • In Required Shipping Address, set this field to Yes to require customers to enter the shipping address when submitting a new quote request. That way, both you and your customers can choose a suitable shipping method. Otherwise, set it to No.
  • In Disable Resubmit Action,

+ Set this field to No if you allow customers to resubmit the expired and rejected. + Set this field to Yes if you only allow customers to resubmit the updated quotes

  • In Icon Mini Quote, upload an image.

Mini quote cart In Auto Logging for Customer, set this field to Yes so that customers can login automatically and go to the quote detail page when clicking the quote link in transactional emails. Otherwise, set it to No.

6.2. Email config

Expand the Request4Quote Email Config tab: Request for Quote Email Config You can choose our built-in email templates or create a new one by going to Marketing ⇒ Communications ⇒ Email Templates. To check the email, enter your email in Send Quote Email Copy to.

6.3. Customize the Quote Button

You can tailor the text and custom style of quote request button to fit your site the most. Custom Style for Quote Button On completing all settings, remember to Save Config and go to Cache Management.

6.4. Submit & manage Quotes in storefront

6.4.1 Submit a quote request

Based on your configuration, the “Add to Quote” button is shown for products, categories, and for customer groups. Customers, then, can add multiple products to the quote cart from Product page; Category page; Search page; Wishlist page; Compare page; and CMS widget. Add to Quote button in catalog page All quoted products will be listed on the quote cart page for further updates. Click on the mini quote cart icon to go to the Quote Cart. Here, customers can add notes per quote item and a comment for the whole quote request. Customers must login before submitting the quote request. Login to request a quote Fill in the required fields and submit the quote request. add_notes_and_comment_to_the_quote_request

6.4.2 Manage the quotes in My Quotes

All submitted quote requests will be updated in My Quotes under My Account. My quotes If you Enable Resubmit Action, customers can resubmit the rejected/expired/updated quotes so that they can streamline the price quotation process without having to submit a new quote. This saves you from hundreds of spam quote requests a day! Resubmit quote rather than create a new quote For updated quotes, customers can convert them to order in a click! Move accepted quote to cart in one click

6.5 Manage Quote Requests in the backend

In the Admin Panel, please go to Sales ⇒ BSS Commerce ⇒ Manage Quote Requests

Quote Status Explanations
Pending After the customer submits a quote request for the first time
Updated After the admin clicks on "Send to Customer" in the quote edit page. The admin can customize the quote in advance.
Rejected After the admin rejects the quote request
Resubmitted After the customer resubmit a rejected/updated/expired quote
Ordered After the customer moves the quote to cart
Closed After the customer cancels the quote request

You can accept, reject or customize the quote request as wished by going to the Quote Edit Page. Manage the quote request

  • Click on Rejected to reject the quote request. You can no longer edit the quote.

Rejected quote In My Quotes, the quote status is changed to Rejected. Whether customers can resubmit the quote or not is based on your configurations.

  • Or, you can customize the quote (price, quantity, expiry date, comment, additional products; shipping method) and Send to Customer.

update-the-quote-request In My Quotes, the quote status is changed to Updated. Customers can either move quote to cart or resubmit the quote. Notification emails are sent whenever the quote status is updated.

7. Custom Pricing

Please go to Store ⇒ Configuration ⇒ BSSCommerce ⇒ Custom Pricing.
general-config-magento-2-custom-pricing

In Enable: choose Yes to enable Custom Pricing functions. In Apply Normal Special Price: Choose how to display prices for products assigned both Special Price and Custom Price. - Choose Yes to enable this configuration:

  • If Special Price < Custom Price: the system will show Special Price in the frontend.
  • If Special Price > Custom Price: the system will show Custom Price in the frontend.

- Choose No to disable this, the system will auto show Custom Price in the frontend. In Apply Normal Tier Price: Choose how to display prices for products assigned both Tier Price and Custom Price. - Choose Yes to enable this configuration:

  • If Tier Price < Custom Price: the system will show Tier Price in the frontend.
  • If Tier Price > Custom Price: the system will show Custom Price in the frontend.

- Choose No to disable this, the system will auto show Custom Price in the frontend.

Go to Catalog ⇒ Price Rules Add New Price Rule by clicking the New Price Rule button at the top right corner.

new-price-rule-magento-2-custom-pricing

In the General Information section:

general-information-magento-2-custom-pricing

Switch Active to Yes to use this rule on the frontend. Choose No to disable this rule. Rule Name: Type the name you want to set for the rule. Website: Choose the Scope of this rule. Description: Write a short description of this rule for better management. Select Product Conditions and Customer Conditions applied for this rule. * Please note that if you leave all blank, the price rule will be applied for all products and all customers on the website. If you want to use this rule for non-logged-in customers, please switch Is Applied For Not Logged In Customer to Yes. Click Save and Continue Edit. (This step is crucial, please don't forget it!)

In Product Price Tab

product-price-magento-2-custom-pricing

There are 2 ways to set Custom Price for Products: 1. Set price for each product individually - You should use this when you have more custom prices for 1 product: Click Select (in Action column) and Edit.

product-price-individual-magento-2-custom-pricing

2. Set price for bulk products - You should use this when you want to apply only 1 absolute price or 1 discount rule for all products: Tick all products or specific items you want to set custom price Click Action/Update Price.

product-price-bulk-magento-2-custom-pricing

In Edit Custom Price Tab

edit-custom-price

There are 5 options to set custom prices for customers based on your sales campaigns.

  • Absolute Price: Set up a single price for all products. For example, you enter $20 for t-shirts, shirts, and shorts, all 3 items are priced at $20, regardless of the initial price of each product.
  • Increase Fixed: Custom Price will equal to the original price plus the price entered in the box.
  • Decrease Fixed: The Custom Price will equal to the original price minus the price in the box.
  • Increase Percentage: Custom Price will equal to the original price plus % increase filled in the box.
  • Decrease Percentage: Custom Price will equal to the original price minus % increase filled in the box.

In Applied Customer tab:

applied-customer1-magento-2-custom-pricing

You can see all customers who are able to purchase with the custom prices in this price rule (based on Customer Conditions selected in the General Information tab). Here, you have options to select which customers would be excluded from this price rule by using Edit inline.

applied-customer-magento-2-custom-pricing

* Note: If Applied Rule Status is Yes, that customer is able to see the custom price. Click Save button to save the price rule. Finally, go to the frontend and check the result.

non-logged-in-magento-2-custom-pricing
general-custom-price

8. Wholesale Fast Order

8.1. Fast Order CMS Page

We have already built a Fast Order CMS Page for you. To check, please go to Content ⇒ Pages ⇒ Fast Order Create fast order form

  • Expand the Search Engine Optimization section to fill in the meta-information.

In URL Key, there is an auto-generated key. Copy the key to use in the fast order form configuration. URL key of Fast Order page

  • Remember to Save Page if you make any changes.

8.2. Backend configsGeneral config In Enabled: choose Yes to enable the module or No to disable it.

In Fast Order Form Template, choose either Search box in row or Search box out row.

In Number of Lines: set the number of lines of Fast Order auto shown on the CMS page.

In Autocomplete Minimum Characters: set the minimum characters typed in the search box so that the result can appear.

In Max Results to Show: set the number of results displayed in the autocomplete box.

In Main Color, pick the color of header and buttons that fits the design of the whole website.

In Shortcut URL Key, enter the URL key of the Fast Order CMS Page. This field is filled in advance, so skip if you do not change anything in the CMS Page.

In Position of Fast Order Shortcut, choose where to display the shortcut link.

  • Near mini cart
  • In top menu
  • In footer

In Enable for customer groups: choose groups to enable Wholesale Fast Order function. Automative Pre-populated products Our extension supports a smart algorithm to pre-load multiple products based on customers’ order history whenever they access the fast order form.

In Enabled, choose Yes to activate this smart feature.

In Action, choose either Automation or Manual.

  • If you choose Automation, the pre-populated products are auto-loaded by two criteria:

+ 5 out of the Bestseller list according to default report, or

+ Most frequently ordered products from the customer's account.

+ Enter Max results to show. 5 is recommended.

+ Remember to Reindex data so that the automotive pre-populated products can be shown.

  • If you choose Manual, you can add a list of products at will

Prepopulated products Click the left icon and select products IDs, or enter multiple IDs separated by commas without spaces. In the end, save and flush the Cache.

9. Shipping & Payment Methods per Customer Group

Please go to STORES ⇒ Methods for Customer Group by BssCommerce ⇒ Payment / Shipping.

Shipping and Payment Method per Magento 2 Customer Group

IN PAYMENT

In Payment Methods, choose one or multiple customer groups in each of the enabled payment methods available.

Then, click Submit button to save all figuration.

IN SHIPPING

In Shipping Methods, select one or multiple customer groups in each of enabled shipping methods available.

Shipping method per Magento 2 customer group

Then, click the Submit button to save all figuration.

Customer group

Was this article helpful to you? Yes No

How can we help?