Aphorisms about Microsoft Dynamics NAV

Stuff about installation and development in Microsoft Dynamics NAV and integrated products.



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:



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:



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:



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



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:



With few actions:



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:



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:



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



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

The sales order list shows the customer orders only:



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



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



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.





During a visit with a customer, we discussed the price/rebate functionality in Dynamics NAV, and it became apparent that there is some confusion about how it works.


Dynamics NAV operates after a principle called Find the best price, which means that it will go through all the different price systems to find the best prices for the customer at the time of the sales order.


So let’s take a tour of the sales price functionality in Dynamics NAV.


I will start by creating a brand new customer:



The customer has been assigned to:

  • the Customer Price Group: LARGE
  • and the Customer Discount Group: LARGE ACC




Then I create a new item:



I have assigned the Item Disc. Group: RESALE to the item.


The line discounts affecting the customer and the item looks like this:



The sales prices for the item looks like this:



Now it will be interesting to see, which price will be selected on a sales order:



It chose the best price due to the fact that the price 180 minus the line discount 25% will be cheapest.

But what if we didn’t get the discount for this price?



Then it will immediately choose the next cheapest price system:



But how can we know all this?


There are so many pricing systems, rebating systems and combinations between the two.


The answer is, that it IS possible.


The Get Price function on the sales line will show all the different combinations available:



According to this, the price will be reduces to 165 on February the 1st and the line discount will also apply.



So changing the document date to February 4th will give the following result:



It is also possible to add campaigns with special prices for a segment of the contacts for a specific period.


But that is another story Smiley 



Posted by peikba | with no comments



You know the feeling.


You have spent all morning trying to figure out why items - that you know should show up for purchasing – does not show up in the planning worksheet. No matter what you select in the planning parameters on the Item Card is ignored by the planning.


You might have run into one of the small peculiarities of Dynamics NAV 2013 to 2015. The situation occurs if you have selected Location Mandatory on the Inventory Setup card and you are not using the manufacturing module.


Here is the problem and the fix, first we go to the Inventory Setup:



The Item has been set up like this:



…and the planning:



In my book, I should get a planning suggestion to buy 26 pcs of my item, but the Planning remains empty.

Let’s try:



No errors - no warning what so ever when running the Calculate Plan:



However if I add a default Components At Location in the Manufacturing Setup – Regardless if manufacturing is used with this customer or not then – then everything works fine:



…and the planning:



Fantastic – now it works.


This is due to this small piece of code in Codeunit 99000854:



Don’t ask me why Smiley



Posted by peikba | with no comments



Then you are not alone.


In case you haven’t noticed, I have expanded my blog with a number of interesting links:



Apart from links to some of my very talented fellow bloggers, I have added a section with links to the overviews of cumulative links to the different versions of Dynamics NAV.

This was mostly for my own benefit, because I can never remember where to find it.

However, you can benefit from that too, because I will gracefully let you use the links free of charge Smiley

Notice that the links demands that you have access to PartnerSource.


I will try to keep the links updated if Microsoft decides to move the pages.



Did you know that it is possible to add a page to your Role Center without adding it to MenuSuite and without changing the Role Center.


Well, it is Smiley


The only thing is that the user must be given temporary access to the Development Environment.

Lets take an example. I have made a page in the designer: Page 50000 License Permissions:



Running the page will give me a list of all the permissions in Dynamics NAV:



Now, what if the IT-Manager wants this page on his/hers Role Center?


Well that’s simple:

  1. Let the IT-Manager log on to Dynamics NAV
  2. Run the page directly from the Development Environment
  3. Save the View to the Role Center





Now the page will always appear on the IT-Manager Role Center:



Nothing to it.



A European law defines that unless you can prove that a company has a valid VAT registration in their country, full VAT must be charged om selling products or services between European countries.


It is therefore necessary to validate each company VAR registration number.

Previously it has been necessary to go to a web site: http://ec.europa.eu/taxation_customs/vies/vieshome.do?locale=en



And to verify each customers VAT Registration No.



From Dynamics NAV 2015 and forward, the VAT Registration validation has been moved in the application.

In General Ledger Setup you can enter the VAR Registration Validation URL: http://ec.europa.eu/taxation_customs/vies/services/checkVatService



And after that, it is possible to validate the customer VAR Registration No’s directly from the Customer Card:



Click the button and the Validation page appears:


Click the Verify Registration No. button and the VAT Registration No is verified.



Posted by peikba | with no comments



This week I conducted a pre-conference workshop at NAV TechDays 2015 in Antwerp with the subject:


Implementing the RoleTailored client with success


The participants spent eight hours learning how to change Microsoft Dynamics NAV implementation into a succesful customer story.

The workshop was based on my new book:


RoleTailoring Microsoft Dynamics NAV


It is my pleassure to announce that the book if now available for purchase and download from my webshop:




and not only that, the book is also available as a FREE preview. You can find the preview at:

If you would rather purchase the book as paperback, it is possible to preorder the paperback for delivery December 15th.


Enjoy the book.


Posted by peikba | with no comments


My Jobs functionality

For companies working with jobs a lot, it could be beneficiary to have the same functionality as the My Customers or My Items, and it is quite fast to make:

1) Find the My Customers table and page

2) Copy them to My Job table and page

3) Change Customer to Job all over in the objects

4) Add the My Jobs page to the Project Manager Role Center

5) Adding a new custom filter in codeunit 41


The table:



The page:


The Role Center page:


Here is the result:


Now all that is needed is to create a new custom filter in codeunit 41 as described next.

Creating new custom filters

In Dynamics NAV it is possible to use a number of custom filters:

%ME The returns the User id of the user that is logged on.

%USER Does the same

%COMPANY Returns the company name as in the company identifier from Companies and not the company name from Company Information

%MYCUSTOMERS Returns a filter with all the customer numbers from the customers the in My Customers page.

%MYVENDORS Returns a filter with all the vendor numbers from the vendors in the My Vendors page.

%MYITEMS Returns a filter with all the item numbers from the items in the My Items page.

How is it possible to create new custom filters?


In codeunit 41 TextManagement.


We can find this function:


So if I want to create %MYJOBS, %MYRESOURCENO or %MYSALESPERSONCODE I can add this code:


And change the first line in the GetMyFilter function:


Now it is possible to use the new filter in saved filtered views:










If you liked this, you are going to love my new book: RoleTailoring Microsoft Dynamics NAV, which will be in your favourite webshop soon. image_thumb30


Until then, there are always the old ones:



Developing custom reports in Dynamics NAV is a costly affair. Therefore, I recommend all my customers to think about, which reports could be replaced with either Cues on the Activity page of the RoleCenter or as a filtered view.

One of the frequent examples are the “Slow Moving Items” report.

Here is a quick example of making this report as a filtered view. First, I go to the Item list page:

Then I add a couple of filters:


The filters are:

· The date filter is set to be within the latest 12 months of the work date.

· No items sold

· No items purchased

· Some items on inventory

Now save it as a filtered view:


When this is performed in configuration mode, this list will be available for all the users that have been assigned to this profile.


If you liked this, you are going to love my new book: RoleTailoring Microsoft Dynamics NAV, which will be in your favourite webshop soon. image


Until then, there are always the old ones:



After four years with my Mibuso blog I have moved to DynamicsUser.net.


Just a little statistics on the four years with Mibuso:

  • 30 Blog posts
  • 412.789 hits
  • 39.545 unique reads
  • More than a thousand followers

In the same time I have:

  • Published three books (The next is on its way to the printer)
  • Authored twenty-six “How-to-Videos” for Microsoft
  • Reviewed the course material for C/Side Introduction 2013
  • Conducted approx 80 courses about Microsoft Dynamics NAV

Thank you Mibuso for offering a relevant and necessary platform for us bloggers and I’m sorry the upgrade didn’t go as planned.

However, thank you DynamicsUser.net for offering me a new home for my blog.


The old blog posts will be transferred along the way.


Did I mention that my new book: “RoleTailoring Microsoft Dynamics NAV” is on its way and will be ready in November.



Until then, there are always the old ones: 


Posted by peikba | 1 comment(s)







Have you ever wondered why a postings land on a specific account?

I have!

An order was posted, and all of a sudden a posting lands on a new account and it is not one of the usual accounts.

I just posted a purchase order with one of the computer items:






Normally all I should see these postings:

1) Purchase Account 10000

2) VAT Account 2500

3) Vendor -12500

…and after the Inventory Batch:

4) Inventory Account 10000

5) Direct Unit Cost Account -10000

However, looking at the transactions in the G/L Registers I see the following:


This is fine, but the inventory batch has posted this:


Some might already know, what has happened but if I want to know what G/L account 7192 is used for, I can go to the G/L account card:


Again, the name of the account here might give a clue, but that might not always be the case.

Therefore, I use the Where-Used-List to see in which setups the account is being used.


The list is quite extensive:


Now we can go to the General Posting Setup and get an explanation:


By the use of the on-line help, it is possible to find out that it means the posting is due to the setup on the Item card:


Another very important use of this function is to secure that a G/L account is not included in any setup before it is deleted.



Posted by peikba | with no comments



Now it is here, and it is FREE.

There has been quite a few requests for a successor to my previous book: Manufacturing with Microsoft Dynamics NAV. I have been deep into the code and decided that there are not enough improvements to justify rewriting to whole book, make new screenshots, proofreading and so on.

I have therefore made a whitepaper that is an amendment to my previous book “Manufacturing with Microsoft Dynamics NAV” and it fills the gap between the manufacturing module of Dynamics NAV 2013, which the book was based on and the newest Dynamics NAV 2015. The whitepaper is a mix between hardcore functional changes in the Dynamics NAV 2015 application, inspirational uses of the new user experience enhancements and a couple of “aha-experiences” I have had, working with the manufacturing module in real life.

Download the whitepaper free here:

· Http://b-a.dk: My own home page where you can buy a copy of the book: Manufacturing with Microsoft Dynamics NAV too.

· Http://mibuso.com: In the download section, please allow some time for the download to be approved

· Http://dynamicsuser.net: In the download section, please allow some time for the download to be approved





This was my very provocative opening slide on an internal seminar in Columbus NSC, held for all developers and consultants not too long ago and it might be a bit exaggerated, but not much.

Developers and consultants do not like the RoleCenters because the profiles never contains the information they need. Therefore, they are automatically drawn to the Departments page or to the search bar in the upper right corner of the RoleCenter.

The problem is that the developers and the consultants are not the ones to use the system later. When the implementation is finished and the dust settles, the users have to find their own way around. If that implies searching for functions in the Departments menu or trying to remember the name of a report only used once every year, then it is no wonder that the users find the system difficult to access and understand.

I have conducted more than 150 courses over time with no less than 800 consultants and developers and in most courses, I usually include RoleTailoring as bonus topic. The opinions vary but they are usually less than positive.



Some of the courses I have conducted have been at end-user companies after they have been running Dynamics NAV for a while. Here I teach the super users to use the RoleCenters and to create Profiles for the different groups of users. Then we usually end by making a number of two-hour workshops in the different departments, teaching the users how to change their own profile.

It is amazing the difference it makes in the attitude towards the system. The initial comments are “***-system”, “inaccessible” and “difficult” but after only a two-hour workshop, I get total different and much more positive comments.


How did that happen?

Well for starters, the course materials for Dynamics NAV 2009 included very little material on the RoleTailored client and explained it as if it was just an upgraded Classic client, and apart from a few partners, there have been no real focus on RoleTailoring. The course materials on RoleTailoring for Dynamics NAV 2013 was not much better; it was almost a copy of the 2009 material, although in the 2013 material the “Configuration” function was explained.

Secondly, the instructors are also consultants and I have heard more than one of my colleagues state that the FactBoxes take up too much space on the screen and the first thing they do is to disable them. The use of the Search bar by the instructor during courses is another example of bad habits transferred from instructors to participants on the courses.


What is wrong with the Search bar, you might ask?

The Search bar is a super tool for consultants, developers, administrators or super users who tend to jump between all the different parts of the application every day and more importantly users who know the names of the functionalities they use. However, for end users performing the same tasks every day or periodically, the RoleCenter must be the portal for all functionalities they need in their job.


Then how should it have been done?

Allocate the time

First of all: RoleTailoring takes time; and time in an implementation phase cost money. Therefore, it must be recognized as a separate task in the sales and implementation process - usually in the same area as the setup of security groups. The time consumption is not necessarily consultant time but more likely the super user or administrator at the customer. This way it is not necessarily an extra cost. However, the extra implementation time must calculated in the time estimated for employees at the customer.


Prepare the profiles up front

The RoleCenters and profiles must be prepared and allocated so that the end-users see their future profile already from the initial meeting with Dynamics NAV. If the users are forced to work with a different RoleCenter from the beginning, they will develop bad habits, which will be very hard to change later. The worst thing however, is that the user will not see the benefits of the RoleCenter from the beginning. Imagine a bookkeeper who is forced to use an Order Processor profile because it was the default. It will be almost impossible to relate to the tasks and functions shown on the RoleCenter and they will automatically consider the system to be more focused on sales than finance.


Clean Up

The first task is to clean up the RoleCenter and thereby remove all functionality that is not necessary:

· Remove all unnecessary fields and actions; this will also help the users to focus on the relevant functionality.

· Hide fields not commonly used

· Remove FactBoxes that does not add value

· Add FactBoxes the will add value (Develop new ones if needed)

· Clean up the fields in the FactBoxes

· Add all needed functionality to the RoleCenter

· Use “Filtered lists”

· Use Charts

· Use Quick Entry


Where do we go from here?


To spread the word, Columbus NSC have arranged internal seminars and online meetings focusing on the issue. Likewise, we are arranging seminars for customers and end-users. For the consultants and developers, I will conduct a preconference workshop at NAV TechDays 2015 in Antwerp:



In addition to that, I am finalizing my second book: “RoleTailoring Microsoft Dynamics NAV”, which will be included in the pre-conference fee and given to the participants as an eBook. A preview of the book will be available soon.



Lastly, this will probably not be the last post I write on the subject. So happy RoleTailoring – and I will see you in Antwerp.




One of the topics I address on nearly all my courses is RoleTailoring. How to set up profiles and how to assign them to users. The process of configuring and personalizing the profiles is also a hot topic and during the implementation process, it is recommended to create special shortcuts for each active profile in the company in order to maintain each profile.


Each of these shortcuts points to a specific profile and it can also point to a configuration file containing information on:

· Server name

· Instance name

· Port number

· Credentials type.

An example of the destination of the shortcut could look like this:


"C:\Program Files (x86)\Microsoft Dynamics NAV\70\RoleTailored Client\Microsoft.Dynamics.Nav.Client.exe" -profile:"MACHINE OPERATOR" -settings:"C:\Users\Administrator\Desktop\Manufacturing\ClientUserSettings.config"


The –profile parameter refers to the desired profile name and adding the –configure parameter will start the client in configuration mode.

image When starting up the client with the –profile parameter, it is the permissions of the user running the shortcut that count. It is possible to run the shortcut as another user, by right clicking the shortcut with the shift key pressed and selecting “run as a different user”.

image In Dynamics NAV 2013, the user running the shortcut must be owner of the profile in order to start a profile in configuration mode.

This has also been the usual way for me to open profiles, but it becomes a bit tedious to have to create shortcuts every time it is necessary to configure a new profile.

On one of my courses in Jutland, a creative student (I’m sorry I don’t remember your name) provided a simple solution for this:

Why not open the profile directly from the profile list?

So he designed this simple solution:

In the Development Environment go to the Profile List page (9171) and perform the following

1) Design the page

2) Click View/C/AL Globals

3) Add a new function called OpenClient


4) Click Locals and create one parameter


5) And one local variable


The full Subtype must be (can be copy/pasted):

System.Diagnostics.Process.'System, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089'

6) Now Go back to the function and press F9 (Design) and type the following:


7) Now it is necessary to create two new actions on the Profile List:

a. Go back to the Profile List in design mode:


b. Click View/Page Actions:

c. Add two new actions:


d. On the “Open Profile” action, press F9 and type:


e. Go back to the actions and switch to the “Configure Profile” action press F9 and type:


With a little documentation, it could look like this:


8) Press Esc until prompted to save the object

From now on, all you need to do to open or configure a profile is to open the Profile List, find the DISPATCHER profile and click Open Profile:


…and the DISPATCHER profile opens:


…or to open it in configuration mode:


I used the property Image WorkCenter for the Open Profile action and the property Image Setup for the Configure Profile action.

Believe me – Your life will not be the same again.

Posted by peikba | with no comments


Have I been awfully quiet lately?


That might be because I have been preparing a one-day pre-conference workshop I am going to conduct on this year’s NAV TechDays in Antwerp, Belgium.


You can read more about it on the NAV TechDays webpage.


The topic is:


RoleTailoring Microsoft Dynamics NAV

Strangely enough, that is also the title of my new book. It is almost done and will be available in your favorite web-shop this summer. I will release a free preview version in November.



The content of the book and the workshop will be something like this:


You can sign up for the pre-conference workshop at NAV TechDays already in May. Remember to keep an eye out for the new book. You can start with the free preview, which will keep you going until the final book comes out.



More Posts Next page »