B2B web portal

Allow customers to independently manage and place their orders and check availability directly from a web portal.

Updated at September 8th, 2025

Allow customers to independently manage and place their orders and check availability directly from a web portal.

Module Description

B2B is a web portal that can be made available externally to the company and allows the customer or agent to place offers or orders.

Through some settings you can indicate for each customer (and agent) which products they can purchase.

Viewing stock levels and prices for each item will help the user create a shopping cart, which, once finalized, will be inserted into Business Central.

Setup

B2B is a web portal that can be made available externally to the company and allows the customer or agent to place offers or orders.

Through some settings you can indicate for each customer (and agent) which products they can purchase.

Viewing stock levels and prices for each item will help the user create a shopping cart, which, once finalized, will be inserted into Business Central.

B2B Setup

The main portal management fields are found on the B2B Setup page, which can be found in the menu. The fields required for BC-to-Portal connections are also found here.

  • General Tab
  • Default language: Specifies the default language code for contacts that do not have a language code. If the B2B contact's language field is set to "" , the language in this field will be used. Leave blank if the default language is Italian.
    It is currently not used because the portal always and only reads that of the B2B contact.
  • Purchase Code: if populated, it is used for sales documents and assigned in the sales order lines
  • Order/Quote Serial Number Code: Default serial number for orders or quotes. Fill in only if you want documents created by B2B to have a different number than the one in customer accounting setup.
  • Item availability from - to: period for calculating item availability.
    • They are used by the system to filter the documents to be included in the calculation starting from today's date.
  • B2B Customer Calendar: This is mandatory and is used by the portal in conjunction with shipping services to calculate shipping dates. Without this information, it will not be possible to generate an order.
  • Password Expiration: Indicates the expiration date of B2B users' passwords. After this expiration date, users will be required to change their passwords.
  • Show Order History Up To : The maximum limit needed to filter the orders to display in B2B. (Order Date = Workdate – Show Order History Up To)
  • Customer Order Repeat Interval : If checked, the customer will not be able to repeat their order number in the Your Reference field for the indicated period.
  • Show most purchased items up to: The period used to filter the most invoiced items displayed to the user in the portal. (Invoice posting date = workdate – Show most purchased items up to)
  • Generic contact email: Generic company email (not customer email). 
  • Minimum order amount: The minimum amount for which a B2B order can be created. If you attempt to generate a document with a lower amount, a message will be displayed when submitting your cart.
  • Item Search Result Counter: Number of items that are viewed in the B2B item search. 
  • Use old price/discount processing: This field is used to enable the old price and discount management. If the flag is active, the tables used for the calculation will be Sales Price (7002) and Sales Discount (7004).
    Always enable the flag if 'Feature update: new selling price experience' is not enabled in the BC 'Feature management ' setup or for all versions prior to BC21. 

Other Tabs

  • Order Confirmation Email Tab: In this section, you'll need to enter the text code that will appear in the subject and body of the email sent to the customer when the B2B document is created in BC. The same label code can be entered in all languages.
  • Shipping Date Calculation Tab:
    • Shipping date calculation: Method for calculating the shipping date proposed to the customer in the portal. Calendar: Bases the calculation on the calendar entered in the 'B2B Customer Calendar' field;
      Business days by postcode, prepares a calculation based on the shipping postcode and the setup entered in the 'Business days by postcode' table searchable from the menu.
    • Max shipping date allowed: Indicates, starting from today's date, the maximum shipping request limit for B2B customers. After this date, orders cannot be placed.
  • Access Logs tab: You can enable logging of all accesses to the portal. To minimize system overhead, you can define a time limit for archiving these logs. Older Workdate logs ( 'Access log cleanup formula') will be deleted from a job queue (set up manually).
  • IIS Tab:
    • B2B Public URL: identifies the portal's public address
    • Image link prefix: The prefix to add to images to make them visible in HTML
    • Root path and image folder: These are for images in the B2B article tree.

Using actions, you can set your B2B site online or offline.

B2B Translation Labels

In this setup, you must indicate, if necessary, the translations of all the labels displayed within the portal, for each language used.

The display will use the language indicated in the logged-in customer profile.

Below is a sheet containing a basic setup.

Images

B2B image upload

B2B Files Upload Method B2B download command
Tree images articles BC B2B Tree Management Action on tree publication page
News homepage images Manual (FileZilla) Process queue/new action
Sales contact images Manual (FileZilla) Process queue/new action
HTML File Terms of Use Manual (FileZilla) Process queue/new action

Homepage and News Images

The images on the B2B homepage must be uploaded by a technician during the initial portal setup. This upload causes these images to be stored in the folder specified in the "Server image folder" field of the B2B setup.

The folder must be on the same server where the portal was installed.

B2B Dimensions

Dimensions should always be created in conjunction with the creation of an item attribute and a tree, all with the same name.

  • Document Type: You can choose whether items in your cart at checkout, linked to this dimension, will generate a quote, a released quote, an order, or a released order.
  • Yellow Traffic Light Qty: Controls the color of the traffic light in the 'Shop' for each item based on the available quantity.
    • If this field is left = 0 then the quantity available for the item will be shown,
    • if the calculated availability is > the quantity entered in this field, the traffic light will be green with the wording Available ,
    • If the calculated availability = 0, the traffic light displayed will be red with the wording Sold Out .
      If the user selects a quantity greater than that currently available, no check is carried out.
  • Select Locations Action: Using the specific action linked to each dimension, you must specify the locations for calculating B2B availability. The one indicated as 'Main Location' will be used to create the document line. For each location, you can specify its translation (the "Translation" field).
  • Action Translations: You can indicate the translation of each dimension using the dedicated function. 


Trees and Knots B2B Article

Item trees identify the flows that lead to item selection in the portal.

Within the article tree, you must define the tree nodes and therefore the articles that are part of that branch.

With the 'Insert Node' function, you can select an item attribute (of type text) to link the node to. A new row will automatically be inserted into the B2B tree table. Each attribute can only be linked to one node.

Each node thus generated must be assigned a B2B dimension using the specific 'Attach B2B dimension' function:

The B2B Dimension Code and B2B Dimension Name fields will be automatically populated on the selected node. Please note that a B2B dimension can only be assigned to one node.

Assigning a node to a contact allows the entire underlying tree to be displayed. Therefore, if the view needs to be locked to a lower level than the tree, it will be necessary to duplicate it. To help you compile similar nodes, you can use the 'Copy branch' and 'Paste branch' functions.

In fact, using the 'Open node' function it is possible to assign underlying levels up to the assignment of the single article.

With the 'Open Child' function, you can create a more or less complex tree structure by adding levels, still using the same 'Insert Node' and 'Attach B2B Dimension' functions. If the level you've created is the last one, instead of creating a new node, you can insert the items belonging to it:

When selecting the item, if it does not yet exist, the system will automatically generate a text-type attribute with Name = the description of the selected item.

In the example below, Pharmaceuticals is the tree, or root node, and Active Ingredients is the node to which the article ACETYLSALICYLIC ACID BP-Ph.Eur. is associated:

At each node, regardless of its level, you can insert an image. If the node doesn't have its own image, the image from the node above it will be used.

Furthermore, using the appropriate functions, it is possible to change the sorting of the nodes and therefore their display on the portal.

Do not delete nodes, whatever their level, but use the 'Locked' checkbox .

B2B Contacts

B2B contacts are dependent on the creation of standard Business Central contacts.

Furthermore, in order to be used within the portal, the contact must necessarily have a customer connected to it.

Then, create a contact for the customer, in addition to the personal data fields, set the fields in the B2B tab:

  • B2B user type: can be a standard user or an agent user; administrative users are not allowed. You must also create a contact. If a user is a standard user, you can also assign them an agent code, which allows them to log in to the portal and place an order on behalf of the customer. An agent can be assigned to multiple customers.
  • Internal Agent: Indicates which agent is authorized to use the B2B portal as a customer.
  • B2B Impersonation: Identify that you can also order on behalf of a customer
  • B2B dimension visible filter: for each contact, specify which roots should be viewed
  • B2B Location: Identifies the default location for creating sales documents for this contact
  • B2B Password: This is the initial password given to the customer.
  • Last B2B step: indicates the last login in B2B
  • Complete tutorial: indicates whether pop-ups should appear within the portal to help the customer navigate
  • Accepted Terms: identifies whether the customer has accepted and when the B2B terms of use, this confirmation must be given in their profile on the portal
  • Ship to – Code: indicate here the default shipping address that must be taken in the B2B for calculating the shipping date

In addition to the B2B fields, enter the language code in the standard field of the contact information.

This cannot be empty (even if the language is Italian) and will drive all views of the portal.

To enable contact, you must use the "Enable B2B Access" function. This will automatically set the "B2B Enabled" flag, which will also send an informational email to the customer with the username and temporary password they need to log in.

You can also set a picture for each contact that will then be visible on the user's profile.

If the DB is OnPrem, it will be necessary to use the 'Image name' field in the B2B contact card by setting the name of the file inside it, which will then be added to the folder on the server indicated in B2B Setup.

As regards a SaaS DB, however, it is necessary to import the image directly into the contact card, in the standard factbox.

The system will automatically upload the image to BlobStorage to make it available to the portal.

Authorized freight forwarders for customer

For the customer linked to the contact, you can specify which shipping companies are authorized for delivery. This is necessary to allow the user to choose the shipping company during checkout.

To set up the forwarders, follow this path on the Related Customer Master Data – B2B – Forwarders:

B2B Freight Forwarding Services

In the 'B2B Freight Forwarder Services' table, you can enter the services available for shipping. These services cannot be defined for individual freight forwarders but will be standard for all.

You should always code a B2B shipping service with an empty 'Service Type ', this will identify the standard service.

  • Min. Weight and Max. Weight: Indicates whether the shipment must fall within certain weight limits to be handled with that service.
  • Min. item lines and Max. item lines: indicates the minimum or maximum number of items that can be contained in the shipment.
  • Accepted time limit: In this case, you can indicate whether that shipping service can be used for orders approved after a certain time.
  • Pre-limit shipping time and post-limit shipping time:
  • Item: This item, typically a non-inventory item, will be used to create an additional cost line on the document generated by the portal. The price retrieved is the unit price from that item's master data.
  • Enabled: if the flag is FALSE the service will not be displayed in the portal
  • User interaction: If the field is blank at checkout, you won't be able to select a preferred shipping provider or shipping date for that particular shipping service. The shipping date will be the one displayed in the service details, while the shipping provider will be the default one set in the "B2B Shipping Providers" table.
    If the field is filled in, when selecting the service it will also be possible to select the shipping agent you wish to use (if coded in the customer 's B2B Shipping Agents table) and, if necessary, change the shipping date by choosing from those available based on the calendar.
  • Enable custom shipping date: Allows you to select a custom shipping date from the calendar. If the "User Interaction" field is blank, this flag will have no impact on the display; "User Interaction" always prevails.
  • Location code: the shipping services that the contact can select are those that have the same location as the one in the B2B contact master data.

Enabled services will be visible like this in the cart checkout:

Article Master Data

Within the item master data, you can manage related information for order and image management.

Translations

Translations of item descriptions can be entered at the item master level, in the standard Business Central table.

The display will be controlled by the customer's language; if this is empty, the item description will be used.

On the portal, in the article view of the tree, the description of the created attribute will be shown identical to the article, but when the tab is opened, the description in the language taken from the article's 'Translations' table will be displayed.

B2B Attachments

It is possible to store attachments on the item records that the user can download from the portal.

To add an attachment, you need to use the standard 'Links' factbox and add the link to the file you want to display on the portal.

To enable viewing of these links from the portal, you must insert the link in the 'B2B Attachments' table under the Actions – B2B – B2B Attachments path:

Here, using the Link ID field you can select which link to insert:

To manage multiple links, insert multiple rows, each with its own Link ID, into the 'B2B Attachments' table.

The 'Authentication Type' field can be used to define how the system will perform the download from the portal:

  • Permission Type = None: In case the file is already on the network.
  • Authorization Type = Internal File : if the file is located on the customer's server. Please note that in this case, this server must be accessible from the B2B site.

A link will appear within the portal's article tab showing the description of the link entered in BC, from which the user can download:

Multiplicity and minimum order

When creating a cart, you can set restrictions regarding the minimum quantities that can be inserted (per item) and any multiplicities.

If set and not respected when creating the cart, the user will be shown an appropriate error.

The minimum order can be set in the 'Minimum order quantity' field in the B2B tab of the item master data:

The order multiplicity must instead be configured within the standard 'Item Unit of Measure' table in the Qty per Unit of Measure field of the row marked with the 'B2B Udm' flag.

In case none of the encoded units of measure are marked as 'Udm B2B' the order multiplicity will be 1.

Article references

To make items easier for the customer to trace, it is possible to code each item's reference using the standard 'Item References' table:

They will be displayed in the item master data based on the logged in customer:

Replacement items

You can set up replacement item management to be displayed in the portal's master data.

Then insert the following into the item master data, in the standard 'Substitutes' table:

To be able to display it in the portal, it is necessary to also insert the replacement article in the tree node of the "parent" article:

* Please note that if two articles have the same description (in the translations), the portal reads them as if they were a single record and is unable to display the trees correctly.

Price lists and discounts

(Please note that there is a setup to determine the type of price list used).

Every time an item master data is opened from the portal, Business Central will be queried and will simulate the insertion of a sales line within the system.

From here, prices and discounts will be taken to show ONLY the net price in the B2B item sheet.

The feature will therefore retrieve the price and discount regardless of how they are entered:

  • All customers
  • Price group and discount group
  • Customer
  • Item
  • Item discount group

Functionality

Login

When you open the portal link, the first page you see is the Login page.

Within this page you can add company logos and an optional footer.

The user can enter their username and password, sent the first time by the automatic welcome email.

You can also view the password you entered or use the password recovery function available under the 'Login' button:

If the username or password is incorrect, the user will receive an error and will be able to re-enter the login.

Home page

From the home page, users can view current orders and their status details, as well as view the document. Using the drop-down menu, they can navigate between open orders.

At the bottom left, you can use the '? Atiuto' action to test the site's features and view a tutorial:

At the top left there is a menu that the user can use to navigate between their profile, order archive and contacts.

While at the top left there are actions available that allow you to:

  • Buy it again: allows you to view items you have already purchased so you can add them to your cart more quickly. 
  • Shop: Use to navigate through the trees configured for the contact and then choose the items to add to the cart.
  • Article search: In the bar you can type the article you are looking for or a part of it, all the articles that match your search will then be shown. 
  • Cart: Here you can view the number of items in your cart and, if necessary, open it to modify it or finalize the order. 

Shop

Using the 'Shop' function you can view all item categories (nodes) that have been set up for the logged in contact.

By clicking on the category you can go into more detail of the created tree until you get to the selection of the actual article:

As you go deeper into the nodes above, you will complete a path that can also be used to return to the previous section.

Each node can obviously have zero, one, or N underlying nodes until it reaches the specific article.

The selection of an item can be done when opening the registry:

In the item master data you can therefore view:

  • Description: will be translated into the contact's language
  • Item code
  • EAN/UPC: taken from the GTIN field of the item master data
  • Nickname: This is the item reference for each item – logged in customer. Using this field, the user can directly edit their own item reference in BC: 

  • Availability: This section shows the availability calculated for the indicated location.
    A traffic light will appear below the Qty field: Green = item available, Yellow = item running low, Red = item out of stock. If a specific setup is used, the available quantity will also be displayed.
  • Unit price: calculated based on the price lists present in Business Central, maintaining the same calculation logic.
  • Attachments: All attachments configured as visible on the item master will be visible.

In the Orders section, you will find a brief summary of what is already in your cart (if the item is in it) and its price.

Furthermore, from this section you can enter a quantity to add to the cart itself.

If the quantity entered does not meet the parameters indicated below, a message will be displayed, whether the quantity entered is less than the minimum quantity, or whether the quantity meets the minimum quantity but not the multiples:

Cart

If the quantity entered is compliant, you can use the 'Add' function to add the quantity of the item to the cart:

After adding, the added quantity will be displayed at the top right, next to the cart action:

By clicking on this action you can open the cart to modify it or finalize the order:

From here, you can change the quantity for each item you've entered (obviously, all minimum quantity and multiplicity controls are also active here), remove items if necessary, and view the unit and total amounts for both the item and the entire order.

To finalize the order, use the 'Evade cart' function instead.

Evasion

When proceeding with the fulfillment of the cart, the system requires the entry of an external order reference and, if necessary, notes.

'Your reference' will be inserted in the Your reference field of the BC document header while the notes will be inserted in ………..

Furthermore, if the user has multiple shipping addresses, it is possible to choose the destination of the goods being purchased:

By clicking the 'Continue' button, you can select your shipping details, shipping company, and/or delivery date.

The shipping company is proposed based on the default setting made in the customer profile, while the shipping dates are based on the 'B2B Shipping Services' settings.

These can, if allowed by the setup, be manually changed by the user:

By proceeding, a summary of the order placed will be displayed:

Final fulfillment will create the documents in Business Central. A quote or order will be generated based on the type of item purchased and the previous setup.

If the order includes both items with quote creation setup and some with order creation setup, these will be split into two separate documents.

From here you can then open and view the document:

Order archive

Using the 'Orders' function at the top left you can view the list of orders in any status:

At the top there is a 'Filters' tab that you can use to search for the desired order.

In the columns is available:

  • Order entry date
  • Type of document created
  • order
  • Your order number
  • Order type: if generated from web portal or manually from BC
  • Shipping service, if different from standard
  • of different articles inserted
  • Total order amount

The number of orders visible on the same page is limited. Using 'Load upcoming orders' allows you to view older orders as well.

Orders highlighted in yellow are those that are still in the Open status in BC, therefore not yet confirmed.

By clicking on the line you can open the document.

There are two sections here:

  • General:
    Here you can see a general summary of the order and its current status.
    Created – means that the document is present in BC but only in Open status, it has not yet been reviewed by an operator.
    Approved – the BC document has been reviewed and Released
    In Process – when the order is placed in a warehouse shipment, therefore when the warehouse starts preparing the shipment
    Partially Shipped – when the order has been partially shipped
    Fully shipped – when all the contained lines have been shipped entirely 

    Additionally, the 'Download PDF' action is available to download the PDF of the document: 
  • Shipping:
    In this section you can view the shipment details,
    Delivery date, shipping method, shipping company and related service. 

If you have selected a custom shipping service, an additional line will appear in your order showing the additional shipping cost:

Once the document is sent, it can no longer be modified via the portal. You will need to contact the sales office by phone or email, who will make the changes directly in Business Central.

Log in as a customer

The 'Log in as customer' feature is only available in agent profiles.

Allows the agent to simulate entering the portal as their own customer.

You can use the 'Contact Search' filter by typing the whole name or part of the contact's name, or by using the list below, with the drop-down menu, you can view all your customers:

In this view you can also see if contacts have passwords that need to be renewed.

By selecting one you can return to the home page and all the features and filters will appear exactly as your contact sees them.

Exiting and re-entering the portal resets the display.