OK, what I need to install Dynamics NAV–Part 1

Before the Dynamics NAV installation, we need to check some things related to the infrastructure, users, locations, etc.

Active Directory

Dynamics NAV use AD, SQL and more things like IIS so we need to figure how we can deploy the system, servers and other software. Also, we need to check if the electrical power is consistent or you have many blackouts; same for the internet connection.

Let’s check some scenarios starting with the simplest deployment

Microsoft says that we need an Active Directory. The Active Directory is a very important server because manages all the security and users. For this server you can purchase a low level server with maybe 4-8 GB of RAM, one Xeon processor and a small hard disk (don’t forget the Windows Updates, they need storage space).

This server is queried every time a user tries to access a network share, computer, printer or when you run an application (this is the basic explanation). Nobody recommends to install another service or application in an AD Server so you can buy a cheap server.

Don forget a very basic rule, if you put all the eggs in the same basket, you can lose all your eggs.

So, what can we do? Use to AD Server distributing the FSMO roles in two servers at least. In a Windows environment are five roles

  • Schema Master
  • Domain Naming Master
  • RID Master
  • PDC Emulator
  • Infrastructure Master

You can get more info about these roles in https://support.microsoft.com/en-us/help/223346/fsmo-placement-and-optimization-on-active-directory-domain-controllers

SQL Server

Another server that we need is the Database Server, this server has the SQL Server installation and the database files. We need to check some things for this server:

  • How many Dynamics NAV users are we going to have?
  • How many transactions?

For this server we can start from a dual Xeon based server with 16 GB of RAM for less than 25 users to whatever you can pay.

We need to check the best performance setup for the SQL server, are we going to use SSD or not?

For a SQL server it’s very important to choose the fastest RAID level, the RAID 0 is the fastest because multiple drives are reading and writing data but we don’t have fault tolerance. The fault tolerance can be achieved with RAID 1 which is a “mirroring” RAID. For Dynamics NAV the best approach is to use RAID 10 which combine speed and mirroring and its ideal for highly used database. The problem with the RAID 10 is that you need four drives at least but the SATA and SAS drives prices are getting lower and SSD too.

In SQL Server you need to take into account how many processors and cores you have. Why? Because you can split your log file in partitions and is better to have a log partition in a dedicated disk, as an example, if you have 8 cores, you can split your log file in 8 disk drives (in RAID 10 will be 16) for a better performance.

Also you need to check the SQL Recovery Model, simple, full or bulk logged. https://msdn.microsoft.com/en-us/library/ms189275.aspx

Each model has advantages and disadvantages but the real decision maker point is: do you have personnel with the technical knowledge for use full or bulk logged model? If you don’t have an experienced and dedicated person to do this job, choose the simple model and make daily basis full backups at least.

If you choose the simple model, you can forget the log file partition because the model automatically reclaims log space to keep space requirements small, essentially eliminating the need to manage the transaction log space.

When you are configuring the SQL server, you need to modify some settings in the server’s settings.

Max Server Memory

The buffer pool does not immediately acquire the amount of memory specified in min server memory. The buffer pool starts with only the memory required to initialize. As the Database Engine workload increases, it keeps acquiring the memory required to support the workload. The buffer pool does not free any of the acquired memory until it reaches the amount specified in min server memory. Once min server memory is reached, the buffer pool then uses the standard algorithm to acquire and free memory as needed. The only difference is that the buffer pool never drops its memory allocation below the level specified in min server memory, and never acquires more memory than the level specified in max server memory, this can severely reduce SQL Server performance, with one of our customers, their infrastructure admins top the Max Server Memory to 28 when the server has a 64 total with more than 50 free, all user start to complain until the max memory was free again.

Auto – Create Statistics

This parameter needs to be enabled to allow SQL to tune itself for a better performance.

Auto – Update Statistics

This parameter needs to be enabled to allow SQL to tune itself for a better performance. Also, many C/AL functions relies in these statistics.


Leave it enabled.

Max Degree of parallelism

NAV queries are OLTP type so it’s very important to set the MAXDOP in 1 for normal use, if you run maintenance jobs, you can change this parameter to 0, run maintenance and return to 1 when its finished.

As a better performance setting, the best setup can be OS and SQL Server in a disk, the database mdf file in another and the ldf in a third disk (all in RAID 10).

Dynamics NAV Server

Here we have the middle tier. Since Dynamics NAV 2013 to 2017, we have the three tier scenario, DB, NAV and client.

According to Microsoft, we need 2 GB of RAM for the server to give access to 5 users, a very small memory amount, the DB needs to be very small.

In a document posted by Microsoft “https://mbs.microsoft.com/Files/partner/NAV/SalesMarketing/MarketingCollateral/MicrosoftDynamicsNAV2013R2SingleTenantOnPremiseSizingGuidelines.pdf “, we have the next statement


So, the NAV Server needs less memory and we can purchase a little server. The document is a great analysis about the transactions and the process time and effort but they don’t check Web Client or Tablet/Phone app besides they don’t install IIS in the testing server.

In this moment we need to start to think about the client access methods, RoleTailored Client, Web client or Tablet/Phone client. Each one has its owns requirements in memory and can affect the server. In the littlest scenario, you install the IIS in the same NAV Server to publish NAV for all of clients and the Help Server too.


Digital Orphanage or why Microsoft is leaving us

Last weekend I went to see Toruk and in the event the announcer says “if you want to participate in our show, please download the app…” I took my phone without hope and when I search for the app, nothing comes from windows store as I expected.

On Jan 12, Microsoft announces StaffHub but only gave us app for IOS and Android


I have a Lumia 1320, good hardware, great screen, works very good for me. Even Microsoft says “we are going to support our devices to the win10 upgrade” my phone was putted aside and I don’t have any upgrade.

Later Microsoft stops their windows phone sales and remove the devices from stores (I went to San Antonio and cannot found any 950XL in Microsoft stores). Here in Mexico, the greatest carrier stops to selling windows phones.

Why Microsoft stops selling a good product? I can understand that most of the cell users want an iPhone or android based on cost or taste, but Windows has a good features for me, I don’t want to put dog faces in my pics, I use my phone for work, email, sometimes pics, here music, search for places to eat and read twitter. Why can´t Microsoft help us with this?

My twitter app in Windows phone is broken, Waze remove all support for windows devices, I hope that Uber works for at least one year more in Windows.

For my work, I use Dynamics NAV and the app works pretty good, I don’t have any problems installing the security certificate, very good speed displaying the pages. In IOS my coworkers have problems to get the sec certificates, in android, when you install a certificate, the phone puts the screen lock security even if you don’t want.

I don’t want to change to IPhone, it’s very expensive for a pretty phone (I really don’t like it, it feels strange in my hand, you know, the corners) without a real office and every time they change or upgrade the IOS, your phone runs slowly.

Also, I don’t like Android, everybody says “you can do everything in your phone, you can hack the cellphone, you can change whatever you want, etc.”, I just want a phone with a familiar GUI to talk, work, take pictures, hear my music and read without the fire problems.

Maybe is the new Microsoft´s strategy, launch to the market a new product, the people buy it, then Microsoft says “we are retiring from this market” and leave the users orphan (remember the Microsoft Band? I have one too).

Some sites show things about the surface phone, specs, prices, etc. but Microsoft don’t say anything, even a release date.

I do not know if I should continue to have faith in Microsoft.

Did I need to wait and purchase a new device which maybe is going to be set aside again in maybe one or two years?

Or believe in a so called upgradable device which lost its upgradability?

I hope that Microsoft or Terry Myerson says something about the windows phone to us, the people who bought their products.

Last weekend I went to see Toruk and in the event the announcer say “ if you want to participate in our show, please download the app…” i took my phone without hope and when i search for the app, nothing comes from windows store.

Dynamics NAV–Windows Server Compatibility

Hello all

I upgraded my laptop from Windows Server 2012 R2 to Windows Server 2016.

The upgrade process was a full hard disk wipeout and start from scratch.


for the SQL


Installed Dynamics NAV Versions

  • Microsoft Dynamics NAV 2017
  • Microsoft Dynamics NAV 2016
  • Microsoft Dynamics NAV 2015
  • Microsoft Dynamics NAV 2013 R2
  • Microsoft Dynamics NAV 2013
  • Microsoft Dynamics NAV 2009 R2


So, if you want to migrate your servers to the last OS you can do it without problems


Dynamics NAV e-Purchasing in Mexico

Here in Mexico, we have a government very interested in track all the operations between companies, that´s why we have electronic accounting and electronic invoicing.

With Dynamics NAV we have some problems, the “out-of-the-box” system lacks of some functionality to achieve the goal.

In this post, I’m gonna show the e-purchase functionality designed for the purchase area.

In Mexico we have the CFDI (Internet Digital Fiscal Bill), it’s a xml file with the Sales/purchase transaction information. We have several versions but in this year, the government add information related to the purchased items or services.

With this new data, we can add a special table called “SAT ProdServ Item Relation” and put in that table what we want to post in NAV when an xml file is processed.


What we need to do with this? We develop a new codeunit to process the xml files, we grab the files from a folder, read the file and fill a “cloned purchase order”


As you can see in the image, we make an Imported xml list with some functions:

Import Purch xml – This button grabs the xml files from a folder in your computer.

New Invoice from xml – Because we have all the info in the xml file, we can create a purchase invoice from the file.

Search & Match – Clicking in this button allows NAV to look for an existing Posted Purchase Invoice trying to match the xml to the posted invoices by RFC (Mexican Federal taxpayer registration), invoice amount (with a user-defined variation) and/or invoice date (also with a user-defined variation). If the system found a document, the posted invoice number is added to the list (green formatted line).

If you open the line, you can find the xml imported information that allow us to create a new vendor if we can’t find the RFC in the system.


With the new fields required by the last xml version (3.3) and the “SAT ProdServ Item Relation” we can fill the lines automatically.


Also, we added Job related information to add the purchase to a job and Dimension Control


AS you can see, with this development, we added support to Dynamics NAV to achieve a more automated process for purchase control without “touch” the NAV standard functionality or objects.

Extending possibilities

We added support for Standard Vendor Purchase Codes use with this objects; if you create a purchase standard code for the Vendor, we can use that (for G/L account) to make a Dimension distribution of the expense (as an example, cost center control).

Also we added a validation tool to check if the CFDI is valid using a Web Service of the government sending the required information (which we have in the import process of the xml file). If we have an approved answer for the service we can create the purchase, if we have a rejection from the service, the xml cannot create nor be assigned to a document in the system.