Unitfly Toolkit for M-Files logo color

Business case: Integrating M-Files with Microsoft Dynamics NAV

If you have done at least one implementation of Content Management platform you know that it is almost impossible to have it implemented successfully without integrating it with other systems. In today’s IT landscape, having an “island solution” means you have probably brought more problems to end-users rather than solution that will help in everyday work.

Quite often, you have to integrate M-Files with CRM and/or ERP to support connecting unstructured and structured content. In order to bridge this gap, the architecture of your solution needs to support integration of different information set among different solutions. Here is how we integrated Microsoft Dynamics Navision and M-Files.

Business Case: Issue an invoice in Navision based on Contract in M-Files

The case we had was very logical from the business point of view. Customer wanted to manage all contracts in the M-Files while ensuring that, for invoicing, critical information from contracts are synchronized with Microsoft Dynamics Navision. As Navision had important lists like partners, addresses and similar, integration of value lists had to be achieved in the opposite way.

All the information from M-Files to Navision had to be synchronized once the user confirms that everything in the M-Files has been defined correctly.

M-Files Microsoft Dynamics NAV integration with SQL

There are couple of ways how you can integrate external systems with M-Files, usually using database in the middle or using M-Files REST API. M-Files also does support connecting to the database and synchronizing information from SQL. Microsoft Dynamics NAV also supports reading/writing the entities in the SQL database as well as Web Service integration.

Using REST API/Web Service for integration between M-Files and Microsoft Dynamics NAV would mean that both sides need to know how to work with specifics of each platform and that the final result would be tightly coupled integration. The level of customization, learning curve and final result were not good enough for achieving this integration.

As we had to synchronize entities between both systems (meaning for some NAV is source of truth, for some is M-Files), the database in the middle was the best choice.

M-Files NAV integration with SQL

When built-in M-Files SQL integration is not sufficient – use Extension Kit for M-Files

In a lot of cases, M-Files’s built-in possibility to configure either one-way or two-way synchronization with the SQL database is sufficient. But there are cases (like this one) in which it is simply not enough to map M-Files property to a column in the database. More specifically here, as data model in the database needs to fit both M-Files and Microsoft Dynamics NAV, some data cannot be just mapped 1:1. For that purpose in these kinds of scenarios, writing a stored procedure that receives some parameters is the right way to go. The stored procedure does the needed data operations on an SQL level, and in the end, stores information in the right format in the database.

But how can you call the stored procedure from the M-Files?

Of course, you can write VB script / custom VAF application but with the Extension Kit you don’t have to write a single line of code. By using SQL Integration module, you can easily define that whenever users make a change in the Contract, all relevant information are passed as stored procedure parameters and stored in the database:

configuration of NAV - M-Files with SQL module in Extension Kit

Call Web Service when object enters specific state in M-Files workflow

Another, equally important part of this integration was to call the Microsoft Dynamics NAV Web Service when contract is completed. In order to do that, specific SOAP over HTTPS request had to be made with predefined XML in body of that request.

Even though this sounds like a complex task based on supported functionalities in the M-Files, by using Extension Kit for M-Files this can be configured in a couple of minutes. Extension Kit supports defining the dynamic XML body and passing properties from M-Files object using dynamic placeholders like %PROPERTY_{PD_Mfid}%

configuration of NAV - M-Files with SQL module in Extension Kit

Complex integration achieved with zero coding

Even though it might sound scary to achieve integration between M-Files and Microsoft Dynamics NAV by using both database in the middle and Web Service, the whole case was well supported with the Extension Kit for M-Files. By using Extension Kit’s trigger-action mechanism we easily achieved that the right information are sent at the right time.

Both SQL Integration and HTTP integration modules support very advanced functionalities when it comes to integration of M-Files with other systems and it is technically the best way to ensure M-Files perfectly clicks with existing systems.

Schedule a consultation

Let’s talk about the ways we can help your business thrive. 

Your one-stop hub for Unitfly Toolkit for M-Files!

Unitfly Toolkit Community is live!

News and updates on our products • Frequently asked questions • Support page