Document Properties
Kbid2401M8
Last Modified15-Sep-2020
Added to KB11-Apr-2013
Public AccessEveryone
StatusOnline
Doc TypeGuidelines, Concepts & Cookbooks
Product
  • ICM 7.6
  • ICM 7.7
  • ICM 7.8
  • ICM 7.9
  • ICM 7.10

Concept - B2B - Company Profile

1 Introduction

This concept is created to give an overview of the company profile information available for business customers. According to the new B2B requirements customers were split into two types:

  • Individual (private) customers and
  • Business (SMB - small and medium business) customers.

An individual customer is a person who orders articles/products for his/her needs and does not belong to any organization. A business customer orders products for the needs of the company, i.e., this customer type represents the company as buying organization. Every business customer has at least one user which should operate in the web shop. As part of the business customer this user has to be able to edit the company's profile information. This operation can be performed on business customers only. Individual customers (B2C customers) do not have the possibility to view or edit any company profile information because they do not refer to a company.

It may occur that two customers modify their company profile information at the same time. If one customer tries to save this information after another one has saved it, a warning message should be visible for the second customer saying that another customer has just changed the company profile data and page reload is needed first.

2 Back Office Overview

Company profile information is available for editing once the business customer has been created with the required data, Customer ID and Company Name. The back office page which shows this information should look like this:

On this page, back office administrators should modify all editable information for their customer: Customer ID, Company Name, additional company name (Company Name 2), Taxation ID, Industry, Description and one of the most important settings: the Active setting. Depending on this setting all customers will be enabled/disabled to enter the business web shop. This means that non-active customers will not be able to log into the web shop.

3 Storefront Overview

Customers can view their company profile information on the Profile Settings page of their Account Settings. To do that, they must be logged in to the business web shop with their credentials.

profile-settings

Customers can also edit their company profile information clicking the edit icon within the Company Profile section of the Profile Settings overview page. The following screenshot shows the storefront page dedicated to editing the company profile:

4 Profile Information Display - Differences Between Individual and Business Customers

Since company profile data have to be plugged into some common artifacts for individual and business customers, several extension points were used in pipelines and ISML templates to display business customer-specific data, e.g. company profile data. This is especially true for the storefront application where user profiles have to display common customer information (e-mail setting, password setting, user profile settings - first name, last name, etc.) mixed with business customer-specific information (company profile data) depending on the customer type.

For example the Your Profile section has to show information for customer's department if it is a business customer, the Company Profile section has to be visible and editable for business customers only.
The following diagram shows the schema of the Profile Settings storefront page. There are two different colors that mark 1) common information for both individual and business customer, and 2) specific information for the business customer information. Green color shows places on the page where business customer-specific data is displayed. This specific data is retrieved and shown using the IS7 extension point feature. In this way we can use existing artifacts and extend them for our purposes.

ProfileSettingsPage

5 Concurrent Modification of Company Profile Data

As already mentioned in the introduction, two customers can edit their company information at the same time. The first one, who saved the changes, is lucky. His/Her changes go to the database. The second customer will be prompted to reload the page when he/she tries to save his/her own changes. The picture below illustrates the warning message which will be displayed to the second customer.

How Does Checking for Modifications Work?

The operation which checks for company profile modifications on save is form validation. When a customer opens the company profile edit page, the current values are stored as hidden fields in the web form that is shown. These hidden fields are submitted together with the new values that the customer entered in the form. At the server side, the values in the hidden fields are compared with the values stored in the database. If these values differ, it means that another customer already modified the profile and loading of the new database values is needed. If compared values are equal (means, no changes by another), then changes made by the customer are saved to the database. During the time from initiating the request for saving the data to actual saving of the new data, resource locking on CompanyProfile instance is performed to assure consistency in update operations.

6 Company Profile Related Actions

6.1 Maintain Company Profile Data in the Back Office

6.1.1 Create

  1. Log in to the back office with your credentials (you need SLD_MANAGE_CONSUMERS access privilege to be able to manage customers).
  2. Open your channel.
  3. Go to Customers | Customers and click on New.
  4. Select Business Customer.
  5. Fill in all required data (Customer ID and Company Name) and click Apply.
    • Your business customer is now created.

6.1.2 Update

  1. Log in to the back office with your credentials (you need SLD_MANAGE_CONSUMERS access privilege to be able to manage customers).
  2. Open your channel.
  3. Go to Customers | Customers and click on your desired customer.
  4. Fill in the data you want to change and click Apply.
    • Your business customer is now updated.

6.1.3 Delete

  1. Log in to the back office with your credentials (you need SLD_MANAGE_CONSUMERS access privilege to be able to manage customers).
  2. Open your channel.
  3. Go to Customers | Customers and click on your desired customer.
  4. Click on Delete and confirm with OK.
    • The deletion should be successful and the deleted customer must not be visible on the customer list page.

Intershop Commerce Management features a simple and an advanced search mask for users and customers.

  1. Log in to Intershop Commerce Management with your credentials.
  2. Open your channel.
  3. Go to Customers | Customers and enter your search criteria in the search field.
  4. Press Find.

Regarding business customers in simple search you can type in "company_name" or "company_name2" to search for. At this moment advanced customer search is working with "company_name" only.

Note

It is not possible to leave "Company Name" empty on creation or modification; this is required information and it is not possible to create or update the customer information without providing this property.

6.2 Import and Export of Customers Containing Company Information

Customers containing company information means business customers. To be able to import/export company profile information the user should do this for business customers only. An individual customer does not contain any company-related information.

6.2.1 Export

  1. Log in to the back office with your credentials (you need SLD_IMPEX_CONSUMERS and SLD_VIEW_IMPEX_CONSUMERS access privileges to be able to manage impex processes for customers).
  2. Open your channel.
  3. Go to Customers | Import & Export.
  4. Click Export under section Customers (XML).
  5. Now select the customers you want to export and click Next >>.
  6. Two options are shown: Export Search Result and Export Selected Customers. If you do not select any customer to export, this means that search result will be exported and this is the option what is preselected on the page. If customer selection was performed, then the preselected option is to export selected items (customers).
  7. Enter a file name in the input field (e.g. customers.xml) and click on Export.
  8. Wait for the process to finish and download the generated export file.

6.2.2 Import

First of all, you need a valid import file already prepared or you can first export some customers and use this exported file as source for the import process.

  1. Log in to the back office with your credentials (you need SLD_IMPEX_CONSUMERS and SLD_VIEW_IMPEX_CONSUMERS access privileges to be able to manage impex processes for customers).
  2. Open your channel.
  3. Go to Customers | Import & Export and click Upload under section Import and Export Files.
  4. Select your file and upload it.
  5. Go to Customers | Import & Export and click Import under section Customers (XML).
  6. Select the uploaded file and click Next >>.
  7. Wait for the import file validation to finish and click Next >>.
  8. Select your desired import mode and click Import.
  9. Wait for the import process to finish and check for errors.
  10. Check the result in the business customers list.

Note

It is not possible to import company profile data (B2B customer) without providing Company Name in the source file. Import file validation should be successful but the import process will fail and nothing will be updated.

6.3 View and Change Company Profile Data in the Storefront

Only business customers can view and edit company profile information in the storefront.

6.3.1 View

  1. Log in to the business storefront with your credentials.
  2. Go to the My Account settings page (My Account link).
  3. Click on Profile Settings in the left-side navigation.
  4. Company Profile information is shown right after Email and Password settings.

6.3.2 Update

  1. Log in to the business storefront with your credentials.
  2. Go to the My Account settings page (My Account link).
  3. Click on Profile Settings in the left-side navigation.
  4. Company Profile information is shown right after Email and Password settings.
  5. Click Edit on the right side of the Company Profile section.
  6. Here you can change data you want: CompanyName, CompanyName2, Industry and TaxationID.
  7. Click Save Changes.

6.3.3 Concurrent Update

A warning message will be shown saying that another user has modified the company information and page reload has to be performed to view the changes. There is no option to save desired values if page reload is necessary.
Steps to test how this shared information is handled:

  1. Log in to the business storefront with your credentials.
  2. Go to the My Account settings page ("My Account" link).
  3. Click on the Profile Settings link in the left-side navigation.
  4. Company Profile information is shown right after Email and Password settings.
  5. Click Edit on the right side of Company Profile section without saving anything.
  6. Open another browser and log in to the business storefront with other user.
  7. Go to the My Account settings page (My Account link).
  8. Click Profile Settings in the left-side navigation.
  9. Company Profile information is shown right after Email and Password settings.
  10. Click Edit on the right side of Company Profile section.
  11. Change e.g. Company Name 2 and click Save Changes.
    • The information is saved.
  12. Go back to the previous user (browser) and click Save Changes (or change something and click Save Changes).
  13. A warning message appears with the following text: "Another user has just modified the company profile. Please reload this page to view the changes."

In this way a user is notified that someone else already modified something.

Note

It is not possible to leave Company Name empty on modification; this is required information and it is not possible to update the company data without providing this property.

6.4 Customer Active Setting

All customers and users have a boolean value for their "Active" setting. This setting defines if a customer/user is enabled or disabled (active/inactive). We may have different active values for customers and users, e.g. active customer ("active" = true) - inactive user ("active" = false). Depending on the active value for both customer and user, the system will decide whether to confirm or deny access to the given user.

The following table shows different combinations for the active setting and the login status:

"Active" setting of customer

"Active" setting of user

Storefront

true

true

login possible

true

false

login not possible

false

true

login not possible

false

false

login not possible

Disclaimer

The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.

Customer Support
Knowledge Base
Product Resources
Support Tickets