My New Book | Microsoft Dynamics NAV 2013 (R2) Application Design

Finally! It has (almost) arrived.

On September 18th my new book Microsoft Dynamics NAV 2013 Application Design is scheduled to be shipped.


The book is packed with design patterns and walk throughs of both standard NAV and a ton of customisations.

It covers the application from Bookkeeping to Manufacturing and Sales & Purchasing to Jobs.

Inside the book I have designed two complete add-on product with application objects, design patterns and much more.

Ever wondered what the validation flow of the sales and puchase lines are? Did you know there are (at least) five ways to setup Warehouse Management? It’s all described in my book, which makes it perfect reading for both functional oriented people and technical folks.

You can pre-order the book from this link:

If you like the book, please also like the facebook page about the book here:

What You Will Learn

  • Set up and customize the Dynamics NAV ERP suite for various industries
  • Study dozens of design patterns used in standard applications
  • Customize Microsoft’s application features and extend them safely
  • Use blueprints, design patterns, and application objects for Equipment Reservations and Transport Management
  • Master the fundamentals of application design and learn about B2B and B2C interfacing
  • Design applications that strike a balance between total cost of ownership and functionality
  • Extend your core applications using interfaces with Flatfile, CSV, XMLPorts, ADO, EDIFACT, and Webservices

Forewords by Michael Nielsen, Director of Engineering for NAV at Microsoft and David Studebaker, co-author of Programming Microsoft Dynamics NAV 2013

Michael Nielsen

Most books about Microsoft Dynamics NAV are about the tooling and the platform – but this is different and describes the building blocks and the code and metadata patterns that the application is made up of. The foundation for the patterns was created many years ago when we developed  the first versions of Microsoft Dynamics NAV, and since then they have be reused over and over again by us and every developer in the partner channel through copy-paste. However, it was not until Marije and her friends in PRS, Gary and Waldo, re-discovered the patterns and started to write books. blog, teach and speak at conferences that they became broader known.

Over time, this has evolved into an larger effort in collaboration with Microsoft the Microsoft Dynamics NAV developer community that has improved the overall quality of customization projects and reduced the implementation time. This book is important because it describes the most used patterns and how to leverage them when you modify Microsoft Dynamics NAV to suit industry-specific needs. It also contains examples on how to create add-ons and other enhancements that are easily upgraded.

Everything is based on Marijes huge experience of designing Microsoft Dynamics NAV implementations over almost two decades and expresses Marijes dedication to the Microsoft Dynamics NAV product and the many passionate people in the Microsoft Dynamics NAV community.

David Studebaker

Marije Brummel is the person other Microsoft Dynamics NAV experts go to when they have a really hard problem to solve.  In this book, Marije shares knowledge she has gained over the past two decades.  In my own work as a Microsoft Dynamics NAV consultant/developer, and as an author (writing three texts on programming in different versions of Microsoft Dynamics NAV), I’ve had the opportunity to draw on Marijes expertise many times.  By reading this book, you now have a chance to do the same.

I’ve known Marije since we met at Tech-Ed in Boston in 2006.  Marije was already an accomplished analyst and developer, an expert in Microsoft Dynamics NAV and an MVP.  Marije had been invited to that conference by Microsoft to help represent Microsoft Dynamics NAV to the other technically expert attendees.  Since then, Marije has gained considerable experience and broadened her knowledge, particularly in the areas of business application problem solving using Microsoft Dynamics NAV.

Microsoft Dynamics NAV is a very special business software product.  Included in the product are a set of IDE tools designed for business applications development and tailored to Microsoft Dynamics NAV. This makes it easier to create enhancements to fit the needs of specific businesses.  As an integrated, full featured ERP system, Microsoft Dynamics NAV includes functionalities for accounting, order processing, inventory control, manufacturing, distribution, service management, materials planning and asset management.  This book provides examples of how to choose from and apply these in a variety of business situations.

Each new version of Microsoft Dynamics NAV has delivered both new application functionality and new technical capability.  Upcoming versions are becoming more compatible with “the Cloud”, mobile users and various user interface devices.  Each of these new capabilities expands the types of business applications to which Microsoft Dynamics NAV can appropriately be applied.  With a worldwide installed base already of well over 1,000,000 users, we know the uses of Microsoft Dynamics NAV are only limited by how creatively we apply our knowledge.  Read on, let Marije expand your knowledge, then use your own creativity to apply Microsoft Dynamics NAV to the needs of your business.

The five first Design Patterns & PRS Video’s are online

Hi, my name is Marije Brummel and…

I am happy to announce that five video’s about design patterns are online now.

The first six words are how I start all the video’s. The way to make them is pretty strict.

To make it easy I’ve created a playlist on YouTube with all the video’s

These video’s are online now:

How do I Read and Understand the Posting Routines

This video explains how the general flow of data works in Microsoft Dynamics NAV and explains the difference between posting, processing and archiving. Then it explains the Test Near, Test Far, Do It, Clean Up principle and where that can be found in codeunit 80, Sales Post.

Posting Routines in Dynamics NAV

At the end of the video we look at an example posting routine written with atomic coding.

How do I Use Temporary Datasets

This is one of my favorites. This video explains how to decouple UI from table structures and how to use temporary datasets in AL code. At the end of the video we combine Queries and Temporary Datasets in a page object.

How do I Use the Transfer Custom Fields Design Pattern

This pattern is a member of the larger Hooks pattern as described by Waldo. The ideo is to establish a contract to moving fields between tables where TRANSFERFIELDS cannot be used. This pattern will make upgrading much easier.

Data Process NAV

How do I Use the Select Pattern in a Posting Routine

In Microsoft Dynamics NAV you can only send one record as a contract to a codeunit. This video describes two ways to avoid sending extra parameters using functions. One is adding extra fields to the sourcetable, the other solution is to add an attribute table, which by itsself is a Temporary Dataset

How do I Implement the Number Series Pattern

Number Series are very user friendly and easy to implement once you know the steps. This video shows that step by step. It also explains how to make Number Series cross company in a very easy way.

Have fun.

The next five will be online soon.

How Do I | Configure and Use the Background Posting Feature


You may be or even should be familiar with the How Do I video series around Microsoft Dynamics NAV which are part of the Readiness programm.

A couple of days ago I tweeted that my first video is online.


I knew Waldo, Vjeko and some others were making the video’s and I was asked to help since the orriginal planning was hard to stick to for the members of the team.

The video is about how to use the Background Posting Feature. Which is something that from my performance background is what I was familiar with and was done by some partners as a mod in the past.

I was helped by this post on the Dynamics NAV Team blog. Thanks Rikke.

You can watch the result of the video on MSDN or on YouTube.

This was my first video I made. I scripted the entire process before recording which you can hear pretty well. I would encourage everyone to try this experience. It’s weird spending a day listening to your own voice.

For those of you who are curious, the software used for the video is Camtasia.

NAV 2013 R2 | Personalised Splash Screen

Ok, here I am in Seattle for MVP summit with a nine hour jetlag, alone because Waldo did not run fast enough to catch the flight.

So what do you do, you take a beer and blog.

We all know Personalisation in the Windows Client, but with NAV 2013 R2 this is taken to a whole new level.

NAV 2013 R2 allows you to have a personalised Splash Screen.

If you go to C:\Program Files (x86)\Microsoft Dynamics NAV\71\RoleTailored Client\Images you’ll see that there are images like Splash.png and Header.png. There is also a Splash-C5.png.

Yes, you are guessing where this is going to. This allows us to rebrand NAV to C5.

Like this:


Or this


These images come provided with the product.

But you can also do your own stuff:


Cool isn’t it?

Now off course this is very useful in hosting scenario’s where people want to add their brand to the product.

And it might also be useful when NAV will replace AX and GP in the time to come. (Or am I now typing this because of the beer…)

Dynamics C5 2014 | Welcome MiniApp

Dynamics C5 2014 | Welcome MiniApp

Ok, I guess it is officially announced now as you can read in Erik’s post.

Although it is hard to find english content and many people probably have questions, let me share what I know about C5 2014 and NAV 2013R2.

Most annoucements of C5 2014 are danish as you can see if you google it. That’s simply because it has always been a danish local product. Like we have exact in the Netherlands and Quickbooks in the USA.

With this release Microsoft has decided to merge the products C5 and NAV. That meaning C5 will still be called C5 but uses the NAV core to run on.

One of the questions Erik rises in his post is what functionality Microsoft will offer with C5. Although I cannot firmly answer that question I can make a good guess.

Usability has always been an issue with Dynamics NAV or Navision. The product is 80-95 procent finished and Microsoft expects partners to add the missing 5-20 percent. (Some add more).

So if you want to merge a product like C5 which is usable out of the box, you cannot use NAV without making it more usable. To Microsoft has the issues of usability of the base products that many partners have had for the last years.

If you have a chance to download NAV 2013 R2 (many of you will have that chance soon when it is released) you should find new objects called “Mini *Something*” and a new Role Center called Small Business.

This role center provides access to the “Mini App” which is a simplified way of using NAV for small businesses.

As for myself, I have been using this featurepack for my own accounting in the last six months and it is great.

Let me show you some examples

1. Creating Customers and Vendors

When I create a new Sales Invoice, I do not have to select an Invoice number, the system generates it for me. And when I select a customer that does not exist, it asks me if I want to create this customer

If I say yes, it asks me what sort of customer I want to create

This is just a small example

2. Statistical Information

When opening the Customer Card You can directly access information about the customer with visual support

Now this post can be a mile long if I start describing all the functionalities in the Mini App but I hope you get the message.

I am extremely exited about this new feature pack and I hope that this will be launched outside of Denmark soon.

Until now the features have been shipped with NAV 2013 R2 CTP builds so I expect that also all NAV partners can benefit from this investment.

Design Patterns

This new way of creating features in Dynamics NAV (C5) requires a new way of thinking. New Design Patterns.

In Antwerp on NAVTechDays there will be a session about the new design patterns that will show best practices on how to program in NAV (C5) to realize a new user expecience.

Good luck to all the C5 partners and welcome to our community!

NAV2013R2 | Interactive Sorting

NAV2013R2 | Interactive Sorting

NAV2013 R2 is about to ship and it contains a bunch of cool new features but one of them I am so entousiastic about I will share it first.

We can, from this release forward, sort on each column in listpages!

Yes, isn’t it amazing? And it works in dropdown lists too!

You do not need to add keys to the table to enable this feature


This means that also setcurrentkey can be used without actually defining the key!


This means that if a user sorts on a column on the Item Ledger Entry table without filters and SQL Indexes they can completely clutter your system. Be aware of that!

Other than that, awesome job Microsoft! Thanks.


Directions EMEA 2013 | “In” Office 365 and “On” Azure

Back home for a day after Directions EMEA I am stil Baffled from what happened in Vienna. Even though I warned everyone in my previous post.

As my PRS “partner in crime” Gary already posted last monday Microsoft has announced a new strategy for Microsoft Dynamics NAV.

“In” Office 365 and “On” Azure

So what does that mean in real life? Remember back in school if we wanted to know what something meant we broke a sentence down into smaller pieces. Let’s start with the first piece.

“In” Office 365

So what does that mean. The previous versions of NAV were already capable of interfacing with Office 365 so the new thing is not in this part of the sentence.

The new thing is in the smallest word. “In”.

Until this release, whenever we had an interface with a product, NAV was always “leading”. Meaning usually a user started from Dynamics NAV, pushed a button and Word, Excel or Outlook would open and do something.

With this release, office is leading. So if you log into Office 365 you would get Dynamics NAV as part of the subscription. One could even call it Dynamics365. You don’t even notice that it is NAV. Every part of NAV is integrated. You can see charts and lists as part of your Office 365 experience.

From a repeatable perspective this is a huge thing. There are way many office users than NAV users. Microsoft claims 1 billion office users vs. almost 1.x00.000 NAV seats. This means that only 0.1% of all office users have NAV. Imagine that those office users would have NAV as part of their suite just by clicking on the option. Even if we move to 1% it would mean an explosion of NAV seats.

We will be busy.


We can’t be that busy, we don’t have enough people, not enough consultants, not enough developers! Panic!!

This is where the repeatable story comes in, and this is where Azure kicks in!

“On” Azure

As with Office 365 the news in this sentence is not Azure. We could already run NAV2013FP1 on Azure, we can even run NAV2009 on Azure infrastructure services. Hell, it’s “only” a virtual machine.

Well, that is not true and there is news.

Azure is not “just” a virtual machine. I’ll come back to that later.

What is new in this sentence is not in this sentence. That makes it more difficult to explain.

Multi Tenacy

New in NAV2013R2 is that it is a true Multi Tenant environment. Remember that I asked last year, what happend to Azure? Truth is that I found out what happend but won’t share this online. (nah nah…). Let’s focus on the fact that it’s there today.

What does Multi Tenant mean in combination with Microsoft Dynamics NAV.

It means: “Running multiple independant legal entities on the same codebase on the same server”. So let’s say I am a lawyer, no let’s say I am a freelance consultant and I need a solution to make sales invoices, register my expenses, declare VAT and do bank reconciliation. That is not rocket science, even for someone like me. Asuming there are 100.000nds other freelance consultants out there that have the same needs, why not share the same software. This is now possible with Microsoft Dynamics NAV 2013R2.

With a simple powershell command it is possible to spin off a new tenant on a codebase and start working with a few setup questions like companyname, VAT number etc.

And it get’s better, it is integrated with Office 365! Wow!


This is al extremely cool and sounds very simple to do, but how are we going to execute on this. Who is going to do this? Are the Dynamics partners in the current ecosystem going to change their models from single implementations with customisations to serve me as a small customer with a monthly subscription?

That I guess is the real reason why I am baffled after attending Directions EMEA 2013.

The software is ready for it, Microsoft is ready for it, the customers are asking for it. But who is going to deliver it?


I promised to come back to azure infrastructure services. Yes, if you use it it is a Virtual Machine, but in my opinion there are two things that differantiate Azure from any other hosted VM solution.

1. Portal Experience

If you never worked with the Azure Portal I can only urge you and recommend to try. I’ve been working with servers for 30 years of my life (and I am only 36 years old) and I have never, ever experienced seting up a new machine being this simple. Never. Just a few clicks and you are up and running.

I have two machines running in Azure and my current bill is under 3 euro’s per day! Is that cheap or what! Truth is here that I need to admit that MVP’s get 150 euro/month for free, but hey, don’t tell anyone please.

2. Powershell

Azure supports a full powershell experience. You can create new machines and install software all from powershell commands.

And now what?

Well it is one of the last summerdays in The Netherlands, 25 degrees still outside at 9pm. I am going to sit outside with my wife and enjoy.

What wil you do?