Introduction

The B2B Suite is a full set B2B/Wholesale functionalities that allow you to use transform your Magento web store into a B2B webstore. The Magento B2B Suite contains the following features.


  1. Advanced account access and customer approval
  2. Hide prices for non logged in users
  3. Use of Quotes for specific customer groups
  4. Customer specific pricing
  5. Customer specific catalogs
  6. Quick order list
  7. B2B Payment methods like credit limit and pay on account
  8. Fast B2B Checkout




Compatibility

 This extension is compatible with following Magento versions:

  • Magento Community 1.7.x – 1.9.2.4




Installation

If you have compilation enabled, please disable it before installing this extension. You can check compilation status in System → Tools → Compilation under 'Compiler status'.

1. Copy the folders (and its content): "app", "js" and "skin" to your root Magento directory.

2. Clear the Magento cache.

3. Log out and log in again in your Magento admin.

 


Configuration

System -> Configuration -> Ecomwise ->B2B Suite

The configuration for the B2B Suite extension consists of ten separate sections.

1. Info & Support: An overview of the general information such as version number, compatibility, documentation and support.



2. License Management: Add your license key to this section. Your License key can be found in the my account section when you login to www.b2b-extensions.com.



 

3. General:

Enable B2B Suite: Yes/No.



4. Extensions: In this section there is an opportunity for enabling and disabling specific modules. If a specific module is disabled, all of the module defined configuration settings are hidden in the admin sections, and also the module is disabled on the Magento front-end.


5. Account Access:


Access and logging on the site is achieved with the following configuration options:


Admin configuration settings

- Via Login: If this option is chosen the access to the website will be possible only with the login form.

- Via Login and Register: If this option is chosen the access to the website will be possible with the the login and also through the register form.



Front end 

Login page  - Via login option





Login page  - Via Login and Register option




6. Customer registration:

Customer Registration on the site is achieved with the customer approval functionality. When a new customer is registered on the site his new account need to be approved by the administrator before the customer could log in to the site.

After the administrator approves the customer's account, the customer will be notified with a notification email for the approval of his account so he can login to the site. This functionality is achieved with the following configuration options:


Admin configuration settings

- Approval is Needed : When this option is set to "Yes" new registered customers will first need to be approved from the Magento admin, before they can login. on the front-end of the web store.

- Alert Administrator on Customer Registration : When this option is set to "Yes" the administrator will receive an email each time a new customer registers on the web-store.
- Administrator Email Address: Email address of the administrator.                                 
- Administrator Notification Email Template : Email template that is used for the administrator notification email. 
- Customer Approval Email Template : Email template that is used to send to the customer when the customer is approved.
- Customer Rejection Email Template: Email template that is used to send to the customer when the customer is rejected.
 



Administrator can choose to approve or reject customers accounts in the Customer admin grid.


If the customer account is approved, then an approval email to the customer can be send as well notifying that his account is approved and ready to use.


If the customer account is rejected an email can be send to the customer notifying that his account is rejected.




Front end 


Approving customer account

After the new customer has registered on the site, a new message is shown, reporting the customer that his account needs to be first approved, before he could login to the site.




In the cases in where the default Magento "Customer Confirmation Email" setting is enabled, the module behavior is as the following flow:




1. Customer registers on the website.

2. A registration message is shown, that the customer need to confirm his account.



3. Customer confirms his or her account.

4. An Approval message is shown on the Login Page, informing customer that his account need to be approved by the administrator.



5. Administrator approves/rejects customer's account.

6. Customer if approved can login to the site.


In the case in which the default Magento functionality "Require Emails Confirmation" is disabled, then the flow is reduced by one step.


1. Customers makes a registration on the website.

2. An Approval message is shown on the Login Page, informing customer that his account need to be approved from the administrator.

3. Administrator approves/rejects customer's account.

4. Customer can login to the site with his approved account.



Transactional Emails:


Email sent when the customer's account is approved.




Email sent when the customer's account is rejected.


7. Catalog:

Enable Hide Price on customer groups –  If this option is set to "No" then prices will be hidden only for guests. Select customer groups who can't see the product prices - Which logged in customers can not see the prices.
- Price price message for non allowed customer group – Message that is shown for customer that belong to not allowed customer group (those logged in customer will see hidden prices, and the message set in this field).

 - Price message: Standard message which is shown for all the guest customers.

The following settings, when enabled, are taken in concern in cases if the condition for hiding prices is completed.
- Hide add to cart button – Hides/Shows the add to cart button from product, category search and advanced search pages.
- Hide cart – Hides/Shows cart sidebar and link to cart from top links.
- Hide checkout – Hides/Shows checkout from top links.
- Hide Wishlist - Hides/Shows wishlist from top links and sidebar for selected customer groups.

- List Mode: Opportunity to choose default category view for the selected customer groups. Different options implemented.

Customer Groups: The Order list view can be set for certain customer groups. For example if you would like to show this view for certain wholesale groups. 

- Products per Page on Order List Allowed Values: Allowed values for number of products that can be displayed on the Order List view.

- Products per Page on Order List Default Value: Default value for number of products that can be displayed on the Order List view.

- Allow All Products per Page:  This setting will add "All" option, for listing of all products on the Order List view.

- Enable on Specific Categories: Yes/No

The order list view can be enabled only on a particular category or multiple categories.

If set to “No” the order list view will be set to all the categories. If set to “Yes” the order list view will be only shown on selected categories.

Enable on Categories: Select the categories where the Order list view should be active.

- Enable on Search Page: Select if the Order List should be also enabled on the Catalog Search Page.



Front end 
Hide prices on the web store

The prices on the web store can be hidden by setting the proper configuration settings, mentioned from above explanation Catalog section.
For all of the guest customers the guest customer message is shown instead of the showing the prices. This message can be adjusted and modified from the configuration settings.

Hiding prices for the Home page

Hiding prices for the Category page






Hiding prices for the Product page





Hiding prices for the Cart page



Hiding prices for specific customer groups

Prices can be also hidden for specific customer groups that can be selected under the configuration settings. In these cases, the message that is shown to the customers is the one set under the "Price message for non allowed customer group", as shown on the image below.



NOTE: Good to be mentioned, is that the proceeding to Checkout Page is not possible if "Hide Checkout" setting from the Catalog section is enabled, in addition because presence of two contrary functionalities.

Adding specific Order List catalog view

Adding multiple products from the category page to the cart is achieved with the Order List functionality. With the Order List catalog view the customer has the flexibility to enable this view on certain categories and for certain customer groups to provide a unique wholesale experience. Order List view is compatible with following product types:

  • Simple products
  • Simple product with custom options
  • Configurable products
  • Configurable products with custom options
  • Bundle products
  • Grouped products
  • Downloadable products
  • Virtual products
NOTE: For the simple and configurable products the following options are allowed: Drop-down, Radio Buttons, Check-box and Multiple Select. 



Category page - Order List view



Order List view can be enabled also on the Catalog search pages. This could be done by enabling the "Enable on Search Page" setting present in the Catalog - Order List settings.


The Order List itself has many options which can be configured and set on the admin side. We can mention some of them:
  1. Setting default number of products per page on Order List view.
  2. Showing all products per page on Order List view.
  3. Showing  Order List view on specific categories.
  4. Showing  Order List view on search page.


Setting Category Permission Access
The restriction to certain categories for  the customers is achieved by the category permissions implemented feature. The restriction to a certain category can be achieved by navigating into:
Catalog->Manage Categories->Choosing a certain category->Category Permissions tab->selecting which customer groups can access to the selected category.


If a customer is belonging to a not allowed customer group the Ecomwise not allowed page is displayed on the front, as shown on the image below.

8. Pricing and Quotation

- Apply Highest Discount: The highest discount will work only when "Apply the rule to individual customers" is set to yes in the Catalog rule. If we have more rules with "Apply the rule to individual customers" set to “No” the price rule calculation will be calculated as Magento default.

Related to the applying the lowest discount, if a customer price rule is set (assuming a 5% discount) and then we have a rule based on customer group,which is set (assuming 20%), the product price should be discounted for 20%. Only 20% discount should be applied since 20% is the highest discount, if this configuration setting is enabled.

- Enable Quotation on specific customer groups: This option enables extension for particular customer group.

- Title Quote Form: Title of the quote form on the shopping cart page. 

- Email Receivers Quote Form: The Quote request will be send to the specified email addresses.

Email Sender Quote Form: Select which email will be used as the sender of the quote form.                             
 




Setting Customer Price discounts
With the B2B Suite product the Customer Price discounts is achieved by ability for setting discounts per individual customer or choosing to set a discount per customer group. Also there is a possibility for applying highest discount in the calculation.

The flow is explained in the below process:

The catalog price rules can set and be configured by reaching the following Magento admin menu path: Promotions/Catalog Price Rules



New catalog rules can be set by clicking on the "Add New Rule" button, and the already configured can be also adjusted. The catalog price rules can be set to be applied to:

- Customer Groups

- Individual Customers


On catalog rule edit page, under Rule Information a new select ‘Apply the rule to individual customers’ is added. If this setting is set to “Enabled”, the rule which will be created is applied to the individual customers that are selected under the ‘Individual Customers’ tab. Since multiple rules can be created and applied for one customer affecting same product, extension provides possibility to apply only individual price rule with highest discount. This functionality can be enabled from backend and the setting is ‘Apply Highest Discount’.



On catalog rule edit page, also a new extra tab ‘Individual Customers’ is added. With the ‘Reset filter’ button you will be able to see a grid with all individual customers. You can select one or more customers for who’s the rule discount will be valid. When individual customers are picked click ‘Save and Apply’ button and the discount will be enabled for specified customers.



*NOTE: If ‘Apply the rule to individual customers’ setting is set to “Enabled” and no individual customer is selected under "Individual Customers' tab, then the rule should not be applied either for specific customer or customer group. As on the following image.



Otherwise, if the ‘Apply the rule to individual customers’ setting is disabled, then the rule is applied to the Customer Group selected under the Multi Select field as the image shown below.




*NOTE: If the Rule has the ‘Apply the rule to individual customers’ setting set to “Disabled” and also a particular Customer Group is selected under ‘Individual Customers’ tab, the rule functionality will only take effect on the Customer group selected.
If we have more rules applied for certain customer group the price rule calculation will be calculated as Magento default.

The B2B Suite product adds an opportunity for making Quotations. With adding the “Quote request” function to your Magento web store, your web store customers can add products to their shopping cart and request a quote instead of checking out. The web store admin can edit and approve the quote. Once the quote is approved, the customer can convert their quote to an order and proceed with the checkout process.

The Quotation process that is handled by the Magento admin side is explained below:
- Quotation can be enabled on specific customer groups, which would mean that the Request Quote Form will be shown on Cart page only for those customer how belong to customer groups for which the Quotation is allowed. This can be configured via the settings mentioned above, in the 8. Pricing and Quotation section.
- New Quotes can be added, already existing ones can be modified, and also there is possibility for removing already present Quotes. The same cases are presented in the following images:

- Overview Cart Quotes in Admin



- Editing existing Quote




NOTE: Good to be mentioned is that after a certain Quote is edited and approved from the admin, the same Quote data(discounted prices etc.) is automatically is updated also on the Quotes View in the My Account, Quotes View page.


- Creating new Quote






Front end 

Quotation process

Cart Page

After placing products in the Cart, on the Cart Page, the "Request a Quote" button is shown in the bottom left section,on click on the same, the Quotation form is shown and the customer can fill the fields below and make a request for a certain Quote.

For all of the guest customer, after filling the Quote Form, they will be redirected to a Login page in where they will be notified that their account must be first approved. After approval by the admin user, those customers can login into their customer accounts and see their requested quote in their My Account section.
After requesting a quote an email is sent to the administrator, that a quote has been requested with the quote id number, and also an email is sent to the customer who is requesting the quote.
Those emails can be set under the configuration setting explained in the 8. Pricing and Quotation configuration settings section.

Customer received emails



Administrator received email




The Quote details can be seen in the My Account page, on the "My Quotes" link. In the My Quotes section there is a possibility for searching specific quotes by date or filter already present quotes by the quote status, as shown on the image below. All of the already done quotes are listed in the quotes Grid and an click on each quote, more details are displayed regarding the requested quote.


Quote details




If a customer is logged in, then the Quotation process is the same as the guest customers but after making the Quotation the Success Quote page is shown, which is notifying the customer that his quote has been successfully as a logged customer and that Quote details can seen in the My Account- Quotes page.

After the Quote is requested the same can be approved in the admin, under Magento menu Sales->Quotes path.
Each Quote can be approved, new items can be added, qty can be modified to the items belonging in the quote, and discounts can be applied to the items who belong in that quote request.

After the Quote has been approved, the customer can see it's approved quote and directly continue by purchasing the quote requested items in the Checkout page by making an order.


In the Checkout Page, if the customer tries to exit the Checkout page a pop up will be shown with the message that the requested quote will be postponed, which will mean removing the requested items from the cart and postpone the Quote.



Setting Customer Price discounts

Category Page

Setting catalog price discount for individual customer - $10 fixed amount


Product Page

Cart Page






9. Payment


Use credit limit for customer: Select 'No' to only use Pay On Account payment method without Credit Limit.

Payment Method for Credit Limit Order: Which payment method will be used for accepting credit limit orders.

Credit Limit Open Orders: Which orders are considered open.

- Credit Limit Exceeded Message: This message is displayed on checkout page, next to the credit limit payment method when the credit limit payment method cannot be used because the customer has exceeded the maximum allowed amount in open orders.

Unset Customer or Global Credit Limit Message: This message is displayed when no credit limit is set for individual customer or no global limit is set for the all customers.

Hide Credit Limit for customers without Credit Limit set: If this setting is enabled (set to ‘Yes’) and the customer does not have a particular credit limit set, the Credit Limit tab present in the My Account left navigation menu will not be shown.

Use credit limit for all customers: Use global credit limit. If it is set to yes it will override the credit limit that is set for the individual customers.

Customer Limit Default Amount: Set the global credit limit amount.


Setting Credit Limit to a Customer:  The credit limit can be set to every customer individually. There is a separate menu item in backend “Credit Limit”, where all already created credit limits can be listed, new credit limits can be added, modified or already present ones can be deleted as we can see on the image shown below. 






Good to be mentioned one of the implemented functionalities that are referred to the Credit Limit itself are the following ones:


a) Credit Limit cannot be deleted if it is used for an open order (assigned to a certain customer).
b) Credit Limit cannot be updated to a value lower than the total amount of the opened orders.



*NOTE: Good to be mentioned is that the setting for using the Credit Limit for customer should be set. After some time period, if this setting "Use credit limit for customer" is disabled, this can result with some unusually behavior related with the display of the Credit Limits.


Pay on account – Payment method configuration:The Credit Limits can be used with the new defined payment method “Pay on Account” and a new payment status “Placed by Credit Limit”. To configure the payment method navigate to System -> Configuration -> Payment Methods -> Pay on Account


- Enabled: Enable/Disable the payment method.

- New order status: Status of the created order.

- Title: Title of the payment method.

- Sort Order: This options adds an ability for setting sorting order for the Pay On Account payment method among the rest payment methods that are going to be used on the store.

- Customer Groups: Set for which customer groups the payment method is available.

- Purchase Order NumberWhen enabled, a text field is added next to Pay On Account method on checkout page. Here the customer can enter number which will be added to the order, order email, invoice, etc.



View customers credit limits info

Admin user can see the credit limit info set for each individual customer.


On customer level, there is also a new tab ‘Credit Limit’ added in where if there is an already set credit limit for a particular customer the credit limit info is shown, and also this credit limit can be modified with the already existing Edit link. If for that particular customer no credit limit is set, this could be done with the “Add Credit Limit” button. The mentioned functionalities are shown on the image below.


There is also the possibility for displaying the credit limit info details, when customer chooses to create an order from the admin. In the Payment Information section, the Pay On Account method will be displayed with the proper Credit Limit info for that specific customer. This is described on the following image



Front end

My Account Page
Customer credit limit info is visible on the My Account, on the Credit Limit link.


Checkout Page

If the customers have enough credit limit they will be able to pay using the payment method “Pay on Account”.





If the Credit Limit amount is exceeded, then on the Checkout Page a message will be shown that the Pay on Account method cannot be used, the Credit Limit amount is exceeded. This message is easily adjustable for the customer in the module settings in the admin configuration of the module.


If no credit limit is set for a certain customer the message from the: 

“Unset customer or global credit limit message” setting is shown. This message can be modified as well.






10. Checkout


- Skip Payment: Option to skip payment method only.
- Skip Shipping: 
Option to skip shipping method only.
- Enable on customer groups: 
If 'No' then shipping and payment steps will be skipped for all customers, logged in and guests.Select customer groups who can skip the shipping and payment steps - Which logged in customers will skip the shipping and payment steps. This configuration will be considered if the previous configuration is set to 'Yes'.
- Shipping method: Option to select which shipping method will be used for the checkout if the ‘Skip Shipping’ setting is set to ‘Yes’. In this case, if we want to use different shipping method than the “Flat Rate” in example “Free Shipping” or “Table Rate” we need to be sure that the same is enabled under System -> Configuration -> Shipping Methods.




Enable Shipping and Payment method
- Enable one of the default Magento shipping methods – Flat Rate
Navigate to System -> Configuration -> Sales -> Shipping Methods to enable the Flat Rate shipping method.



- Enable Payment method – Check/Money Order
Navigate to System -> Configuration ->Sales->Payment Methods to enable the Check/Money Order payment method.




Front end


Checkout Page


Shipping and Payment methods are not present as standard checkout steps, if the settings Skip Payment, Skip Shipping are enabled.







Uninstall

1. Change the “Active” element to “false” in the following files:

app/etc/modules/Ecomwise_B2BSuite.xml 

app/etc/modules/Ecomwise_B2BCheckout.xml

app/etc/modules/Ecomwise_B2BOrderlist.xml

app/etc/modules/Ecomwise_Cartquote.xml

app/etc/modules/Ecomwise_CategoryPermissions.xml

app/etc/modules/Ecomwise_Creditlimit.xml

app/etc/modules/Ecomwise_CustomerApproval.xml

app/etc/modules/Ecomwise_CustomerPriceRules.xml

app/etc/modules/Ecomwise_Forcelogin.xml

app/etc/modules/Ecomwise_Hideprice.xml


2. Flush Magento cache.This will set the extension to inactive. 





Updates


11 May 2016

  • B2B Suite 1.0.0 release.





Support

Please browse to our FAQ page for more details or contact http://support.b2b-extensions.com.