Turn the Dynamics NAV 2013 web client into a Customer Portal in two hours

dreamstime_m_38392925

 

The web client in Dynamics NAV comes with any installation of Dynamics NAV 2013. It therefore seemes obvious to utilize it for creating a customer portal, enabling the customers to log on to our Dynamics NAV to maintain certain data in your database and enter orders directly into the system. Don’t worry that a solution like this would be to expensive due of all all the extra users that need to acquired to the license, because this is why Dynamics NAV provides external users.

 

External User
External Users have read access and can write to fields and invoke actions on a maximum of five pages in the range 0 - 99,999,999 through any client accessing the application. External Users cannot be employed by the same legal entity as the main customer, and may not be vendors to that legal entity.

 

Meaning that they are free Smiley 

 

In my earlier post, I claimed that they were free in the later versions as well, but Microsoft have changed the Licensing for the external users in Dynamics NAV 2013 R2 so that this is no longer legal.

 

Opening up for customers to access the system and enter orders can be quite scary. Therefore, all effort must be made to limit access to any information except for what is absolutely necessary. However, creating a successful customer portal can seriously save money on web development to have a separate solution made.

 

Since entering a sales order directly into the system, will create a demand in the system and affect the planning functionlity, it might be better to let the customers enter the data either in a shaddow order/order line table or as a Sales Quote. The sales people can then review all incoming orders and qualify them before they are changed into a Sales Order.

 

Enough of this, let us see how far we can get using only Dynamics NAV and the web client.

 

In approximately two hours, I have made this:

image

 

The customer can log on via the web client via an SSL-encrypted web connection. When logging on to the system, Dynamics NAV recognizes the user as a customer and performs some extra validation in the login management which limits the user. All reports, lists, statistics, and charts are limited to look only at the data belonging to this customer. The customer can create quotes or shadow orders and edit their address information in the Customer Card.

 

However, let us take things step-by-step.

 

Firstly, a user is created:

image

 

This means that the user can log on in a Dynamics NAV instance that has been setup with NavUserPassword authentication and therefore does not have to be created in the Active Directory.

 

The user must have a user setup as well:

image

 

When the user logs on to the system, the limitations are set in codeunit 41: Login Management:

image

 

This limits access to the tables globally through the whole system:

  • Customer
  • Customer Ledger Entry
  • Detailed Customer Ledger Entry
  • Sales Header
  • Sales Invoice Header

 

The new Role Center is very limited:

image

 

With few actions:

image

 

Everything on the page will be limited by the FilterGroup that was set in the Login Management codeunit.

 

The Actions on the Activities page are also limited:

image

 

Each Cue is set to calculate all “Open Orders” all “Orders Shipped not Invoiced” and ”All invoices” in the whole company, but they too, will be limited by the FilterGroup. The “Balance” and “Balance Due” fields work the same way.

 

Permission Limitations

The Departments menu has been disabled, and all personalization in the profile has been disabled.

 

Adjusting the Customer Profile

All unnecessary fields, FastTabs, actions, and FactBoxes have been removed in the configuration process.

All cost prices and statistics are gone, too.

 

The Customer List page only shows the one customer that is within the filter:

image

 

The Customer Card is the standard Customer Card but has been configured to show only a limited amount of information.

image

 

The statistics in the factboxes are “trimmed” to show only information relevant to the customer.

The sales order list shows the customer orders only:

image

 

The Sales Order has also been “trimmed,” and it is no longer possible to get the totals with the profit.

image

 

All in all, the solution has demanded changes in eight objects, whereas only three are the standard objects:

image

 

This solution is not tested in a live environment and should therefore only server as inspiration to similar solutions.

 

If you liked this, you will love my new book: RoleTailoring Microsoft Dynamics NAV.

 

image39333333

Anonymous
  • Hi,

    I'm using NAV 2017, while I'll login my RTC and webclient, it throws an error 'A user with Licence type 'External User' cannot log in using this Client

  • Former Member
    over 3 years ago

    Hallo @Erik i think limited User is still only for named users

  • Love it. Licensing has been changed for NAV 2016, so that it here requires a limited user, for each external user using one of the NAV clients (web, windows, tablet etc.). But still a good deal, depending on how many customers would be online at the time. The extra tables added to the list of "non-counting" tables includes table 36+37.

    Still would take a bit more than two hours to get a live system. But very catchy! Wink

  • I aggree with you.

    This example was only to show that it was possible.

  • Nice solutions - especially the use of global filters in codeunit 1.

    However, I will recommend not using standard pages even when you customize them and remove internal fields and actions. The risk is, that someone else at a later point will add functionality to these pages, and this will then be given to the customers per default, unless the dev remember to customize the role center as well. (OptIn vs OptOut)

Related