What’s New in
Microsoft Dynamics NAV 2018
Microsoft Dynamics NAV is a complete enterprise resource planning (ERP) software solution for mid-sized organizations that is fast to implement, easy to configure, and simple to use. Right from the start, simplicity has guided, and continues to guide, innovations in product design, development, implementation, and usability.
This document details new features and functionality that are available in Microsoft Dynamics NAV 2018 and have been added to the product since Microsoft Dynamics NAV 2017.
What’s New for Application Users
The Setup and Extensions button provides a single place for settings. This new set of options has been added for the Business Manager and Accountant Role Centers. From the list of actions, you can open setup pages, either assisted or manual, and you can open setup pages for service connections and extensions. Third-party extension providers can add their actions to the list.
In the Manual Setup action group, each action refers to an area, such as General, Finance, and System. The row for each setup page has keywords allowing you to both search across setup pages and to filter the list to only see setup pages within a given area.
The new User Tasks allow you to create tasks to remind you of work to be done. You can create tasks for yourself and assign tasks to others or be assigned a task by someone else in your organization.
If you want to bulk delete all or some user tasks, you can use the Delete User Tasks report. In the request page, you can set filters to determine which tasks must be deleted.
Employee ledger entries
In general journal lines, there is a new account type and new balancing account type, Employee. Posting a general journal line with Employee as account type or balancing account type will generate an employee ledger entry. When posting a general journal line for an employee, the Document type field must be either blank or set to Payment.
You can also post payments against employees from payment journals. On payment journal lines, there is a new account type, Employee. You can use this account type to post a payment to an employee. You can apply payments to an employee ledger entry either via the Applies-to Doc. No. field on the payment journal line or by choosing the Apply Entries action on the employee ledger entry. You can un-apply payments from employee ledger entries. Do this by choosing the action Un-apply Entries on the employee ledger entry.
The Image Analyzer extension uses powerful image analytics provided by the Computer Vision API for Microsoft Cognitive Services to detect attributes in the images that you add to items and contact persons, so you can easily review and assign them.
- Contact persons - Recognize a person's gender, or age.
- Items -Identify attributes like type and color. For example, whether it's a table or a car, or red or blue. Image Analyzer suggests attributes based tags that the Computer Vision API finds with a confidence level.
After you enable the extension, Image Analyzer activates each time you add an image to an item or contact person. You'll see the attributes, confidence level, and details right away, and can decide what to do with each attribute.
Power BI reporting
Dynamics NAV provides Business Intelligence in the place and time you need it. With the new Power BI reporting control, you can gain awareness to your Power BI reports by making them visible from within the most highly-used lists in Dynamics NAV. Not only are you able to view Power BI reports you select, but you can also interact and filter the reports by selecting records from the associated list page.
If you use Azure Active Directory as your authentication method, connecting with Power BI is simple. No more manually finding and entering connection information. Just sign in with your Azure Active Directory name and password and we'll do the rest. During the sign in process, the Dynamics NAV connector will auto discover any tenants you are associated with and automatically create the connection to them. That's it!
Updated integration with Dynamics 365 for Sales
Connect to your Dynamics 365 for Sales solution in a few easy steps. The assisted setup helps you synchronize your data across the two apps, including sales orders, item availability, units of measure, and currencies. The existing integration with the app formerly known as Dynamics CRM has been rebranded and simplified to work better out of the box.
The connection setup guide now includes coupling of salespersons to users of Dynamics 365 for Sales as this is a prerequisite for any synchronization of data between Dynamics 365 for Sales and Dynamics NAV. The guide now allows you to run full synchronization when the connection has been set up. The synchronization runs in the background so that the user can continue working. From the Dynamics 365 for Sales Connection Setup window, you can open the Integration Synchronization Jobs window to check the progress of current synchronizations and to see detailed information about the number of records in Dynamics NAV and the number of records in the connected Dynamics 365 for Sales solution. When coupling records between Dynamics NAV and Dynamics 365 for Sales, the list of records is filtered using integration table filters. This allows you to see and couple only records that are eligible for synchronization. If you disable the integration with Dynamics 365 for Sales, all integration synchronization jobs are now disabled.
To streamline your marketing reporting, you can specify a salesperson/purchaser code for user accounts. When you create sales or purchase documents, the default salesperson/purchaser code is the one specified for your user account. To increase sales people's productivity in managing opportunities and to provide a more fluid experience for phone and tablet devices, you can set default chances of success in the sales cycle stages in opportunity management.
You can send a sales quote to a contact without having to create them as customers first. Filter exactly which contacts you want to export from a segment and send to a marketing agency. With contact profiling, you can create profiles for your contacts to help segment and classify contacts according to different profile attributes. You can then add these profiles, manually or automatically, by answering user-defined questions for each contact.
You can get sales orders from Dynamics 365 for Sales with write-in products transferred to Dynamics NAV. When transferring write-in products, you can map each product to a specific item or resource in Dynamics NAV.
Sales orders from Dynamics 365 Sales can be automatically converted to sales orders in Dynamics NAV without manual intervention. While transferring sales order from Dynamics 365 Sales, the Name field is transferred and mapped to the External Document Number field on the sales order in Dynamics NAV. Long product and sales order line descriptions from Dynamics 365 Sales are no longer truncated but are transferred to Dynamics NAV as additional sales order lines of type Comment. You can also transfer invoices in foreign currencies from Dynamics NAV to Dynamics 365 Sales.
Finally, the length of the connection string is extended from 250 symbols to almost unlimited and is now stored as a blob. This was made to handle strings with large parameter values, especially for OAuth. The connection string is now editable, not only for IFD and OAuth, but also for Office 365 and Active Directory.
Synchronize vendors with Lexmark ICS for better OCR results
Take advantage of vendor synchronization when using Lexmark ICS. This will improve the vendor recognition rate in the Lexmark ICS and allow manual selection of vendors when performing visual training of new invoice layouts.Vendor information including number, name, address, VAT registration, phone, and bank account data is transferred to Lexmark ICS when synchronizing.
Out of the box, synchronization is not enabled. It must be enabled in the OCR Service Setup window as shown in the following picture:
When enabled, all vendors will be synchronized at once to Lexmark ICS, and from then on, any changes to a vendor or vendor bank account will trigger a synchronization of those changes.
Preconfigured Excel reports
The Business Manager and Accountant Role Centers have a new option in the ribbon for Excel Templates. From the Excel Templates list, users can choose a preconfigured report that is ready to print from Excel.
Cancel or correct job related posted invoices
In earlier versions, it has been easy to cancel a posted sales invoice, such as if you made a mistake like forgetting to specify a discount or choosing the wrong dimensions. However, it was less straightforward to cancel invoices that you created based on planning lines of the type Billable. If you spotted a mistake, you had to open the Job Planning Lines page, add lines with negative values for the lines that you wanted to cancel, and then use the Create Sales Credit Memo action. In Dynamics NAV 2018, we've eliminated some of the steps. Now you just choose the Cancel or Correct actions on the posted invoice and a credit memo will be created. The job planning lines will be created automatically in the background. Remember, though, that you may need to review the planning lines later if you decided to modify a corrective invoice. You are not allowed to post corrections for jobs that have the status Blocked.
Posting setup improvements and missing posting notifications
You can now see a visual indication of mandatory G/L accounts that must be set to cover most of your scenarios related to specific posting setup. For example, in Inventory Posting Setup, you'll see the Inventory Account having mandatory asterisk, while in General Posting Setup, the Sales and Purchase accounts.
Open posting setup cards to see only accounts needed for features you've enabled. For example, if you don't have the payment discounts posting feature enabled, your payment discount G/L accounts won't clutter your view while setting up general posting.
A new smart algorithm suggests posting setup accounts on posting setup lists. Simply add combination of posting groups you want to set and click Suggest Accounts. The algorithm will analyze existing posting setup you already have and suggest G/L accounts from similar posting setup. You can however disagree with the suggestion and change it to fit your needs.
Better control of deleting posting setup has been added. If you have posting setup used somewhere, you can check to see if it is already being used somewhere by inspecting the Used in Ledger Entries field. You can also get notified while preparing a document that posting setup is missing which removes frustration at moment of posting.
Bulk posting of orders, invoices and credit memos
Are your sales going so well that you can’t process the avalanche of invoices fast enough? Is this luxury problem becoming a drain on resources? No worries, now you can process batches of orders, invoices, or credit memos in one go by choosing the documents, and then choosing Post selected.
Change global dimensions improvement
In earlier versions of Dynamics NAV, the Change Global Dimensions report posted one exceptionally large transaction that blocked all activities.
Now, the Change Global Dimensions report behaves as follows:
- The whole task is parallelized and executed per table in separate independent background jobs.
- Other users can work with read all data in tables that are not involved in the update of global dimensions. Note, however, that all changes to tables in the list are blocked until all of them are completely updated.
- Any failed task can be rerun from the place of failure. For example, if a failure occurs when 95% of the records are processed, the rerun task will finish the final 5%.
Intrastat reporting improvements
You can now indicate that you're required to prepare Intrastat reports and set the default transaction types for normal sales and purchases as well as sales and purchase returns to make your Intrastat reporting faster. Whenever you enter a document that must be included in your Intrastat report, Dynamics NAV uses the default transaction type values from the Intrastat Setup window.
Use the Intrastat Checklist report and see a visual indication of which Intrastat journal lines that contain errors that you must correct before submitting the Intrastat report. You will see the exact details of the error, and you can toggle Intrastat Journal lines to show lines with errors only or all lines.
Submission of EC Sales List with more than 9999 lines
You can now submit the EC Sales List report with more than 9999 lines. All you need to do is set a threshold on the number of lines in the VAT report configuration for the EC Sales List report. Set the Maximum No. of Lines field to 9999, and we've got you covered. When you submit such large EC Sales List reports, we'll generate messages and send them to the government gateway. You can see the results of the submission in the Log Entries window.
Posting directly to general ledger accounts from documents
If you need to add an additional fee or service of some kind to a sales or purchase document, but the item isn't in your item catalog, you can now add it on the fly in the document and post the revenue to the correct general ledger account from the document lines.
Enhancements for North America Electronic Funds Transfer (EFT) functionality
With Electronic Funds Transfer (EFT), you can pay vendors using electronic payments. You'll be able to modify the format that is used to create the EFT file to suit your needs. You can assign a file layout to each bank account, and then when EFT payments are processed, each EFT file uses the specified layout. The default layouts will include a PPD and CCD file layout. The existing support for EFT has been moved to the data exchange framework.
Address validation in the UK
The GetAddress.io UK Postcodes extension uses the getAddress API to find addresses in postcodes in the UK. To use the extension, you need to get a plan and an API Key for the getAddress API. That's easy, and we help you do that when you set up the GetAddress.io UK Postcodes extension. Plans are based on use, or what's sometimes referred to as calls. A call, in this case, is when Dynamics NAV displays a list of addresses in a postcode. Depending on how often you add addresses, choose the plan that is best for you. If you just choose Get API Key in the page, you'll use the Free plan, which lets you add 20 addresses per day, and is valid for 30 days.
Retrieve customer, vendor and contact name and address from VAT Registration Number [UK only] You can validate the VAT registration number of new customers, vendors, and contacts against the EC VAT VIES web service and get the name and address details from the web service response.
Migration from QuickBooks
You can now import payroll transaction files in the QuickBooks IIF format by installing the QuickBooks Payroll File Import extension. Aggregated payroll data, including date, payroll account, description, and amount, will be imported to your G/L accounts according to mappings that you perform once per payroll account. The extension also contains a sample payroll file that you can use to try out the functionality, for example, in a demo company.
Bulk invoicing from Bookings
For companies using the Bookings app in Office 365, we have added the ability to do bulk invoicing for bookings. The Uninvoiced Bookings page in Microsoft Dynamics NAV provides a list of the company's completed bookings. In this page you can quickly select the bookings you want to invoice and create draft invoices for the services provided.
Application user docs
The docs are available as part of Help Server, but they are also available online at the new Docs.microsoft.com site. The main entry page is here:
What's New for Developers and IT Pros
The following features and functionality for developers and IT professionals have been introduced since Microsoft Dynamics NAV 2017.
Changes to C/AL functions, data types, properties, and triggers
Dynamics NAV Server instance and application configuration settings for default language and supported languages
The Dynamics NAV Server instance configuration includes two new settings for controlling the Dynamics NAV client language:
- Default Language
Specifies which of the installed Dynamics NAV languages on the server instance will be used as the default language in the clients. For example, in the Dynamics NAV Web client, the Default Language setting determines the language that is used if the web browser's language setting does not match any installed language or a language in the Supported Languages setting. You set the value to a valid language culture name, such en-US or da-DK.
- Supported Languages
Specifies which of the installed Dynamics NAV languages on the server instance will be available for use in the clients. If you do not specify a language, then all installed languages will be available. In the client, users can switch among the supported languages.
The setting's value is a semicolon-separated list that contains the language culture names for each language. For example, if you want client users to be able to choose among da-DK, en-US, and en-CA, set the value to daDK;en-US;en-CA.
The Default Language and Supported Languages settings can be applied globally for the Dynamics NAV Server instance or on an application basis application bases, for which the application-specific configuration setting will override the server instance settings.
For the Dynamics NAV Server instance, you can change these settings by using the Dynamics NAV Administration Tool, the Set-NAVServerConfiguration cmdlet in the Dynamics NAV Administration Shell, or by modifying the server instance configuration file (CustomSettings.config).
For the application-specific configuration, you can use the Set-NAVServerApplicationConfiguration cmdlet in the Dynamics NAV Administration Shell, or by modifying the application-specific configuration file.
Change server settings without restarting the server
Some configuration changes to the Dynamics NAV Server can be done without a server restart. Use the Windows PowerShell cmdlet Set-NAVServerConfiguration. The scope for the SET operation can be one of the following:
The default scope is ConfigurationFile if nothing is specified.
Delayed delete of company data
Using the new Dynamics NAV Server instance configuration setting Enable Incremental Company Deletion, it is now possible to delay deletion of company data until a time when the server has resources to do this task. For the user, deleting a company will then appear as an instant operation.
After a company has been deleted by the user, it is no longer visible from C/AL. The server uses a system task in the task scheduler to perform the actual deletion of data.
It is possible to configure an interval of the day when the server is allowed to execute system tasks. The configuration settings to do this are called System Task Start Time and System Task End Time.
Profile display name shown on the Role Center is now based on the Role Center Page object's CaptionML The Profile display name that is shown on the Role Center is now based on the CaptionML property of the Role Center page object instead of the Description field in the Profiles table. This reduces the dependency on data and fixes, which makes it more reliable to display the Role Center name in the correct language.
Change the display name for a company
System table 200000006 Company includes a text data type field that has the name Display Name. This field specifies the text that displays for the company in the user interface of the client, such as on the top of the Role Center and list place pages. If the Display Name field is not specified, then the value of the Name field is used as the display name. This field does not apply to the Dynamics NAV Windows client.
Changing the company display name now has immediate effect on reports as well as displaying the company name in the UI of the client. A new C/AL function COMPANYPROPERTY.DISPLAYNAME has been added. The function returns a Text value for the company display name. Report datasets have been made backward compatible - layouts will not have to be re-done (the datasets now bind the CompanyName datafield to the new function instead of the previous CompanyName function). All reports have been updated to use the company display name instead of company name.
New MediaSet data type functions
The following C/AL functions have been added to the MediaSet data type for managing media on records:
- INSERT function - Adds a media object that already exists in the database to a media set of a record. For more information, see https://docs.microsoft.com/en-us/dynamics-nav/insert-function--mediaset-.
- REMOVE function - Removes a media object from a media set on a record. For more information, see https://docs.microsoft.com/enus/dynamics-nav/remove-function--mediaset-.
- ITEM function - Gets the unique identifier of a media object in a media set based on the media object's index number. For more information, see https://docs.microsoft.com/en-us/dynamics-nav/item-function--mediaset-.
SessionSettings data type
The SessionSettings data type enables you to get, set, and send the user personalization settings for the current client session. The data type supports the following new functions:
- COMPANY - Gets or sets the company in a SessionSettings object.
- INIT - Creates an instance of a SessionsSettings object that is populated with the current client user's personalization properties (such as Profile ID and Company) that are stored in the database.
- LANGUAGEID - Gets or sets the language ID.
- LOCALEID - Gets or sets the locale ID.
- PROFILEAPPID - Gets or sets the ID of an extension that provides a profile.
- PROFILEID - Gets or sets the profile ID.
- PROFILESYSTEMSCOPE - Gets or sets the profile scope which defines whether the profile is a sytem or tenant profile.
- REQUESTSESSIONUPDATE - Passes a SessionSettings object to the client to request a new session that uses the user personalization properties that are set in the object.
- TIMEZONE - Gets or sets the time zone.
ObsoleteState and ObsoleteReason properties on tables, fields, and keys
Table object, table fields, and table keys include the ObsoleteState and ObsoleteReason properties that are used to communicate to developers when a table, field, or key is or will become obsolete (deprecated), enabling them to adjust their application code accordingly.
The ObsoleteState property has three values: No, Pending, and Obsolete. No is the normal or default value. Pending indicates that the element will be obsolete in the future. This setting has no effect on the current use of the table, field, or key in code. Removed indicates that the element is marked as obsolete in the database. However, the element is not removed from the database, but references to the the element in code are only allowed in upgrade codeunits. The ObsoleteReason property is an informational, free-text field for describing why the ObsoleteState has been set to Pending or Obsolete and preferably with guidance about fields or tables that have replaced it.
Tenant management codeunit
Codeunit 417 Tenant Managment exposes several tenant settings to the C/AL developer through the following global functions:
- GetTenantId - Gets the ID that is assigned to the tenant.
- GetAadTenantId - Gets the GUID of the tenant in Azure Active Directory for the Dynamics NAV application.
- GetTenantDisplayName - Gets the display name of the tenant.
- IsSandbox - Returns true if the tenant is tagged for the Sandbox environment.
Consolidation of country- or region-specific functionality to W1
Many country- or region-specific features have been replaced by W1 functionality or moved to W1:
- UK deprecated features:
- System Calendars
- Accounting Periods
- Creation and export of BACS file
- Specify Supply Type on documents
- UK deprecated local reports:
- Shipped Non-Invoiced Stock o Received Non-Invoiced o Unposted Sales o Unposted Purchases
- Print Non-Invoiced Stock Report (same functionality provided through Shipped, Non-Invoiced Sales Orders view and Received, Not Invoiced Purchase Order view in W1)
- UK local reports moved to W1:
- Day Book VAT Entry
- Day Book Customer Ledger Entry
- Day Book Vendor Ledger Entry Personalization in the Web Client
Personalize your workspace directly in the browser! Personalization is now enabled by default for all. To get started, find the Personalize menu item under your sign-in avatar in the upper right corner. As you make changes, they are immediately saved and only seen by you, even if you sign into the browser or app from another device.
We've added the top requested features, including:
- Move, hide, or show a field on the page.
- Move, hide, or show a column on the page.
- Freeze columns to keep them visible while you scroll, just like in Microsoft Excel!
- Move or hide Cues.
- Move or hide parts, such as Factboxes or Role Center parts.
- Clear personalization from a page and start fresh.
- For IT administrators, we've also added the ability to deny personalization to groups of users from the Profile page, or clear personalization from all pages or a specific page for a user. Read more about personalization here.
Report preview in the Web Client
Until now, previewing a report in the Dynamics NAV Web client was only possible in Internet Explorer, but is now possible on all supported browsers.
You can preview a report directly in the client by choosing the Preview button on report request pages. This displays the report by using the new PDF Viewer control, which enables you to use your keyboard and mouse to navigate the report and download it to your computer.
The report preview in the Web client has been refurbished with a new design and additional features. It works with all supported browsers. You preview a report by choosing Preview on the report options page. A toolbar provides several features for working with the report, such as zooming in and out, downloading to file, and more.
Two new features include selecting text and panning:
- Select text - This feature lets you select one or more words, paragraphs, or rows in the report, and then copy and paste it somewhere else, like a page in Financials or a Microsoft Word document.
- Pan the document - This feature lets you move the visible area of the report in any direction, so you can view other areas. This is helpful when you have zoomed in to see details.
The Dynamics NAV Web server components now run on ASP.NET Core, the latest runtime technology from Microsoft. ASP.NET Core keeps Dynamics NAV on the latest and greatest technology to reach new heights in cloud scalability. The new web server components continue to power the Dynamics NAV Web client, Phone client, Tablet client, Outlook addins, and SharePoint apps. There is no change in functionality, behavior, or performance for users.
Administrators may experience differences in Dynamics NAV Administration Shell cmdlets. Instead of working with the web.config configuration file that powers most settings for a web server instance, you now use the navsettings.json file.
OData Version 4
With Dynamics NAV 2018, we add support for OData web services based on OData V4.
You can create bound actions on your OData V4 entities. Examples of these actions include creating an invoice from a quote and posting an invoice. To create these actions, you will create a new function and decorate it with properties that will expose the action on the OData V4 service and return results.
OData Relational Query Support provides the ability to include related entities inline within a single OData V4 response. For example: including sales invoice line information inline within the sales invoice header record's response.
Windows PowerShell cmdlet changes
There are several new and modified cmdlets in the Dynamics NAV Administration and Development Shells. For a full list of the changes, see https://docs.microsoft.com/en-us/dynamics-nav/changes-to-microsoft-dynamics-nav-cmdlets-fromprevious-release.
We have created an extensive application programming interface (API) library allowing third-party developers to create connected apps on the Dynamics NAV platform. The REST API layer is a set of standards-based web services providing an interface for building reusable integrations. The Dynamics NAV 2018 API includes 44 entities, providing access to business entities related to core financial functionality, such as company information, journal entry, customer and vendor management, sales and purchasing documents, and financial reporting.
The API provides a simplified representation of the underlying data structure, allowing developers to create apps without the need of a deep understanding of the Dynamics NAV data model and business logic. The aim is to enable developers to code against a static, highly-structured API, and make app changes on their own schedule. Microsoft is committed to add to the API and not break it from version to version. If a developer wants to change the API, we recommend that they copy the API pages and customize the copy. They might also want to publish to a different API endpoint in that case to avoid conflicts with the Microsoft API.
With this release, we have added the option to the Dynamics NAV Administration console to enable and disable the API endpoint. By default, the API endpoint is disabled. This enables administrators to explicitly choose to expose the new endpoints, rather than having them automatically exposed after an upgrade.
We have created standardized exceptions that are returned from the API platform, making it easier for developers to code around these exceptions
API page type
We have added a new page type, so you can design web service API endpoints.
Universal App on more devices
You can now run Dynamics NAV on more devices than ever!
With the latest universal app update for Windows, we've opened for running on holographic devices, such as Microsoft HoloLens, and also team collaboration devices such as Microsoft Surface Hub.
Windows 10 Continuum
Turn your phone into a desktop computer!
We've added support for Continuum, a Windows 10 feature that allows you to project your phone to your big screen and interact with keyboard and mouse through Bluetooth.
Connect your Windows 10 Mobile device to a desktop screen and watch the Dynamics NAV Universal App automatically switch to the desktop experience: As an alternative to the Web client, use Continuum to work on larger screens with keyboard and mouse.
Developer and ITPro Docs
We have moved the docs to the new Docs.microsoft.com site, which offers a far better experience than our temporary location on MSDN.
The Windows PowerShell cmdlet docs now publish to the same site as all other PowerShell modules here:
https://docs.microsoft.com/powershell/module/Microsoft.Dynamics.Nav.Management https://docs.microsoft.com/powershell/module/Microsoft.Dynamics.Nav.Model.Tools https://docs.microsoft.com/powershell/module/Microsoft.Dynamics.Nav.Apps.Management https://docs.microsoft.com/powershell/module/Microsoft.Dynamics.Nav.Apps.Tools