Aphorisms about Microsoft Dynamics NAV

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



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.




Going Fishing in the MiniApp

As I described in my previous blog post, it is possible to reuse functionality from the MiniApp in the ”real” Dynamics NAV.


Here is another example:


In Page 1302 Mini Item Card, there is a sweet little function to save an existing item as a template:



Ok - Go steal Smiley


First, go to the development environment and design page 1302 Mini Item Card.

Go to View/Page Actions:


Copy – Exit and do not save if asked.


Then into page 30 Item Card and into page actions:


Paste next to the Apply Template Action – document the change – save and exit.


Now open the item card on an existing item:



Save as template:



Make a new item:



Enter – and apply a description



It’s Sooooo Easy – 3½ minutes including documentation.

Exists on the Mini Customer Card and the Mini Vendor Card as well.



More Posts Next page »