Best practice is to install Customer Portal on a web server that is separate from the SAP Business One server, as shown in the architecture diagrams.

Architecture Overview

A Web Server separate from the B1 server should be used to host the Customer Portal website.
A Web Server separate from the B1 server should be used to host the Customer Portal website.

Installation Instructions - Customer Portal website

  1. Run the Customer Portal installer on the web server.
  2. Step through the installer welcome screen, prerequisites and license agreement as shown below.
    Press Next on the Customer Portal installer to proceed.
    Press Next on the Customer Portal installer to proceed.
    Confirm prerequisites before using the Next button to proceed.
    Confirm prerequisites before using the Next button to proceed.
    Review and confirm agreement to the License by pressing the I Agree button.
    Review and confirm agreement to the License by pressing the I Agree button.
  3. Select the components to be installed, as outlined below:
    • zed B1 Customer Portal will install Customer Portal web files.
    • Configure IIS Website will create and configure a web instance within IIS that points to the installed web files.
    Choose the desired Customer Portal components and use the Next button to proceed.
    Choose the desired Customer Portal components and use the Next button to proceed.
  4. Choose the Install Location for Customer Portal web files. A separate Portal website installation must be completed for each SAP Business One company.

    After pressing Install, wait a few minutes while the web files are created.

    Choose or create a location where Customer Portal components will be installed. Press the Install button to proceed.
    Choose or create a location where Customer Portal components will be installed. Press the Install button to proceed.
  5. Configure Customer Portal to connect to the previously installed B1WebAPI. The Username and Password were set up during installation of B1WebAPI, which should be used here. If there are multiple B1WebAPI profiles, the profile must be referenced in the field marked “Address”. For example, DEMO profile would be configured with the URL: http://servername:4033/DEMO. If no profile is specified in this screen, the first B1WebAPI profile will be used.

    Shown here: B1WebAPI connection information for Customer Portal.
    Shown here: B1WebAPI connection information for Customer Portal.
    Shown here: sample B1WebAPI connection settings, as per B1WebAPI setup.
    Shown here: sample B1WebAPI connection settings, as per B1WebAPI setup.
  6. If the option to Configure IIS Website was selected, the following configuration screen will be displayed. Enter all details as described below. For a typical install, ensure “Name” is unique and leave the remaining settings as default, then press okay.
    • Generate New Website will create a new website within IIS for Customer Portal. Default settings can be used. Name must be unique, so if multiple installations are needed, make sure all have different names, for example: Customer Portal Prod versus Customer Portal Test.
    • Use Existing Site will associate Customer Portal with the selected IIS website.
    • Virtual Directory settings can be configured to use the root existing virtual directory, or to create a virtual directory within the IIS website. The default is to use the existing virtual directory.
    Configure IIS details for the Customer Portal website. Change the Port if more than one Customer Portal website is installed. Press OK to create the website.
    Configure IIS details for the Customer Portal website. Change the Port if more than one Customer Portal website is installed. Press OK to create the website.
  7. Complete the installation by pressing the Finish button, shown below.
    Press the Finish button to complete the Customer Portal website installation.
    Press the Finish button to complete the Customer Portal website installation.
  8. Confirm that the Customer Portal website has been successfully installed by opening the website.

    If an error occurs related to ISO, ensure ISO codes are assigned to the company in SAP Business One (see ISO configuration details below ).

    If the website experiences some other issue during installation, refer to Portal Troubleshooting Tips for resolutions to common setup issues.

    Customer Portal landing page will be displayed if the website has been successfully installed.
    Customer Portal landing page will be displayed if the website has been successfully installed.

Basic Configuration

Directory Security Configuration

The SAP Business One attachments folder is not typically accessible to the B1WebAPI. This folder must be updated manually as described in the section SAP Business One Attachments Directory Security below.

For a typical installation, no action is required to ensure web application folders are write-accessible. You may run into problems with file uploads (such as attachments or web orders) in the following scenarios:

  • If the Application Pool user is changed after installation. In this case, the identified folders need to be updated to use the Application Pool’s actual user.
  • If the website is installed manually by copying and pasting files. In this case, the folders will typically inherit permissions on the parent folder, which usually don’t include the needed Application Pool user.

If either of the above scenarios occur, access permissions may need to be updated manually on the application folders identified below.

Directory Security for Customer Portal

A list of the folders for Customer Portal and each folder’s purpose is found below.

Folder Description
/customerData/ This folder is used to save temporary web-only saved order drafts. Once the order is placed, it is deleted from this sub-folder and added as a full order in SAP Business One.
/logs/ This folder is used for logging and file permissions must be set so that logs may be updated.
/uploads/ This folder is used to upload attachments related to Service Calls.

SAP Business One Attachments Directory Security

The SAP Business One Attachments directory is used by advanced Portal features. Ensure the SAP Business One Attachments directory security is set properly to allow the Service to load attachments into SAP Business One.

Typically, write permissions must be granted for the user “NETWORK SERVICE”. The user can be confirmed by viewing the B1WebAPI Application Pool details in IIS, as shown below.

B1WebAPI Worker Process Identity.
B1WebAPI Worker Process Identity. Select the Application Pool for

Ensure the IIS user has Modify (write) permissions. The screenshot below shows the user NETWORK SERVICE, but this should be confirmed for each installation. Because SAP Business One files are updated by B1WebAPI and not an individual portal, this is the Application Pool to view for any attachments that need to be accessible in B1.

Temp Directory ACL.
Temp Directory ACL.

Currency ISO Code Setup

Currency ISO codes must be assigned in SAP Business One for all currencies. If a currency doesn't have an ISO code assigned to it, then Portal websites will not display currency signs properly ($, £, €, etc.). If the website is not displaying currency symbols, then check the ISO codes for each currency, as described below.

  • In SAP Business One, go to Administration > Setup > Financials > Currencies.
    Administration - Setup - Financials - Currencies
    Administration - Setup - Financials - Currencies
  • For each currency, select a currency ISO code from the ISO Currency Code drop-down.
    Set the ISO code (1) and International Code (2) for each currency.
    Set the ISO code (1) and International Code (2) for each currency.
  • For each currency, ensure the International Code contains a valid ISO Code, such as USD or CAD and not a symbol such as $.

Web Config using the Manager Add-On for SAP Business One

The settings below can be found in SAP Business One under the menu option: zedSuite Manager > Administration > Customer Portal Config. Note that this is minimal configuration, and additional options may be applicable to your installation.

For a field-by-field description of other optional Customer Portal Web Config settings, see Technical Reference: Customer Portal Web Config Reference

  1. Set Customer Portal Web Address on the General Tab. This is the minimal setting that will allow further options to be configured later.
    Set the Customer Portal Web Address.
    Set the Customer Portal Web Address.

Enable Employee Impersonation for Customer Portal

Employee Impersonation is enabled with an optional Named User license. If this feature is licensed, configured Employees may log in using the Employee Login page for Customer Portal. These users see their Sales Person’s assigned customers and may access the portal on a customer’s behalf.

To enable Employee Impersonation:

  1. In the web.config file for Customer Portal, enable the EnableEmployeeLogin flag by setting this to true. If this flag does not exist, it can be added to the section <appSettings file="user.config">. For example:

    <appSettings file="user.config">
    <!-- ... other settings ... -->
    <add key="EnableEmployeeLogin" value="true" />
    <!-- ... other settings ... -->
    </appSettings>
    

    This feature may be disabled by setting the above option to “false”.

Enable web assets management for Customer Portal

Web assets can be managed online with an employee login for Customer Portal. This allows an employee user to access an assigned web assets folder and manage configured files.

Two configuration options must be set to allow for web asset management:

  1. This employee user must have the Customer Portal role ManageWebAssets.

  2. In the web.config file for Customer Portal, set folder information as follows. Add it to the <configuration> section just below <b1ClientEnabler>, as demonstrated in the example below.

    • cpImg: If set, this allows for image files to be managed.
    • css: If set, this allows for css files to be managed.

    Each folder may be configured with the following properties:

    • name: When selecting different folders, this is displayed in a drop-down to the logged in employee user.
    • fileDir: The web file path. For web folders within the site (the typical case), prefix folder paths with ~ as shown in the example below.
    • allowsExtensions: This filters the extensions of files that are manageable.
    <b1ClientEnabler enablerHost="http://b1webapi:4033/default" enablerDomain="" enablerUserName="user" enablerPassword="password" changePasswordPageURI="~/ChangePassword.aspx" loginPageURI="~/login/Login.aspx" defaultPageURI="" />
      <assetDirectoryConfig>
       <add code="cpImg" name="Customer Portal Images" fileDir="~/assets/img/" allowedExtensions="jpeg,jpg,gif,png" />
       <add code="css" name="CSS Files" fileDir="~/assets/css/" allowedExtensions="css" />
    </assetDirectoryConfig>
    

What’s Next?

Configure Logging for Customer Portal, or continue by installing other portal products.

If implementing B2B Marketplace for Customer Portal, proceed to Installing B2B Marketplace.

Visit the Customer Portal Administrator’s Guide for a walkthrough of advanced configuration and typical admin tasks.