Microsoft Dynamics NAV and Microsoft Dynamics 365 Business Central (which, as mentioned in the preface, is an evolution of Microsoft Dynamics NAV that maintains the same functionalities and will be available both in the on-premise and SaaS releases), are Enterprise Resource Planning(ERP) systems that are specifically made for growing small to mid-sized companies.
This is, at least, what Microsoft's marketing department says. In reality, Microsoft Dynamics NAV is also being used by large and publicly-traded companies around the world.
An ERP is a piece of software that integrates internal and external management information across an entire organization. The purpose of an ERP is to facilitate the flow of information between all business functions within the confines of organizations. An ERP system is meant to handle all the functional areas within an organization on a single software system. This way, the output of an area can be used as the input of another area, without the need to duplicate data.
In this chapter, we will talk about Microsoft Dynamics NAV 2018, the last existing version with the name "NAV" and on-premise connected to Microsoft Dynamics 365 Business Central, which will disappear before the end of the year. We do this for reasons of continuity toward the past because this book was born to illustrate the implementation of Microsoft Dynamics NAV.
This chapter will give you an idea of what Microsoft Dynamics NAV is, and what you can expect from it. The topics covered in this chapter are the following:
- What is Microsoft Dynamics NAV?
- The functional areas found in Microsoft Dynamics NAV 2018
- A history of Microsoft Dynamics NAV, with a timeline of its features
- How to use Microsoft Dynamics NAV in different environments (Windows client, Web client, Universal App, SharePoint framework, Outlook integration, Web services, and so on)
- Development considerations: How Microsoft Dynamics NAV is developed
From the Business Central overview perspective, the following topics will be covered:
- From Microsoft Dynamics NAV to Microsoft Dynamics 365 Business Central (move from on-premise to cloud-based SaaS)
- The cloud model (ERP auto-updated system)
- Events and extensions
- The New Modern Development Environment
- Microsoft Azure services
Microsoft Dynamics NAV 2018 is a role tailored ERP. Traditionally, ERP software is built to provide a lot of functionalities where users will need to hunt down information. This is more of a passive approach to information, in which the user will need to go somewhere within the system to retrieve that information.
Microsoft Dynamics NAV works differently. The role tailored experience is based on individuals within an organization, their roles, and the tasks they perform. When users first enter Microsoft Dynamics NAV, they see the data required for the daily tasks they perform according to their role. Users belonging to different functions will have a different view of the system; each of them will see the functions they need to properly perform their daily tasks. Instead of users chasing down information, the information comes to them.
Here's an example of the main screen of the Microsoft Dynamics NAV 2018 Business Manager role. All the relevant information for business managers is displayed in activities and charts for fast reading.
The Microsoft Dynamics NAV 2018 (Windows client role) home page looks as follows:
Note that for Microsoft Dynamics 365 Business Central, the pictures are taken from the current release at the time of writing; these could have since changed (pre- and post-October 2018 release).
The Microsoft Dynamics 365 Business Central W1 on-premise (Windows client role) home page looks as follows:
The Microsoft Dynamics 365 Business Central on-premise and SaaS (Web client role) home page looks as follows:
- Financial management: Most of the functionalities from "off-the-shelf" accounting software can be found in this module. These functionalities include, but are not limited to, G/L budgeting, financial reporting, cash management, receivables and payables, fixed assets, VAT and tax reporting, intercompany transactions, cost accounting, consolidation, multicurrency, and intrastate.
- Sales and marketing: This module concerns those companies that want to track customer orders and determine when the items can be promised to be delivered to the customer. This area covers customers, order processing, expected delivery, order promises, sales returns, pricing, contacts, marketing campaigns, and so on.
- Purchasing: This module is required when you buy goods and services, and you want to keep track of what you have ordered from your vendors and when the goods should be delivered to your door, so you can make the stuff or ship the stuff to your customers. This area includes vendors, order processing, approvals, planning, and costing.
- Warehousing: Where are your items in your warehouse? This functional area answers this question for you. Under the warehouse area, you will find inventory, shipping and receiving, locations, warehouse bin contents, picking, put-aways, assembly, and so on.
- Manufacturing: The manufacturing area includes product design, bills of materials, routing, capacities, forecast, production planning, production orders, costing, and subcontracting.
- Job: This module is typically used for companies that deal with long and drawn-out projects. Within this job area, you can create projects, phases and tasks, planning, time sheets, work in progress, and similar.
- Resource planning: If your company has internal resources for which you keep track of costs and/or revenues, this module is for you. This area includes resources, capacity, and other tools to keep track of costs and revenues associated with resources.
- Service: This functional area is designed for a company that sells items to their customers that need to be serviced periodically, with or without a warranty. In this service area, you can manage service items, contract management, order processing, planning and dispatching, service tasks, and so on.
- Human resources: This involves basic employee tracking. It allows you to manage employees, absences, and so on.
These areas are covered in more detail in the next section of this chapter.
One of the best-selling points about Microsoft Dynamics NAV is that it can be customized. A brand new functional area can be created from scratch, or new features added to an existing functional area. All development is undertaken using the C/AL (Client-server Application Language) programming language (in versions preceding Microsoft Dynamics NAV 2018); now it's a hybrid development system. You can use C/SIDE (Client/Server Integrated Development Environment) and C/AL, and/or VS Code with an AL extension, to develop in AL.
When someone creates a new functional area, a vertical (a wide range of functions for a specific industry) or a horizontal (a wide range of functions that can be applied across an industry), they usually create it as an add-on. An add-on can be registered with Microsoft, for an appropriate fee of course. If some features are added to an existing area, usually it is a customization that will only be used on the database of the customer who asked for the feature.
Making add-ons (and Apps) available greatly enhances the base Microsoft Dynamics NAV functionalities to fit the needs of every industry and every business. The mode of development has evolved over time.
One thing that is unique about Microsoft Dynamics NAV is that the entire code is located on a single layer. Therefore, if you customize an area, you had to do it by modifying the standard code and adding code to the middle of the standard object definition. This made it a little tough to upgrade in previous versions of Microsoft Dynamics NAV. However, with the release of Microsoft Dynamics NAV 2018, code upgrades can be effected automatically using PowerShell (this feature does not only exist in Microsoft Dynamics NAV 2018; it has been available since Microsoft Dynamics NAV 2013 R2 and was refined in Microsoft Dynamics NAV 2015). We will dive into PowerShell later.
This was the old and unique development philosophy existing up to Dynamics NAV 2015, from the introduction of the extensions (which took place in Dynamics NAV 2016) it is possible (and recommended) not to change the standard code anymore but to develop extensions (apps) that extend the functionality without touching the source code; in this way you can easily install updates.
Microsoft Dynamics NAV is built upon a three-tier architecture:
- Microsoft SQL Server and Microsoft Azure SQL are the data tier and are used to store the data in a database.
- The Microsoft Dynamics NAV Server service is the middle or server tier, managing the entire business logic and communication. It also provides an additional layer of security between clients and the database, and an additional layer for user authentication.
- On the client tier, we will find Windows clients and the Web client. Microsoft Dynamics NAV 2018 also supports other kinds of clients, including Web services (both SOAP and OData v4.0), mobile tablets and phones with Universal App, a SharePoint online integration, the Office 365 native integration, and the Microsoft Dynamics NAV Application Server (NAS) service.
You can install Microsoft Dynamics NAV in more complex scenarios, as you can have multiple instances of any of the core components.
In Microsoft Dynamics 365 Business Central SaaS, only the Web client and the native mobile app exist, the infrastructure is cloud-based, the development environment is not different to Microsoft Dynamics NAV 2018 (with Microsoft Dynamics NAV, you have a hybrid development, and you can choose to use C/SIDE or VS Code, or both); however, it is possible to design extensions (applications) with Microsoft Dynamics NAV 2018 using the New Modern Development Environment. This new development environment (composed by Visual Studio Code and the Microsoft AL language extension) is used instead of the C/SIDE and C/AL environment, which could be deprecated in the near future, as it is already with just Microsoft Dynamics 365 Business Central.
We are not historians, but we thought that it would be important to know where we come from and where we are going. Some of the current restrictions or features can be better understood if we know a bit of the history of Microsoft Dynamics NAV. This is why we have added this section.
PC Plus (the father of Navision) was launched in Denmark and Norway in 1984 by the company PC & C A/S. PC-plus was a character-based (MS-DOS) accounting solution designed for the SOHO (short for small office/home office) market. Three years after its launch in 1984, the first version of Navision A/S was released.
In 2002, Microsoft bought Navision A/S and included it in the Microsoft Business Solution division. The product has gone through several name changes. The names Navision Financials, Navision Attain, and Microsoft Business Solutions—Navision, have been used to refer to the product that is currently called Microsoft Dynamics NAV. Note that all the previous names included the word Navision. This is why many people keep calling it Navision instead of NAV.
Prior to Microsoft Dynamics NAV 2009, the classic client was actually the primary end user interface before Microsoft revamped the user interface that we used to call Role Tailored Client (RTC) first, and currently Windows client.
One of the greatest technological breakthroughs with the original Navision was that the application programming objects, the user interface, and the database resided together, in a single file! Back in the late 1990s and early 2000s, no other software came close to having an efficient design like this.
This was the main menu for PC Plus 1.0:
This was the main menu for Navision Financials version 2.0:
We're now close to two decades away from 2000 and technology has changed quite a bit. Microsoft Dynamics NAV has been kept very up to date, with the latest technology that has the best impact on businesses. However, most of these improvements and updates are in the backend. This is an important reason why Microsoft Dynamics NAV has never faded into history. There were a couple of user interface improvements; by and large, however, it mainly looks and feels very much the same as before.
This is the main menu for Microsoft Dynamics NAV 5.0:
Then, something happened. With the rise of a company called Apple, people started paying more attention to the aesthetics and the overall interface of the technology they're using. People demanded not just powerful software with a strong backend, but they also wanted an elegant design with a simple and intuitive user interface.
Because of this shift in user perception, what was once the greatest innovation in accounting software since sliced bread had become not obsolete, but outdated.
When you put the old interface (called Classic Client) against some of the newer applications, even though the backend was light years ahead, the Classic Client was the ugly one. And we all know somebody who's made a terrible decision based only on looks, and not really what's inside.
So when Microsoft Dynamics NAV 2009 was introduced, the Role Tailored Client was released, which is the interface you see when you install Microsoft Dynamics NAV 2018 for end users. Microsoft Dynamics NAV 2009 was unique in that it allowed both Classic Client and RTC to coexist. This is mostly to appease the existing Microsoft Dynamics NAV gurus and users who did not want to learn the new interface.
In addition, in Microsoft Dynamics NAV 2009, classic reporting coexisted alongside report definition language client-side (RDLC) reporting. RDLC reports brought in a big change because the layout of the report had to be designed in Microsoft Visual Studio, outside Microsoft Dynamics NAV, in order to assimilate the advantages of SQL Server Reporting Services technology, while pages changed the way of developing the user interface.
This is what Microsoft Dynamics NAV 2009 in the RTC looked like:
Screenshot showing Microsoft Dynamics NAV 2009 in the RTC
At first glance, Microsoft Dynamics NAV 2009 and Microsoft Dynamics NAV 2015 do not look too different. You will have to understand, however, that there were significant user interface and usability changes. We can list these changes, but if you're not already familiar with Microsoft Dynamics NAV (or Navision), you will find this of little or no interest.
When Microsoft Dynamics NAV 2013 was released, the Classic Client user interface was completely removed. Microsoft basically renamed the Classic Client as Development Environment. For the foreseeable future, it looks like the Development Environment and the Windows Client environment will remain separate.
Now, we are at Microsoft Dynamics NAV 2018 and Microsoft Dynamics 365 Business Central, with tons of performance and usability enhancements, and the aspect is a bit different.
This is what the Microsoft Dynamics NAV 2018 Windows Client looks like:
And here are the Microsoft Dynamics NAV 2018 Web client and phone client:
A view of Microsoft Dynamics NAV 2018 Web client (left) and phone client (right)
Microsoft Dynamics 365 Business Central is the evolution of Microsoft Dynamics NAV (the name Microsoft Dynamics NAV might disappear shortly); it will be available in two versions: on-premises and SaaS. Microsoft Dynamics 365 Business Central is designed for the cloud.
The Microsoft Dynamics 365 Business Central web-based client appears as follows:
Recently, I went to some prospects who currently use old versions of Microsoft Dynamics NAV and want to upgrade to Microsoft Dynamics NAV 2018. I was asked to list and summarize the main features introduced in the various versions of Microsoft Dynamics NAV, starting with Microsoft Dynamics NAV 2009. Therefore, I decided to make a brief summary of the main features of Microsoft Dynamics NAV 2009, through to Microsoft Dynamics 365 Business Central.
The following diagram shows the Microsoft Dynamics NAV timeline with the best features of each NAV release, including Microsoft Dynamics 365 Business Central as is at the time of writing:
Let's have a quick look at the best technical and functional features:
- Microsoft Dynamics NAV 2009 (and R2): RTC , multitier architecture (first three release levels), Web services (with separate service), Zeta Doc Express integration, online payment services, new CRM integration, and tree map visualization.
- Microsoft Dynamics NAV 2013 (and R2): PowerShell, Admin Shell, multitenant, query, new model for dimensions, NAV Server multiport services configuration administration, NAV users (and multiple types of users), best charts, Web client, new NAS technology, SharePoint integration, single sign-on, rapid start services, .NET interoperability, help server, cash management, cost accounting, cache flow forecast, assembly management, SEPA v1.0, better service module integration, and inventory movements.
- Microsoft Dynamics NAV 2015: Print reports on job queue (On-Demand Scheduling), document reporting: Word layout, NAV Universal App, SEPA Direct, social listening support, Office 365 first full integration.
- Microsoft Dynamics NAV 2016: Workflow for developers (business and integration), Workflow for users, new approvals model (based on workflow), Events and Extensions, EDI (e-everything), Dynamics CRM native integration, Power BI, SQL Azure, deferrals, document management, incoming documents and OCR, currency exchange rates, new application test toolset.
- Microsoft Dynamics NAV 2017: Task Scheduler, Office 365 full integration, Embedded Power BI, Cortana Intelligence, setup and configuration (assisted by wizards), PowerApps and Microsoft Flow support, item workflow and item attributes and categories, Web client user experience, better SQL performance.
- Microsoft Dynamics NAV 2018: C/SIDE and VS Code development models, Microsoft Flow direct integration, Office 365 and contact interaction for Outlook, Extensions 2.0, API Library (for example, "Company" and so on), employee ledger entries, edit ledger entries in Excel, change global dimensions, IC (Intercompany)—automation of IC Outbox and IC Inbox, sales orders to purchase orders, direct transfer orders, user tasks, jobs improvements, Web client more customizable (design mode), Preview and Print from Web client, ODATA 4.0.
- Microsoft Dynamics 365 Business Central: This is the first release with a significant cloud impact! It facilitates utilization of all the features of Microsoft Dynamics NAV in the cloud, while still maintaining an on-premise version; currently available in two versions, on-premise and SaaS, with two licensing model; Essential and Premium. The SaaS version is exclusively used with a new Web client, an evolution of the Microsoft Dynamics NAV Web client, optimized for the user experience.
The core functionalities of Microsoft Dynamics NAV have not dramatically changed over the years. New functional areas have appeared and the existing ones still work as they did in the previous versions. In Microsoft Dynamics NAV 2009, Microsoft was focused on changing the entire architecture (for good), and Microsoft Dynamics NAV 2013 R2 is the consolidation of the new architecture, including multitenancy and Microsoft PowerShell support (a first step to the new cloud model). Microsoft Dynamics NAV 2016 is the first release with workflow and event integration. Microsoft Dynamics NAV 2018 enhances what was released with Microsoft Dynamics NAV 2016 and Microsoft Dynamics NAV 2017, including extension version 2.0 and the New Development Environment. All these architectural changes were made to bring Microsoft Dynamics NAV closer to existing Microsoft technologies, namely Microsoft Office 365, .NET, SQL Server, SQL Azure, Azure functions, Power Apps, Microsoft Flow, Microsoft Dynamics 365, Power BI, and Xamarin. In the meantime, the core functionality has not undergone a drastic facelift compared to the architecture.
Microsoft Dynamics 365 Business Central is the cloud evolution of Microsoft Dynamics NAV 2018, with the same core functionalities.
Microsoft has been adding small functional features and improving the existing functionalities with every new release. As you have seen earlier in this chapter, the basic Microsoft Dynamics NAV 2018 covers the following functional areas:
- Financial management
- Sales and marketing
- Resource planning
- Human resources
In Microsoft Dynamics NAV, the financial management area is the epicenter of the entire application. The other areas are optional, and their utilization depends on the organization's needs. The sales and purchase areas are also commonly used within a Microsoft Dynamics NAV implementation.
The screenshots will be based (where possible) on the Web client of Microsoft Dynamics NAV 2018, which is similar (only in appearance) to the Microsoft Dynamics 365 Business Central Web client. In reality, they are very different; Microsoft Dynamics NAV 2018 uses a first version of ASP.NET Core Web Client, while Business Central now supports an evolved user experience (UX) and has more capabilities than the Microsoft Dynamics NAV 2018 Web client (for example, headlines and breadcrumb, and many more).
The Microsoft Dynamics NAV 2018 Web client login page appears as follows:
Sales Order Processor role (Microsoft Dynamics NAV 2018 Web client) page appears as follows:
Departments menu (Microsoft Dynamics NAV 2018 Window client) appears as follows:
Sales Order Processor role in Microsoft Dynamics 365 Business Central appears as follows:
Note: As already mentioned, the images of the pages are related to Microsoft Dynamics NAV 2018 Web client, albeit very similar in appearance to Microsoft Dynamics 365 Business Central (as you can see). A number of images of Microsoft Dynamics 365 Business Central are also shown, as they were at the time of writing (these may have changed as a result of updates).
Now, let's take a closer look at each area.
As we said, financial management is the epicenter of Microsoft Dynamics NAV. Actually, accounting is the epicenter, and the general ledger is included inside the financial management area. What else can be found here? The following screenshot shows the main page of the
Financial Management department:
We'll provide a few details about each of these areas.
Accountancy is the act of recording, classifying, and summarizing in terms of money and the transactions and events that take place in a company. Accountancy is thousands of years old; the earliest accounting records, dating back more than 7,000 years, were found in Mesopotamia. The fact that it has survived this long must mean that it's important.
Nowadays, of course, we don't use the same accounting system, but it is interesting that accounting is useful in every single company, no matter how different it is to any other company. Probably the fact that keeping accounting records is mandatory in almost all countries helps! For one thing, you need them to figure out how much money you made so that you can pay your taxes.
Accountancy has its own language: accounts, credit amounts, and debit amounts. This language is managed through strict and clear rules such as generally accepted accounting principles (GAAP). Microsoft Dynamics NAV has implemented these rules using posting groups so that the system can translate everything to an accounting language and post it to the general ledger entries on the fly.
An important difference between Microsoft Dynamics NAV and other accounting systems is that you don't need to open an individual account for each customer, each vendor, each bank, or each fixed asset. Microsoft Dynamics NAV does not keep detailed information about them on the general ledger. Only one or a few accounts are needed for each group. This is something that shocks accountants when they use Microsoft Dynamics NAV for the first time. Then again, most accountants are easily shocked.
The general ledger part also contains G/L budgets. This feature allows you to create accounting budgets with different levels of detail. You can break the budget down according to different periods (day, week, month, quarter, year, or any accounting period), accounts (on single posting accounts or heading accounts), business units, or dimensions.
The budget can be edited inside Microsoft Dynamics NAV or can be exported to Excel, edited there, and then imported back to Microsoft Dynamics NAV. You can do multiple imports from Excel and the new entries can be added to the existing ones.
You can also create distinct budgets inside Microsoft Dynamics NAV and then combine them in a single budget. The following screenshot shows the main
Budget Matrix page:
After presenting the budget, you can find different ways of tracking it—either from the
G/L Balance/Budget Matrix page, from the
Trial Balance/Budget report, or from the account schedules defined by you.
The following screenshot shows the main
Budget Matrix page in Microsoft Dynamics 365 Business Central:
Account schedules are designed for the reporting and analysis of financial statements. If it were up to me, I would rename the function "Financial Statement Setup", but I'm sure someone higher up believes account schedules makes sense to the majority of the population.
Microsoft Dynamics NAV includes a number of standard statements, but the good thing about it is that you can modify the existing ones, or you can create new ones, in order to meet an organization's specific requirements.
Account schedules may consist of ledger entries, budget entries, or analysis view entries. Analysis view entries are used to summarize ledger entries by a period and a set of dimensions. You can also combine entries from these different sources into a single schedule.
You can also define what kind of information is shown in the rows and columns. Each column can show data from different periods so you can compare amounts over different periods. Account schedules are therefore a powerful tool that end users can use to create their own customized financial reports. The
ACC. SCHEDULE OVERVIEW window is displayed in the following screenshot:
ACC. SCHEDULE OVERVIEW in Microsoft Dynamics 365 Business Central page is displayed in the following screenshot:
You can create a bank account card for each bank account the company has. Whenever a transaction is made in Microsoft Dynamics NAV using a bank account, the system will post an entry in the bank account entry, plus a related G/L entry according to the bank posting group. The posting of bank entries is done from the cash receipt journal or from the payment journal. Other journals, including the general journals, may also be used.
It's recommended that you only set up bank accounts for the banks on which you do a full bank reconciliation. For banks that you don't reconcile, such as your money market account or investment accounts, you can just make the transaction on the G/L level.
The payment journal includes a
Suggest Vendor Payments action to help you decide what is to be paid.
Fixed assets have unlimited depreciation books that track depreciation expenses reliably. All the ordinary methods of depreciation are available, plus the ability to create custom depreciation methods is also available.
Fixed assets include two different journals: the FA G/L journal, and the FA journal. The FA G/L journal is used to post entries on the FA ledger entry and also a corresponding entry on the G/L entry. The FA journal is used only to create entries on the FA ledger entry. This means that, depending on your configuration, you may not be posting anything related to FA in the G/L entry. You therefore need to be careful and know exactly when to post on the G/L and when not to, but keep everything synchronized.
Value Added Tax (VAT) doesn't really apply to people doing business in those countries where VAT is not required, such as the United States. It is a transaction that is paid by the end consumer and business. In Microsoft Dynamics NAV, you can find a table called
VAT Entry, where all VAT transactions are recorded, mainly through purchase and sale invoices. In addition, the corresponding amounts are also posted on the accounts determined by its posting groups.
As in many other areas, VAT processes are mainly based on their own entries, not on the amounts found in the accounting areas.
A process named
Calculate and Post VAT Settlement helps you to post the G/L transactions for a VAT settlement. Dynamics NAV also includes VAT statements that are pretty similar to account schedules we discussed before. Therefore, you can define your own VAT statements that will help you to submit them to the tax authorities.
Intrastat is a mandatory reporting process for all European Union (EU) companies that trade with other EU countries/regions. Each company within the EU is responsible for reporting the movement of goods to their statistics authorities every month and delivering the report to the tax authority. In Microsoft Dynamics NAV, the intrastat journal is used to complete periodic intrastat reports.
The intrastat journal requires item entries to contain information related to tariff numbers, transaction types, and transport methods. The tariff numbers are assigned to each item card, while transaction types and transport methods are assigned to sales and purchase documents.
Sales tax is a tax that is only calculated and paid in relation to the sale of certain goods and purchases. Since the tax is applied during the point of sale, the seller will be the responsible party calculating and collecting this tax. Then, either monthly or quarterly, the seller gives the collected sales tax to the government.
There are four major components in sales tax that you will need to set up:
- Tax groups: This is the classification of goods and services that you sell to your customers.
- Tax jurisdictions: These are the different jurisdictions that you need to report sales tax to. In the United States, depending on where you sold the product, there may be up to seven jurisdictions you need to report your sales tax to.
- Tax area: This allows you to group the jurisdictions together so that it's a lumped percentage for all the jurisdictions you report to.
- Tax details: This is where you define to which jurisdiction you sell certain types of products and/or services, whether they are liable for sales tax or not, and at what percentage rate.
Intercompany postings are used to buy/sell goods and services between companies that are set up in your database. This function eliminates the need to enter purchase and sales orders manually in each of the companies where you buy and sell.
When company A creates a document that needs to be sent to company B, the following flow occurs:
- Company A creates the document and sends it to their IC outbox
- Company A sends all the transactions from their IC outbox
- Company B receives the transactions in their IC inbox
- Company B converts the IC inbox transactions to a document and processes it
A transaction can be sent to the partner's inbox directly if both companies coexist in the same database, or you can also send transactions by email or through XML files.
Consolidation is the process of adding up general ledger entries of two or more separate companies (subsidiaries) into a new company, called the consolidated company. Each individual company involved in a consolidation is called a business unit.
Note that we have only talked about adding up general ledger entries; no other entries on the system are used for consolidation purposes. In the chart of accounts of each business unit, you can indicate which accounts are to be included in the consolidation.
The consolidation process creates a summarized G/L entry on the consolidated company for the period you have selected while running the process, and for each account and combination of dimensions, if you choose to copy dimensions on the consolidated company. The consolidation functionality contains a process to help you register the consolidation eliminations.
Multicurrency can be used if you buy or sell in other currencies besides your local currency. You can assign currency codes to bank accounts and also to customers and vendors. You can also use multicurrency to record general ledger transactions in an additional currency (besides your local currency). The additional currency feature is very useful for international companies that need to report in a different currency to the one they use in their daily transactions. You can register exchange rates for each foreign currency and specify from which dates the exchange rates are valid. Each time you post a transaction in a different currency, a conversion is made to translate that currency amount into the local currency amount. All entries in Microsoft Dynamics NAV keep all the amounts in the transaction currency and the local currency in separate fields.
The adjust exchange rates process will help you to update the amounts of posted transactions to the new assigned rates. The following screenshot shows how the currency exchange rates are defined for the EUR currency:
To date, this functionality is the same in both Microsoft Dynamics NAV and Microsoft Dynamics 365 Business Central.
The sales area can be used to manage all common sales process information, such as quotes, orders, and returns. There are also tools to plan and manage different types of customer information and transaction data.
The following screenshot shows the main page of the
Sales & Marketing area:
Sales & Marketing area, everything revolves around customers. The customer card contains a lot of information, but only a few fields are mandatory in order to be used by the customer on transactions; they are the ones that correspond to the posting groups. All other fields can be filled or not, depending on how you want the sales area to work, as demonstrated in the following screenshot:
You can define a salesperson for the customer, to track the sales of each salesperson. You can set a credit limit for each customer so that you get a warning when you try to create a new order for the customer and the credit limit is exceeded. You can group your customers by price and discount groups to help you define prices. You can define different payment terms and methods. You can indicate how you are going to ship the goods to each customer, and you can also indicate a currency and language for the customer. Besides this, you can also create multiple bank accounts and credit cards.
Many times, a company establishes criteria to fill in all of this information. As an example, the company could have a norm that high-value customers will be part of a particular price group, will use specific posting groups, and will have particular payment terms. In this case, you can create as many customer templates as the defined criteria and apply a template each time a new customer is introduced to the system.
In the following screenshot, you can see all the fields that can be included in a
CUSTOMER TEMPLATE CARD:
The sales process can start with any of the previously mentioned documents, depending on the company's needs. In the following diagram, you can see the information flow through the documents. The documents with a gray background are the ones from where the process can start:
All the data from one document is carried forward to the next document. In addition, you can also create new documents by copying the data from any other sales document on the system.
In the previous diagram, the documents with a gray background are passed to the documents with the white background through a posting process, but posting routines can take a while to process.
Microsoft Dynamics NAV 2018 has a feature called background posting. If background posting is enabled, then data is put in a queue and posted later in the background. This allows users to keep working while the system posts their documents.
When you select a customer in a document, many fields from the customer card are copied to the document header. This is considered default data from that customer. You can change most of that data on a particular document.
The approval system (in Microsoft Dynamics NAV 2018, it is a part of workflow) allows a user to submit a document for approval according to a predefined hierarchy of approval managers, with certain approval amount limits. The approval of a document can be initiated by an email notification sent to the user. Similarly, reminders of overdue approvals can be also sent. Pending approvals can also be viewed from the
Order Processing menu.
The system allows you to create several approval templates where you can choose the document types to be included in an approval process and which approval and limit type are to be used for each document. Document amounts are the main criteria for including a document in an approval process. The different limit types that can be used are as follows:
- No limits: The document is included in the approval process, no matter how small or big the total amount is. It will then depend on the user setup.
- Approval limits: The document is included in the approval process if the total amount is greater than the amount limit.
- Credit limits: If a sales document that will put a customer over their credit limit is created, the document is sent for credit limit approvals. After this, amount approvals may also have to approve the document.
The following screenshot shows the
Sales Order Approval Workflow page:
The following screenshot shows how the
Approval User Setup and
NOTIFICATION SETUP pages appear:
To date, the functionality is the same in both Microsoft Dynamics NAV and Microsoft Dynamics 365 Business Central.
The pricing option allows you to specify how you want to set up sales price agreements. You can specify prices and discounts. Both prices and discounts can be for an individual customer, a group of customers, all customers, and for a campaign. You need to specify one price for each item. If no price is found, the last sales price of the item will be used. When a price agreement is created, you can specify whether or not VAT is included in the price. Sales prices and sales discounts are introduced in separate tables.
Microsoft Dynamics NAV always retrieves the best price. The best price is the lowest permissible price with the highest permissible line discount on a particular date.
In addition to specific item prices and discounts, you can also indicate invoice discounts or service charges. This can only be set up for individual customers, and not for a group of customers or a campaign.
When you create a sales document, a
Sales Line Details FactBox indicates how many
Sales Price and
Sales Line Discounts can be applied to the document.
You can see the details by clicking on each blue number found in the FactBox. The sales price worksheet will help you change and update your current prices.
The marketing functionality revolves around contacts. A contact can be a prospect that is not yet your customer, or your existing customer. Your company most likely does business with another company. And you're probably not the only person working at your company; the same can be said of the other company.
A contact is a way for you to keep track of all the people working at a particular company so you know who is working in what department.
You can create a contact and indicate their business relations. A contact can be related to customers, vendors, or bank accounts. You can categorize your contacts based on their industry groups or job responsibilities, or you can create your own profile criteria, for example, educational level, marital status, or hobbies.
The task management feature allows you to create and organize marketing campaigns. You can create to-do lists and link them to contacts and/or campaigns.
The opportunity management area allows you to keep track of sales opportunities, have an overview of what is in the pipeline, and plan ahead accordingly.
All of the interactions you do with your contacts are kept in the
Interaction Log. This is where you can see a history of all the interactions you've had with your contacts.
CONTACT LIST page looks like the following:
The purchasing area can be used to manage all the common purchase process information, such as quotes, orders, and returns. There are also tools to plan your purchases according to your company's needs.
The main page of the
Purchasing area is shown in the following screenshot:
We'll provide a few details about each of these areas, although most processes are similar to the ones we have discussed in the Sales and marketing section.
Purchasing area, everything revolves around vendors. Vendors' cards are pretty similar to customers' cards. Please refer to the Customers section of this chapter to see what you can expect from vendors.
Please refer to the Order processing subsection of the Sales and marketing section in this chapter to see what you can expect from order processing.
The approval system (which is a part of Workflow), as seen for sales, allows the user to submit a document for approval according to a predefined hierarchy of approval managers with certain approval amount limits. The approval system works as explained in the Approvals subsection of the Sales and marketing section of this chapter.
Besides the different limits explained before, the purchase approval system includes a new type of limit, request limits. By using the request limit in combination with the request amount approval limit, a purchase request process can be set up for internal purchases in the company.
The pricing option allows you to define purchase price agreements. It works similar to the pricing model of the Sales and marketing section of this chapter, with one difference. In the Sales and marketing section, we said that both prices and discounts could be set for an individual customer, a group of customers, for all customers, and for a campaign. In the Purchasing section, it can only be set for individual vendors.
If you purchase goods, the requisition worksheet can help to plan your purchases. You can manually enter items on the worksheet and fill in the relevant fields, or you can also run the
Calculate Plan Batch process. This calculates a replenishment plan for the items that have been set up with the replenishment system of purchase or transfer; for example, the program will automatically suggest an action you should take to replenish the item. It could be increasing the item quantity on an existing order or creating a new order.
You can also use the
Drop Shipment function to fill in the requisition worksheet lines. This function retrieves the sales orders that you want to designate for a drop shipment. You use
Drop Shipment when an item is shipped directly from your vendor to your customer. The system may sometimes suggest planning lines that need extra attention by the planner before they can be accepted.
Calculate Plan Batch job investigates the demand and supply situation of the item and calculates the projected available balance. The balance is defined as follows:
Balance = Inventory + Scheduled receipts + Planned receipts - Gross requirements
This also respects the minimum order quantity, the maximum order quantity, and the order multiple of each item.
The following screenshot shows how the
REQ. WORKSHEET page appears after you have run the
Calculate Plan Batch job:
When you have finished reviewing the suggested purchases, you can use the
Carry Out Action Message option to create new purchase orders and modify or cancel existing ones.
After the goods have been received and before they are shipped, a series of internal warehouse activities takes place to ensure an effective flow through the warehouse and to organize and maintain company inventories. Typical warehouse activities include putting items away, moving items inside or between warehouses, and picking items for assembly, production, or shipment.
The following screenshot shows the main page of the
Warehouse area, everything revolves around items. The item card contains a lot of information, but only a few fields are mandatory in order to be able to use the item on transactions: the base unit of a measure, and the fields corresponding to the posting groups.
You can create multiple units of measure. You can categorize your item using the item category code and the product group code. You can indicate a shelf number for the item. You can use different costing methods, namely FIFO, LIFO, average, and standard. You can indicate how the replenishment of a product is going to be done (we have seen it in the Purchasing section of this chapter). You can also set up a lot of other information about the item such as cross-references and substitutes.
One item can have multiple variants. This is useful if you have a large number of almost identical items, for example, items that vary only in color. Instead of setting up each variant as a separate item, you can set up one item and then specify the various colors as variants of the item.
As part of your warehouse management, you may need to use multiple locations. We will cover locations in the next section. If you use multiple locations, you can create stock-keeping units for your items. Stock-keeping units allow you to differentiate between information concerning an item at different locations. As an example, the replenishment system of an item may be different at different locations. Stock-keeping units also allow you to differentiate between information concerning two variants of the same item. Information on the stock-keeping unit has priority over the item card.
One interesting feature about the item property is item tracking. You can track an item by serial number, lot number, expiration date, or a combination of all of them. You can create different tracking codes and set them up with different tracking policies.
The following screenshot shows an
ITEM TRACKING CARD page:
These policies reflect where it is mandatory to track the item; for example, you may only need to track a lot of purchases, but not sales.
You can specify the location elsewhere in the program, for example, on purchase and sales documents. This will then record the transactions for the location when you post, and you will be able to track the item inventory and item value on each location.
You can specify an unlimited number of bins in each location. A bin denotes a physical storage unit. You can then use bins on put-away and pick operations so that you can know where a specific item is stored.
Transfer orders are used to transfer items between locations. The transfer order is a document similar to a sales order or a purchase order. The transfer order contains information about the source location, the destination location, and the date connected to the shipping and receiving of the order. An in-transit location must be used when working with transfer orders. The posting process of transfer orders is done in two separate steps, shipping and receiving.
Assembly is used to create a new item, for example, a kit combining components in simple processes. This can be seen as a small manufacturing functionality, but does not require the complexity of full manufacturing.
To use this feature, you need to define assembly items. An assembly item is an item defined as sellable that contains an assembly bill of materials (BOMs). Items can be assembled to order, or assembled to stock.
You can create assembly orders that are used to manage the assembly process and to connect the sales requirements with the warehouse activities involved. Assembly orders differ from the other order types because they involve both output and consumption when posting.
- Their type
- The type of actions that can be performed on the bin: pick, put-away, ship, and receive
- Their maximum capacity
- Their desired minimum capacity
With all this information, you can create pick and put-away documents that will tell you the following:
- Where to pick your inventory for shipment purposes
- Where to store your inventory when it is received
There are also documents to manage internal inventory movements, move inventory from one bin to another, and calculate the replenishment of pick bins.
Each single item card contains a field called
Inventory that specifies how many units of the item are in a location. Units are counted using the base unit of measure indicated on the item card. Microsoft Dynamics NAV automatically calculates the content of the field using the
Quantity field in the
Item Ledger Entry table. This means that every time a new
Item Ledger Entry record is created, for example, after posting a sales order, the inventory of the item is updated.
You can filter the
Inventory field so that its contents are calculated only on the basis of one or any combination of global dimension values, locations, variants, lots, or serial numbers.
An inventory is used in combination with other fields to know the availability of an item. Item availability can be shown by an event, a period, a variant, a location, the BOM level, and timeline. The following screenshot shows the
Item Availability by BOM Level page:
At least once in every fiscal year, you must take a physical inventory to see whether the quantity registered is the same as the physical quantity in stock. The physical inventory journals have been designed to help you during such a task, but an inventory is not only about units; it is also about the value of those units and their cost.
You can indicate different costing methods for an item. The choice determines the way a program calculates the unit cost. You can select any of the following costing methods: FIFO, LIFO, specific, average, and standard.
The system uses value entries to keep track of each item ledger entry's cost. One or more value entries can exist per item ledger entry. Every time you post an order, invoice, credit memo, and so on, the program creates value entries because all of these operations affect the item value. In addition, you can use the revaluation journal to change any item ledger entry cost. Some other concepts, such as freight or handling charges, may also affect the item value. You can use item charges to assign those charges to item ledger entries.
Manufacturing area is used to manage production. This involves the design and engineering work that will specify how and when items are handled, the components and resources that go into creating an end item, and the routing that define the process requirements of a given item that has been produced.
Manufacturing area also provides tools to schedule production activities, manually or automatically pull production components for consumption, record time consumption, post finished operations that do not qualify as finished output but as scrapped material, and so on.
The following screenshot shows the main page of the
Product design starts on the item card. You need to create one item card for each end item that you want to produce, and also one item card for each component that you need to consume to obtain the end product.
For each component, you have to specify whether you purchase it, assemble it, or produce it. You also need to specify whether you need to stock the component or whether you just need it when an order is made. You can specify all of this information on the
Replenishment tab of the item card, as shown in the following screenshot:
For items that need to be produced, you have to create a BOM. It is a listing of all the sub-assemblies, intermediates, parts, and raw materials that go into a parent item, along with the quantities of each component that is required.
Production BOMs may consist of several levels. You can use up to 50 levels. One production BOM always corresponds to one level. You have the option to copy the existing BOMs in order to create a new one.
The following screenshot shows the
PRODUCTION BOM for item number
You also need to define routings to show the production process. The routings form the basis for production planning and control. Routings include detailed information about the method of manufacturing of a particular item. It includes the operations to be performed and sequenced. You can also include information about tools, resources, and personnel and quality measures.
Routing is the basis of process scheduling, capacity scheduling, material requirement scheduling, and the production documents.
The program also supports the production of parts families, that is, the same or similar item can be manufactured with a single routing. A production family is a group of individual items whose relationship is based on the similarity of their manufacturing processes. Forming production families can optimize material consumption.
- Work centers
- Machine centers
These are arranged hierarchically and each level contains subordinate levels. You can assign various machine centers to each work center. A machine center may only belong to one work center.
The planned capacity of a work center consists of the availability of the corresponding machine centers and the additional planned availability of the work center.
The planned availability of the work center group is thus the sum of all the corresponding availabilities of the machine centers and work centers. The availability is stored in calendar entries. To work with capacities, you need to create several calendars as follows:
- Shop calendar: This calendar defines a standard work week according to the start and end time of each working day and the work-ship relation. It also defines fixed holidays during a year.
- Work center calendar: This calendar specifies the working days and hours, shifts, holidays, and absences that determine the work center's gross available capacity measured in time according to its defined efficiency and capacity values.
- Machine center's availability: In this calendar, you can define the time periods when machine centers cannot be used. The machine centers are not assigned their own shop calendar; the work center shop calendar is used. The calendar for the machine center is calculated from the entries of the assigned shop calendar and the calendar absence entries of the machine center.
- Resource capacities: Resources, such as technicians, have their own capacity. You can use work-hour templates that contain the typical working hours in your company; for example, you can create templates for full-time technicians and part-time technicians. You can use work-hour templates when you add capacity to resources.
The planning system takes all the demand and supply data into account, nets the results, and creates suggestions to facilitate the balancing of supply and demand. Another goal of the planning system is to ensure that the inventory does not grow unnecessarily.
The terms running the planning worksheet, or running MRP, refer to the calculation of the master production schedule and material requirements based on the actual and forecasted demands. The planning system can calculate either the Master Planning Schedule (MPS) or Material Requirements Planning (MRP) on request, or it can calculate both at the same time. MPS and MRP can be explained as follows:
- MPS: This is the calculation of a master production schedule based on actual demand and the production forecast. The MPS calculation is used for end items that have a forecast or a sales order line. These items are called MPS items and are identified dynamically when the calculation starts.
- MRP: This is the calculation of material requirements based on the actual demand for components and the production forecast of the component level. MRP is calculated only for items that are not MPS items. The purpose of MRP is to provide time-phased formal plans, by item, and to supply the appropriate item at the appropriate time in the appropriate location and in the appropriate quantity.
Several planning parameters have to be filled in for the item, or the stock-keeping unit and the manufacturing set up, in order to tell the system how you want to plan your supply. The planning parameters control when, how much, and how to replenish, based on all the settings. Some of the planning parameters are as follows: the dampener period and quantity, the quantity reorder policy and reorder point, the maximum inventory, and the manufacturing policy or combined MPS/MRP calculation.
Planning is affected by numerous additional factors, such as the planning horizon defined by the order and the end dates specified when you run MPS/MRP from the
Planning Worksheet or
Order Planning page.
The forecasting functionality is used to create anticipated demand; it allows your company to create what-if scenarios in order to plan for, and meet, demand. Accurate forecasting can make a critical difference to the custom levels with regard to promised order dates and on-time delivery.
The sales forecast is the sales department's best guess at what will be sold in the future, and the production forecast is the production planner's projection of how many end items and derived sub-assemblies will have to be produced during specific periods in order to meet forecasted sales.
An important part of executing production is to post the production output to a progress report and to update the inventory with the finished items. Output posting can be done manually, or it can be done automatically with the use of backward flushing. In this case, material consumption is automatically posted along with the output when the production order changes to finished.
You also have to post the scrapped materials and consumed capacities that are not assigned to a production order, such as maintenance work. You can use the output journal and the capacity journal respectively to perform these operations.
Finally, you need to put away the output of the production. You will perform your put-away task according to how your warehouse is set up as a location. The inbound warehouse request will inform the warehouse that the production order is ready for put-away.
In basic warehousing, where your warehouse location requires put-away processing, but does not receive processing, you use the put-away inventory document to organize and record the put-away of the output. In advanced warehousing, where your location requires both put-away and reception processing, you create either an internal put-away document or a movement document to put away the output.
Many manufacturing companies select a valuation base of standard cost. This also applies to companies that perform light manufacturing, such as assembly and kitting. A standard cost system determines an inventory unit cost based on some reasonable historical or expected cost. Studies of past and estimated future cost data can then provide the basis for standard costs. These costs are frozen until a decision is made to change them. The actual cost to produce a product may differ from the estimated standard costs.
Standard costs of the manufactured item may entail direct material costs, labor costs, subcontractor costs, and overhead costs. A batch job can be run to create suggestions to change item costs as well as the standard cost on a work center, machine center, or resource cards. After revising the suggested changes, another batch job will help you to implement them.
When a vendor performs one or more operational steps in production, subcontracting is a standard operational step in many manufacturing companies. Subcontracting may be a rare phenomenon, or an integral part of all production processes. Microsoft Dynamics NAV provides several tools to manage subcontract work:
- Subcontract work center: This is a work center with an assigned vendor (subcontractor). The subcontract work center can be used on a routing operation, which allows you to process the subcontracted activity. In addition, the cost of the operation can be designated at a routing or work center level.
- Work center cost based on units or time: This feature enables you to specify whether costs associated with the work center are based on the production time or a flat charge per unit. Although subcontractors commonly use a flat charge per unit to charge for their services, the program can handle both options: production time and flat charge per unit.
- Subcontracting worksheet: This feature allows you to find the production orders with the material ready to be sent to a subcontractor and also allows you to automatically create purchase orders for subcontract operations from the production order routings. The program then automatically posts the purchase order charges to the production order during the posting of the purchase order. Only production orders with a released status can be accessed and used from a subcontracting worksheet.
Job area supports common project management tasks, such as configuring a job and scheduling a resource, as well as providing the information needed to manage budgets and monitor progress. The jobs feature is meant to manage long-term projects that involve the use of man hours, machine hours, inventory items, and other types of usage that you need to keep track of.
Job Card page shows information about the job, such as the job number, job name, and information about job posting. There is one card for each job. In the old version of Microsoft Dynamics NAV, job tasks are showed on a separate page; now, the
Job Card page includes the
Job Tasks subpage as it happens, and an example for every sales and purchase document (with a header/lines page structure).
The following screenshot shows a
JOB CARD page:
You create tasks by adding job task lines, as shown in the following screenshot:
You have additional tools that help you to copy task lines from one job task to another. You can copy from a job task in the job you are working with, or from a job task linked to a different job.
The following screenshot shows an example of a job task's structure:
You can define each task that you have created for a job into planning lines. A planning line can be used to capture any information that you want to track for a job. You can use planning lines to add information such as which resources are required, or to capture which items are needed to fulfill the job.
For example, you may create a task to obtain customer approval. You can associate that task with planning lines for items such as meeting with the customer and creating a services contract.
For each planning line, you must define a line type, which can be
Both Budget and Billable. This is explained as follows:
- Budget (schedule): This line type provides the estimated usage and costs of the job, typically in a time and materials-type contract. Planning lines of this type cannot be invoiced.
- Billable (contract): This line type provides an estimated invoice to the customer, typically in a fixed price contract.
- Budget and billable (both schedule and contract): This line type provides a scheduled usage equal to what you want to invoice.
In addition, you can specify an account type and fill in information such as quantity. As you add information, cost information is automatically filled in; for example, when you enter a new line, the cost, price, and discount for resources and items are initially based on the information that is defined on the resource and item cards.
JOB PLANNING LINES page appears as follows:
You can track machine and employee hours on the project using time sheets. Using the jobs functionality will provide a good overview, not only of individual jobs, but also of the allocation of employees, machinery, and other resources being used in all projects. You can also use this functionality for many types of services and consultancy tasks.
Time sheets in Microsoft Dynamics NAV handle time registration in weekly increments of seven days. You use them to track the time used on a job, service orders, and assembly orders. In addition, you can use them to record simple resource time registration and employee absences. Time sheets can be set up, so an approval is required before you can post them to the relevant job journal.
To date, the functionality is the same in both Microsoft Dynamics NAV and Microsoft Dynamics 365 Business Central.
During a job's development, job costs such as resource usage, materials, and job-related purchases can accumulate. As the job progresses, these transactions get posted to the job journal. It is important that all costs are recorded in the job journal before you invoice the customer.
You may invoice the job as a whole, or invoice just the selected billable lines. Invoicing can be done after the job is finished or at certain intervals during the job's progress, based on an invoicing schedule.
If a job runs over an extended period, you may want to transfer these costs to a Work in Process (WIP) account on the balance sheet while the job is being completed. You can then recognize the costs and sales in your income statement accounts when it is appropriate.
You can also calculate the WIP evaluation for each task within the job, or for the job as a whole, using different calculation methods. Microsoft Dynamics NAV allows you to calculate the value of the WIP of your jobs. The calculation is based on the WIP method selected for the individual jobs.
The WIP process creates WIP entries in connection with the jobs. This function only calculates WIP; it does not post it to the general ledger. To do so, another batch job must be run; the job posts WIP to G/L. There are several WIP methods that you can use on your jobs:
- Cost value: This begins by calculating the value of what has been provided by taking a proportion of the estimated total costs, based on the percentage of completion. Invoiced costs are subtracted by taking a proportion of the estimated total costs, based on the invoiced percentage.
- Cost of sales: This begins by calculating the recognized costs. Costs are recognized proportionally based on the scheduled total costs.
- Sales value: This recognizes revenue proportionally, based on the total usage costs and the expected cost recovery ratio.
- Percentage of completion: This recognizes revenue proportionally, based on the percentage of completion, that is, the total usage costs against schedule costs.
- Completed contract: A completed contract does not recognize revenue and costs until the job is completed. You may want to do this when there is significant uncertainty about the cost and revenue estimates for the job.
The system also allows you to create your own job WIP method that reflects the needs of your organization.
Many companies use resource management to track the time and effort that is involved in providing services; for example, an employee may visit a site to talk with a customer about a project. This time and effort can be charged to the customer on a sales order.
Resource planning is integrated with jobs, services, and assembly orders. When resources are used or sold in a job, for example, the prices and costs associated with them are retrieved from the information set up in the resource planning area.
But before you can start selling services and jobs, or assigning resources to assembly projects, you must set up information about policy and pricing, which can be used in resource transactions. All pricing information is adjustable.
A lot of companies use the resource card to capture the sale of non-stock items and services. This will allow the data entry clerk to select from a list of predefined resources when they are entering a sales document, instead of going to and selecting from the
Chart of Accounts.
For most companies, an optimal assignment of resources is an important part of the planning and production process. The following screenshot shows the
RESOURCE CARD page:
You can base production and project planning on the availability and capacity of resources. Resources can also be included in bills of materials, job planning, and job costing. Resources can be integrated with the general ledger. Resources can also be posted using the documents in sales and receivables. Global dimensions can be used with resources.
You can invoice customers for sales that are composed of various resources. Resource costs can be calculated. You can use general ledger integration to post costs and revenues that are related to the sale of resources.
You can set up alternative costs for resources; for example, if you pay an employee a higher hourly rate for overtime, you can set up a resource cost for the overtime rate. The alternative cost that you set up for the resource will override the cost on the resource card when you use the resource in the resource journal.
To correctly manage resource activities, you must set up your resources and the related costs and prices. The job-related prices, discounts, and cost factor rules are set up on the job card. You can specify the costs and prices for individual resources, resource groups, or all the available resources of the company. For services, you can adjust pricing in the
Service Item worksheet.
A few batch jobs allow you to obtain resource price suggestions based on standard prices, or on alternative prices. You can then implement the price changes.
Providing an ongoing service to customers is an important part of any business and can be a source of customer satisfaction and loyalty, in addition to revenue. Managing and tracking a service is not always easy, but Microsoft Dynamics NAV provides a set of tools to help. These tools are designed to support repair shop and field service operations and can be used in business scenarios such as complex customer service distribution systems, industrial service environments with bills of materials, and high-volume dispatching of service technicians with requirements for spare parts management.
With these tools, you can accomplish the following tasks:
- Schedule service calls and set up service orders
- Track repair parts and supplies
- Assign service personnel based on skill and availability
- Provide service estimates and service invoices
In addition, you can standardize coding, set up contracts, implement a discounting policy, and create route maps for service employees.
In general, there are two aspects of service management:
- Configuring and setting up your system
- Using it for pricing, contracts, orders, service personnel dispatch, and job scheduling
The following screenshot shows the main page of the
A service item is an item that has been sold to a customer and then registered for a service. A service item has a unique identification number and can be linked to an item. You can assign a warranty to service items and specify the response time for their service. Service items may consist of many components.
Service items can be created automatically when you ship sold items, or you can create them manually. The following screenshot shows the
SERVICE ITEM CARD page:
When you have set up service items, you can register them in service orders and service contracts.
Servicing some service items may require specific skills. If this is the case, you can assign skill codes to the items to which these service items are linked, or to these service items directly. This way, when a service is scheduled for the item, you will be able to assign the proper resources to do the job.
Sometimes, you cannot repair a service item, but you can choose to replace it instead. Microsoft Dynamics NAV offers you a chance to replace it either temporarily or permanently.
One way to set up a service management business is to have standard contractual agreements between you and your customers that describe the level of service and the service expectations. You can set up contract templates, which you can then use to create standardized contracts for your business. In addition, you can set up a system to create quotes for services and to turn these quotes into contracts.
After you have set up the template, you can customize the resulting contract to keep track of service hours, or other items that may vary from customer to customer.
Contracts specify general information, which includes information about the serviced customer, the starting date of the contract, the service period, the response time, the bill-to customer, the invoice period, the annual amount, the prepaid and income accounts, price update specifications, and so on. A contract may include more than one service item.
You can also set up a system to keep track of contract status and view how gain and loss information about your contracts is being posted.
The price management feature allows you to apply the best price to service orders and to set up personalized service price agreements for customers. You can set up different service price groups, so you can consider the service item or service item group, in addition to the type of fault that the service task involves. You can set up these groups for a limited period of time, or for a specific customer or currency. You can use price calculation structures as templates to assign a specific price to a specific service task.
For instance, this makes it possible to assign specific items included in the service price in addition to the type of work included. This also makes it possible to use different VAT and discount amounts for different service price groups. To make sure that the correct prices are applied, you can assign fixed, minimum, or maximum prices depending on the agreements that you have with your customers.
Before adjusting the price of a service item on a service order, you are provided with an overview of what the results of the price adjustment will be. You can approve these results, or you can make additional changes if you want to have a different result. The entire adjustment is performed line by line, which means that there are no additional lines created.
The service price adjustment groups are also used to set up the different types of price adjustments. For example, you can set up a service price adjustment group that adjusts prices for spare parts, one that adjust prices for labor, another that adjusts prices for costs, and so on. You can also specify whether the service price adjustment should be applied to just one specific item or resource, or to all items or resources.
Each service price adjustment group holds information about the adjustments that you want to make to the service lines, as you can see in the following screenshot:
The service price adjustment function does not apply to service items that belong to service contracts. You can only adjust the service prices of items that are part of a service order. You cannot adjust the price of a service item if it has a warranty. You cannot adjust the price of a service item on a service order if the service line linked to it has been posted as an invoice, either in full or in part.
Service orders are created in the following instances:
- When a customer requests a service.
- Automatically by the program at the intervals defined in service contracts.
- When you convert a service quote to a service order. A service quote can be used as a preliminary draft for a service order.
Service orders and service quotes are composed of the following instances:
- Service header: This contains general information about the service, such as the customer, the contract related to the order, the service order status, or the start and finish dates.
- Service item lines: These contain information related to the service item, such as the service item number, its description, the serial number, or the response time.
- Service lines: These contain information about the service costs, such as spare parts (items) used on the order, resource hours, G/L account payments, and general costs.
You may lend customers loaner items to temporarily replace the service items that you have received for servicing.
After you have created a service order or service quote, registered service item lines, and allocated resources to the service items in the order or quote, you can start repairing and maintaining the service items.
The service task page gives you an overview of the service items that need servicing. You can update the information on the service items for each task, such as the repair status, or enter service lines for that service item.
When a customer brings in a service item for repair, you can assign a fault code to indicate the nature of the fault. The fault code can be used with the resolution code to determine the possible repair method to use. In the following screenshot, you can see an example of
FAULT CODES and
Depending on the level of fault reporting in a company, you might also need to register
Fault Area Codes and
The human resources feature lets you keep detailed records of your employees. You can register and maintain employee information, such as employment contracts, confidential information, qualifications, and employee contacts. You can also use the human resources feature to register employee absence.
To start using
Human Resources, you must set up employees and other basic information. You can also associate various codes with an employee, which allows you to filter information and view specific employees.
To use the human resources feature, you need to create employee cards. From the employee card, you can enter basic information about the employee. The following screenshot shows the
EMPLOYEE CARD page:
Linked to the employee card, you can set up alternative addresses, relatives, qualifications, and miscellaneous information where you can keep track of any information you want, for example, if the employee uses a company car. You can create as many miscellaneous articles as you need and link them to the employees.
The human resources application area is linked to the resources application area. So, when you update certain basic information about the employee (such as name, address, social security number, employment date, and other relevant information related to the employee), the program automatically updates the resource card for the employee.
You can register employee absences and assign different causes of absences. You can then see the information in various ways throughout the program and analyze employee absences. For example, you can compare your company's rate of absenteeism to national or industry-related averages for absenteeism.
A sudden increase in an employee's absences may reflect personal problems on the employee's part. With the
Employee Absence table, you can take note of these problems at an early stage.
Microsoft Dynamics NAV comes with some country/region local functionalities to address specific needs. Most of these local functionalities are related to tax registering and tax reporting, or are legal requirements for the country.
You will find a complete list of local functionalities for Microsoft Dynamics NAV at https://docs.microsoft.com/en-us/previous-versions/dynamicsnav-2016/hh922908(v=nav.90).
You will find a complete list of local functionalities for Microsoft Dynamics 365 Business Central at https://docs.microsoft.com/en-us/dynamics365/business-central/about-localization.
The workflow feature has been implemented in the application since Microsoft Dynamics NAV 2016. It enables you to model real-life business processes. It is defined as the movement of documents or tasks through a work process. Adopting workflow as a developer requires a move from functional code to "when-then" thinking.
The workflow topics are as follows: Workflow Templates and Designer, Workflow Model and Architecture, Approval and Notification Model, and Workflow User Group.
At present, it is also possible to create a workflow using Microsoft Flow, a new cloud platform dedicated to this management. In practice, it's possible to use both solutions; the Microsoft Dynamics 365 Business Central system works in the same way as Microsoft Dynamics NAV.
As we said earlier in this chapter, one of the benefits of Microsoft Dynamics NAV is that it can be customized. A brand new functional area can be created from scratch, or new features added to an existing area.
Many people and companies have developed new functional areas, or have expanded the existing ones, and have registered their solution as an add-on. This means that the standard functionality of Microsoft Dynamics NAV is much more extensive than the functional areas we have covered in this chapter.
Actually, you can find almost 2,000 registered add-ons or third-party solutions that cover all kinds of functional areas. To ensure the quality of the add-ons released for Microsoft Dynamics NAV, Microsoft has introduced the Certified for Microsoft Dynamics NAV logo for all add-on partners who have passed rigorous tests through a third-party testing company.
If a customer asks you for a major modification of their Microsoft Dynamics NAV, the best solution will probably be to look for an existing add-on that already covers your customer's needs. Implementing this solution usually consists of configuration and some limited custom development. On the other hand, if you choose to develop it all from scratch, you might find yourself with a lengthy, high-cost, and high-risk project.
In the past, Microsoft Dynamics NAV had a single client access. But technology has changed and evolved, and so has Microsoft Dynamics NAV. The release of Microsoft Dynamics NAV 2009 already brought two new ways of accessing the application: the RTC and SOAP Web services. Microsoft Dynamics NAV 2018 also brings new accessibility options: the Web client and Universal App, and several other types of integration clients. It has also removed the accessibility option, the Classic Client, although it has been maintained and converted for development purposes.
In this section, we will explain the different environments in which you can access the Microsoft Dynamics NAV 2018 application.
The Windows client is also known as the RoleTailored Client, or the RTC client. That was its name when the client was first released on Microsoft Dynamics NAV 2009. But Microsoft Dynamics NAV 2018 has the Web client, which is also a RoleTailored Client. So, we cannot call it the RoleTailored Client any more.
The Windows client is based on the individuals within an organization, their roles, and the tasks they perform. When users first enter Microsoft Dynamics NAV, they see the data needed for the daily tasks they do according to their role. Users belonging to different roles will have a different view of the system, each of them seeing only those functions they need to be able to perform their daily tasks.
For those of you who haven't used Microsoft Dynamics NAV 2009 yet, but who have had the opportunity to work with Microsoft Business Solutions NAV 4.0 or 5.0, you might remember how difficult it was at times to locate a specific feature in the jungle of the navigation pane. Switching back and forth between the specific menus in search of a menu item was a frustrating experience, especially for users performing tasks in several functional areas of the application. Unless you used shortcuts, accessing any feature required three or four clicks, provided you knew exactly where it was. The system also didn't do much to help users focus on what was needed to be done, and after you found the feature you needed, you typically had to spend extra time searching for documents or tasks that needed your attention. With the RoleTailored Client, the feature jungle was gone.
The Windows client allows users to widely customize the data they see on each page. They have the ability to personalize the pages according to their requirements by hiding, moving, and configuring parts contained on the pages, and also by saving queries, adding filters, and adding or removing fields. The ribbon can also be customized; you can add, remove, and rename actions, menus, and tabs.
The following screenshot shows what the
Role Center of the Windows client looks like.
Role Center is the main page of the client, and it is the first page a user sees when entering Microsoft Dynamics NAV (in this case, it is shown as the
Sales Order Processor role):
The Windows client supports many methods for authenticating users who try to access the Dynamics NAV Web client:
- Windows: This credential type authenticates users using their Windows credentials (Active Directory, local workgroup, or the local computer's users). Because they are authenticated through Windows, Windows users are not prompted for credentials when they start the Windows client.
- Username: This setting prompts the user for username/password credentials when starting the client. These credentials are then validated against Windows authentication by the Microsoft Dynamics NAV Server.
- NavUserPassword: This setting manages authentication by the Microsoft Dynamics NAV Server, but is not based on Windows users or Active Directory. The user is prompted for username/password credentials when they start the client. The credentials are then validated by an external mechanism.
The Microsoft Dynamics NAV Web client gives users access to Microsoft Dynamics NAV data over a network, such as the internet. From a web browser, users can view and modify data from a user-friendly interface that resembles the Windows client where the starting point is
Role Center. The
Role Center page can be customized according to a user's individual needs based on their role, company, and daily tasks. The Web client does not replace the Windows client, but complements it by enabling scenarios that are not possible with the Windows client.
The following screenshot shows what the role center of the Web client looks like:
The Microsoft Dynamics 365 Business Central Web client (Business Manager role) dashboard looks as follows:
Personalize your workspace directly in the browser. Today, it is actually possible to configure the Web client as you want (configured by the browser); it has become a desktop interactive whiteboard where you can customize almost everything.
Nowadays, it is possible to perform the following actions:
- Reposition the freeze pane
- Move and hide page parts
- Reposition or hide Cues and Cue Groups
- Use list parts on Role Centers
The Microsoft Dynamics NAV Web client shown here supports most of the features that the Microsoft Dynamics NAV Windows client supports; however, there are a number of exceptions and limitations:
The full list of the limitations can be found at https://docs.microsoft.com/en-us/dynamics-nav/feature-limitations-of-the-microsoft-dynamics-nav-web-client.
Personalization in Microsoft Dynamics 365 Business Central SaaS is not possible in production environments, only in Sandbox environments, as can be seen in the following screenshot:
Let's first talk about the tablet client. With Microsoft Dynamics NAV 2015, the tablet client has been introduced. This means that you can download an app to connect to a web server on your iOS, Android, and Microsoft tablet devices. The design of the tablet client is focused on how you usually hold the tablet—using both hands and holding it like a steering wheel. The design has been done so that you can navigate between screens in an easy way.
The tablet functionalities are based on the Web client. So, this means that whenever you modify something in a page, it will translate into the Web client and the tablet client. The following image shows Microsoft Dynamics NAV on three devices:
Image showing Microsoft Dynamics NAV can be used on three different devices
With Microsoft Dynamics NAV 2016, the Universal App has been introduced. This is a new product. With Microsoft Dynamics NAV 2016, the same app released for tablet has been enhanced to also support the phone experience. It could then be downloaded and deployed in tablet and phone devices in a universal way. Universal means that it supports most of the device universe, covering iOS, Android, and Microsoft tablets and phones; an app for every device, with Windows continuum technology supported.
When we talk about Universal App, we mean that it works on different devices, but that behaviors are different depending on the device, OS, and so on.
If we run the Universal App on a Windows computer with a keyboard attached, then it will show the Web client interface where print preview is available, and from preview direct printing too.
If we run the Universal App on a computer without a keyboard (in tablet mode), then print preview and the option to direct print are not available. Universal Apps only save as PDFs and print using the available viewer and printer; the same is true if we use other OSes or devices instead of Windows.
Where can I download the apps? The apps can be downloaded from some marketplaces (Microsoft Windows Store, Google Play Store, and Apple Store), as demonstrated in the following screenshot:
Downloading the Dynamics NAV app
Microsoft Dynamics NAV SharePoint integration (remote client) enables you to interact with Microsoft Dynamics NAV data from a Microsoft SharePoint website. By integrating with SharePoint, the Microsoft Dynamics NAV SharePoint client can use the business and administration features available in Microsoft SharePoint, including workflows, business connectivity services, workspaces, SharePoint authentication, and scalability.
Working with Microsoft Dynamics NAV pages and reports in the SharePoint remote client is very similar to working with pages and reports in Microsoft Dynamics NAV Windows client, or Microsoft Dynamics NAV Web client. The Microsoft Dynamics NAV SharePoint client is designed for occasional users who typically need an overview of their daily work status and perform relatively straightforward or light data entries:
The Cronus Company Team Site dashboard view
Microsoft Dynamics NAV provides Web services, which makes it easy for other systems to integrate with Microsoft Dynamics NAV. Web services allow you to expose the business logic of Microsoft Dynamics NAV to other environments.
Web services are a lightweight, industry-standard means of making an application's functionality available to a wide range of external systems and users. Microsoft Dynamics NAV 2018 supports the creation and publishing of Microsoft Dynamics NAV functionality as Web services. You can expose pages, code units, or queries as Web services and even enhance a Web service page with an extension code unit. When you publish Microsoft Dynamics NAV objects as Web services, they are immediately available on the network.
Developers can publish two types of Web services from Microsoft Dynamics NAV objects:
- SOAP Web services: You can publish either Microsoft Dynamics NAV pages or code units as SOAP services.
- OData Web services: You can publish either pages or queries as OData services. The OData protocol offers new and flexible opportunities for interacting with Microsoft Dynamics NAV data. For example, you can use OData Web services to publish a refreshable link to Microsoft Dynamics NAV data that can be displayed in Microsoft Excel using Power Pivot or in SharePoint.
Three different objects can be exposed as Web services:
- Page Web services: When you expose a page as an OData Web service, you can query that data to return a service metadata (EDMX) document or an AtomPub document. When you expose a page as a SOAP Web service, you expose a default set of operations that you can use to manage common operations such as create, read, update, and delete. For SOAP services, you can also use extension code units to extend the default set of operations that are available on a page.
- Code unit Web services: Currently available only for SOAP Web services, code unit Web services provide you with maximum control and flexibility. When a code unit is exposed as a Web service, all the functions defined in the code unit are exposed as operations.
- Query Web services: When you expose a Microsoft Dynamics NAV query as an OData Web service, you can query that data to return a service metadata (EDMX) document or an AtomPub document.
In Microsoft Dynamics NAV 2018, you can use the Microsoft Dynamics NAV Development Environment (C/SIDE plus C/AL) or the New Modern Development Environment (VS Code plus the AL Language Extension) to develop Microsoft Dynamics NAV applications. The Microsoft Dynamics NAV Development Environment, which was also an end user client in the earlier versions of Microsoft Dynamics NAV, was formerly known as the Classic Client. The New Modern Development Environment is a completely different system—modern and open source, based on VS Code (Visual Studio Code).
When you open the Old Development Environment, the
Object Designer opens, which gives you access to Microsoft Dynamics NAV objects. You can use the Object Designer to modify the application or to create new application areas.
The following screenshot displays how the C/SIDE appears:
Screen showing the appearance of C/SIDE
- Events: This is a new model to help you create safe, upgraded extensions to Microsoft Dynamics NAV and in Microsoft Dynamics 365 Business Central. It is designed for cloud, multitenancy, and repeatability, which will enable developers to change behavior and add functionality without explicitly modifying source code (Microsoft gives developers a pre-built way to add customizations). It's a modern programming style in terms of C/AL Style; an event is like an integration point, or "hook", into Microsoft Dynamics NAV.
- Extensions: This is the correct way for you to think about developing, packaging, and delivering, and is a modern development approach. An extension is put together using the code the developer has written using the events. The extension wraps up all of that code and puts it into a package that you could just click on and install. Only code that has been written in one of the events can be part of the extension; we are currently at extensions version 2.0.
You can extend and customize a Microsoft Dynamics NAV deployment without modifying the original application objects. With extension packages, you install, upgrade, and uninstall functionalities in on-premise or SaaS deployments. Customers can easily add or remove horizontal or customized functionality to/from their solution that upgrades much easier than past solutions.
For more information, you can visit the following URLs:
The New Modern Development Environment is made up of VS Code and a Microsoft AL Language extension. The New Modern Development Environment has become necessary to modernize the system and allows the creation of applications in a parallel layer, so that the system can update itself since the standard is not modified. The Microsoft AL Language extension is the new tool to develop extensions. You can learn more at https://github.com/Microsoft/AL.
The following screenshot shows how the New Modern Development Environment appears:
New Modern Development Environment screen
Microsoft AL is the new language based on Extension 2.0 and is itself an extension. It can be installed from the Microsoft Dynamics NAV 2018 DVD or directly from the Microsoft Store.
The installation is different for the two technologies. In practice, it is installed in different ways:
- For Microsoft Dynamics NAV 2018, it is installed from the DVD. You can take a look at this post for more details: https://saurav-nav.blogspot.com/2018/03/al-installing-al-with-microsoft.html.
- For Microsoft Dynamics 365 Business Central, it is installed from the Microsoft Store or directly from VS Code. You can take a look at these posts for more details: https://marketplace.visualstudio.com/items?itemName=ms-dynamics-smb.al, and https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-get-started.
The following screenshot shows the Microsoft AL Language Extension installed from VS Code; search for
- Old Development Environment: C/SIDE, Object Designer, FOB, and TXT Objects
- New Modern Development Environment: VS Code, .APP Objects (extensions only)
The following diagram also demonstrates this comparison:
As previously mentioned, whatever you change in the development environment will be reflected in all of the different clients; this significantly reduces the development time to deploy changes to your clients.
The Microsoft cloud model is composed of a series of services, designed specifically for the cloud. All these applications and services can interact with one another, creating a dense network of services and opportunities. Every year, new services are launched, and now the offer is very wide and diversified.
Microsoft cloud services are as follows: Azure, Azure Services, Azure IoT, Power Apps, Office 365 Suite, Cognitive Services, Cortana Intelligence, SharePoint, Power BI, Microsoft Flow, Microsoft Dynamics 365, and Microsoft Dynamics 365 Business Central.
Microsoft Dynamics 365 Business Central (DYN365BC) connects business processes to help SMBs grow sales, manage finances, and streamline operations. It is designed as a true multitenant public cloud service (SaaS) running on Microsoft Azure. Customers can access the service on the web using Web client, or apps for Windows, iOS, or Android devices (https://www.microsoft.com/en-in/p/microsoft-dynamics-365-business-central/9nblggh4ql79?rtc=1&activetab=pivot:overviewtab).
Microsoft Dynamics 365 Business Central enables customers to upgrade their accounting software and legacy ERP systems with a single, comprehensive solution to manage core business processes across finances, operations, sales, and customer service. Along with its new capabilities, the application will include an all-new user experience so it is easy to get started with a familiar Microsoft Office 365 user interface, personalized feeds, and smart notifications.
Microsoft Dynamics 365 Business Central is based on the Microsoft Dynamics NAV platform and several other Microsoft services. Microsoft Dynamics 365 Business Central will present the full functionality of Microsoft Dynamics NAV under two different offerings (licensing model):
- Financial management
- Supply chain
- Human resources
- Project management
- Premium (this covers essential, plus the following two additions):
- Service management
Microsoft Dynamics 365 Business Central's appearance is as follows:
Appearance of Microsoft Dynamics 365 Business Central
In this chapter, we have seen that Microsoft Dynamics NAV is an ERP system targeted at small and medium-sized companies; Microsoft Dynamics 365 Business Central is the on-premise and SaaS evolution of Microsoft Dynamics NAV. In the next version of Microsoft Dynamics NAV, it will be called Microsoft Dynamics 365 Business Central on-premise, or something connected to Microsoft Dynamics 365 Business Central, but no longer "NAV".
Microsoft Dynamics NAV is focused on roles and their daily tasks, and offers solutions in different functional areas including financial management, sales and marketing, purchasing, warehousing, manufacturing, job, resource planning, services, human resources, and add-ons created by partners. We have described each functional area so that you know what to expect.
Microsoft Dynamics NAV can be used in different environments, such as the Windows client, the Web client, the Tablet Client, the Universal App, the SharePoint integration feature, or an external application that connects to Microsoft Dynamics NAV via Web services. The development environments are used to develop new features on top of Microsoft Dynamics NAV.
In the next chapter, we will cover the new features released with Microsoft Dynamics NAV 2018 in detail.