15 Microsoft Ignite not-to-miss non-Dynamics Session

A few years ago, and earlier, every time when I attended some conference I’ve chose the topic I’m familiar with. For example, probably in 95% of my time I attended Dynamics NAV sessions or something very close with it.

But in the last few years I changed my attention to very different sessions. In these times, everything is different, and everything is changed. Now if you want to survive in your ERP or CRM world, you need to learn a lot of different topics outside of your primarily interest. Solutions are more and more connected and now nobody want to buy i.e. ERP, but they want to buy completely solution… and if you want to provide it, you have to me familiar not only with ERP, but with IoT, AI, ML…

Because of that, I want to write a small recommendation not-to-miss sessions for all Dynamics ERP or CRM experts on this Microsoft Ignite. As Microsoft Ignite will start in a few days (September 22-24, 2020) and registration is free of charge, be sure you registered and try to attend the following sessions:

Of course, there are a lot of other Dynamics topics and I can suggest watching sessions about solutions you don’t implement. You will expand your knowledge and in this era it is very important to know how to choose what to and when to implement; when to customize and when to integrate… Of course, this is just my opinion and prediction… if you think differently, do as you think. Definitely, try to enjoy this virtual event.

Business Central API’s and Available Methods

If you use API’s in Business Central, probably you found some limitations in methods, depending on API to API. Sometimes you can do more, sometime less. For example, with Accounts you can use only GET method (I still don’t understand why?), and so on…

You can find details about all of them here, but I prefer to have everything on one place as it will be easier to decide if I would use standard API or eventually I need to create the custom one. Because of that, I’ve made this matrix with all standard API’s and methods you can use with them:

Except these limitations, it would be nice to know that you have some other limits as well and they are important if you want to use API’s in some solutions. Even if those limits are high, they are still limits. For example, you can have maximum 600 requests per minute in production environment and 300 in sandbox. Complete list of limits is here.

And what is also important? If you are using those API’s through Power Platform (or Logic Apps) connectors, you should understand their actions and parameters. All details can be found here, but there is a table for better understanding:

It is important to mention that all that information are subject of change.

Business Central OnPrem vs Azure vs SaaS

A few last months constantly I see misunderstanding what Business Central SaaS offering is. To be honest I thought it is all well known, but often it is not a case. Because of that, I’ve readjusted standard IaaS vs PaaS vs SaaS chart and made it applicable to Business Central. I think this chart speaks for itself, but if someone needs additional info, you can send a question and I’ll add details.

Just to be clear, on the top level where we have Company Data, I think on using BC as a system through UI or API’s. That means you are master of your data. You need to be sure how you enter and post your documents. But if we talk about configuration of system, mostly it will be done by your partner, but again this is your decision (as customer) to find trusted partner to work with.

As this chart cannot offer completely picture, I’ve added one more. First one was all about technology, but the next one is about licensing and what is included in system.

*) One thing maybe not 100% clear from this chart is infrastructure subscription if you are using BC on Azure (IaaS model). If you want to use Business Central deployed on Azure infrastructure (no SaaS), you can use a few different models. First you (as customer) can have your own infrastructure (1 VM, 2 VM’2, or VM + Azure SQL). The second, you (as customer) can use partner infrastructure and in this case you can dedicated hardware or services to you (as if you use your own) or you can use shared resources (more cost effective). In this case, middle tier can be used for more clients, as well as Azure SQL database can be added to Azure Elastic Database Pool and to get better performances and better cost. You can find ideas how to make it here (and this is important especially if BC SaaS is not available in your country). And one more thing… if you are using model BC on Azure, cost for OS and SQL Server is included in HW Subscription.

I hope it is now far clearer, but again if you need any additional detail, just send a question.

How to integrate Business Central with Dynamics 365 Talent – part 3 (inserting data with LogicApps)

The last days of the previous year, I’ve started with blog series how to integrate Business Central with Dynamics 365 Talent (now Dynamic 365 Human Resources). I wanted to show how to integrate these two solutions without code, using only available services.

I’ve started with the first post, with an overview and then continue with the second one where I explained how to configure both solutions. Now I would like to continue with the third part where I’ll explain integration tools we can use.

Generally, you can use Flow (Power Automation) or Azure Logic Apps. Personally, for this purpose I prefer Logic Apps. There are many reasons for this, and I’ll show the basic comparison between these two solutions:

I don’t want to say Flow is not good solution as I enjoy in using it, but for this purpose (integration) I think Logic Apps is much better choice.

To use Logic Apps, first you must have an Azure subscription. When you open an Azure portal, you can easily find Logic Apps using a search feature. Create a new Logic Apps using Add command.

If you already used Microsoft Flow, you will find that Logic Apps are very similar, but as this is on the first place Azure service, you have to make some basic configuration as a choosing a service Name, what Subscription you want to use, Resource Group and Location for your service.

Then you just need to click on Create and wait a few seconds. If you still don’t see new service, probably you need to hit Refresh and new service will appear. When a new service is created, you need to open it and start creating a flow. System will open Logic Apps Designer and you can start with a Blank Logic App button scrolling little bit down (if this is your first time with Logic Apps, I can recommend to look the introducing video before you start). Do not forget that you need to have already deployed Business Central and Talent and created Talend entities in CDS (check in PowerApps with Data tab).

On the first sight you will see it obviously look like very similar as Microsoft Flow (Power Automation). First you need to start with a trigger, and as there is not trigger for Talent, you need to find ‘Common Data Service’ trigger – ‘When a record is created’. Yes, the first Logic App will be for inserting new data, but to complete this process, minimum necessary will be to make a Logic App for update as well.

Now you need to sign in to create a connection to Common Data Service. You will use credentials you used for Talent and CDS. When you finish with signing in, choose an environment where you have installed Talent and Workers as an entity name. On the end, add Organization as a Scope.

In a new step, you need to make an action. For this purpose, you need to choose Business Central and find ‘Create record’ action. When you sign in, first you need to choose if you want to use Production or some other environment and after that you need to choose a company name and as a Table name choose Employees (this is an API from Business Central).

On the end you just need to connect fields. To do this you need to click on Add new parameter and to choose Business Central fields you want to use for integration. Minimum you have to use are number, givenName and surname. Now you need to connect BC with Talent data i.e. Given Name (from Talent) to First_name, Surname to Last_name…

Click Save and as this is a service, do not forget to click Run. Only now, your Logic App is ready for using.

Be careful here with choosing fields for integration… you can try to integrate more fields here, but it cannot be useful. The answer on your question is when you create new record to the Worker entity in Talent, only a few field will be treated as an insert and the most of them will be treated as an update. Look at the last image where I’ll create new record… only these field you see are treated as an insert.

When you click Hire and add details, all other values you will add will be treated as an update. Because of that, you will see that created new Logic App for updating is absolutely necessary. But I’ll explain more about this in my next post.

But right now, you can create new Worker in Talent and you will see that system created new Employee in Business Central immediately.

How to integrate Business Central with Dynamics 365 Talent – part 1 (Introduction)

When I think about new Business Central features, the first thing in my mind is openness for integrations. As a part of Dynamics 365 family, the main power of this solution is when it can work simultaneously with other. Because of that, I showed these capabilities in a few conferences. As I got lot of requirement to explain it in more details, I’ll write about good example of BC integrations with one other Dynamics 365 solution – with ‘Dynamics 365 Talent’.

‘Dynamics 365 Talent’ is a new Microsoft Dynamics HCM solution (new name ‘Dynamics 365 Human Resources‘). This solution was initially based on AX HRM, but now it is separated solution. As we can use it independently and this solution is really amazing HCM system, I think it can be interesting how we can integrate this solution with Business Central and make them as the powerful tool together… and with no code.

If you are thinking how to make it and how to make it with no code, the answer is using one of the Azure services – Logic Apps. As ‘Dynamics 365 Talent’ has entities on CDS and Logic Apps has connectors for CDS and for ‘Business Central’, only what we need to do is to map entities and fields in both systems and of course, to think abut business logic on the first place. Depends what is the primary reason for integration, we can choose some of the options:

  • integrate HRM core system with HR in Business Central
  • integrate Attract or Onboard apps in Talent with Business Central.

In second option, we will use HR module in Business Central and use only one or two parts from ‘Dynamics 365 Talent’. On the other side, in first option we will use core HR in ‘Dynamics 365 Talent’. In this text, I chose to explain the first option.

In this first text, I’ll just explain some basic concepts and you will find more details in the following texts with this topic.

Basic setup in Business Central

First, as we don’t need all HR capabilities in Business Central (we already have all of them in dedicated HR solution – ‘Dynamics 365 Talent’), we will move only data necessary for other areas in Business Central. In this example I’ll show how to move data to Employee table as this table can be used for example in a Payroll system or you can use this information in Fixed Assets card.

Locate information in Talent

Now when we have the basic configurations, we can continue with integration. First, we need to find where an employee’s data are saved in Talent. To find this we need to open list of CDS entities and we can do it using PowerApps platform.

When we have these basic information, we can continue with technical parts how to do it in a practice.

Dynamics 365 Business Central Licensing

As we already had insight in Dynamics 365 Business Central and this solution will be available in only three days, it is a moment to get more information about licensing. In this post I’ll show only the basic important topics regarding licensing.

As we already know, there are three licensing types Premium, Essential and Team Members. Premium and Essential will provide full access to solution, but not to the same level of features. Essential has most of the future, but not Manufacturing and Service Management (this is included in Premium package). And very important thing is that we cannot use a mix of these two user types. You must choose what level of features you need and all full users must use the same license type.

D365BC licenses.PNG

As a Team Member, you can do the following:

  • Read anything within Dynamics 365 Business Central
  • Update existing data and entries in Dynamics 365 Business Central – existing data are records like customer, vendor or item records which are already created. Entries means entries on which it is specifically allowed from an accounting perspective to update specific information. (e.g. due date on customer ledger entries)
  • Approve or reject tasks in all workflows assigned to a user
  • Create, edit, delete a quote
  • Create, edit, delete personal information
  • Enter a time sheet for Jobs
  • Use PowerApps for Dynamics 365

And more, it is important to know that the minimum number of full users is 1 and w don’t have a maximum number of users (you can register number of users you need). But keep in mind, we are talking about named users, not concurrent.

And Dynamics 365 Business Central Essential, Dynamics 365 Business Central Premium and Dynamics 365 Business Central Team Members also includes the PowerApps for Dynamics 365 Applications license.

Dynamics 365 Business Central users are not provided with any standalone or general-purpose Power BI license or use rights, but this subscription includes an option to embed Power BI content as a product feature but require users to subscribe to Power BI separately to configure access to this content.

And with a question what we have more included, this is important table:

D365BC environment

Customers who wish to expand beyond the default subscription capacity included in Dynamics 365 Business Central will need to have a separate Azure subscription.

But on the end as very important: please do not use this article as license manual. If you need more details for licensing of real or potential customers, please use an official Dynamics 365 Business central Licensing Guide.

Counting Named Subscription Users in NAV – 2nd part

In my previous post, I tried to explain how to handle with named users in NAV. But I’ve got a few feedbacks with some additional questions I didn’t cover in this text.

The main question was what if I want to stop to use some account temporary, for example because sick leave or vacation or something similar? In this case, we can disable this user.

DisableNamedUsers

When you try to login the next time, you can see system will not count disabled users. Then you can decries number of users for some period. When your user come back, you need to increase number of users in your license and just enable this user.

Second very important topic is that you must to know when you buy for example 3 subscription users, you will get 5 (you will get 2 users for free, but with limited usage). This is because 1 user is for intended for partner work and 2nd users is for external accountant, but remember an EXTERNAL accountant. You need to create them on beginning to avoid misuse of license rights and use it for internal processes.

And on the end, if you already have the maximum number of full users and want to create new limited user, because you have licensed more limited users, anyway you will get message that this is not possible because the new user don’t meet the terms of the current license.

##1

This is only because of that, Full User is default user. You just need to change License Type option to Limited and it will be OK.

Counting Named Subscription Users in Dynamics NAV

Waiting Dynamics NAV as full SaaS solution (Dynamics 365 ‘Tenerife’), a lot of partners are deploying NAV on Azure with subscription licenses. Subscription license has much better price in comparison with perpetual model, even from only BREP.

But we have a small difference here. In perpetual licensing model, users are concurrent, but n subscription model, users are named. Because of that I’ve got a lot questions how system count these users and prevent bigger number of users from licensed.

Generally, this is very easy. NAV counts number of created users and compare it with your subscription license. That moment, when you try to create new user, more than you have licensed, system will stop you.

##1

As you can see on the previous picture, I’ve got a message that creating this new user will not meet the terms of the current license. OK, it works. That means if you want to change user, you need to delete old one and than create new one.

But in subscription model, you can change number of users monthly. What if you had in one moment, because of business needs, more licensed users and now you scaled down number of users? In this case, when you try to log in, system will show the following message:

##2.PNG

That means with current license and number of users, you are not legal. But if you press OK, system will allow you to log in. But every time when you try run NAV, you will get this violation message that shows you are not legal.

All sessions from NAV TechDays 2017

NAV TechDays 2017 has just finished a few days ago and I already wrote about my expressions. Now, all sessions are already published and I want to have all of them on the one place. There are all of them:

Opening Keynote

Deep dive into the new development tools by Stanislaw Stempin, Jesper Schulz-Wedde and Esben Nyhuus Kristoffersen (all from Microsoft Development Center Copenhagen)

Desktop & Mobile Client Enhancements by Horina Serbanescu, Andrea Tino and Tomas Grubliauskas (all from Microsoft Development Center Copenhagen)

Application SaaSification by Henrik Frovst Madsen and Tommaso Pimpo (all from Microsoft Development Center Copenhagen)

Azure Functions Deep Dive by Vjeko Babic (Cloud Ready Software)

C/AL, Coding for Performance by Jasminka Thunes (NxM Business Solutions) and Jörg Stryk (STRYK System Improvement)

Creating great API’s by Anders Larsen and Nikola Kukrika (all from Microsoft Development Center Copenhagen)

Rock ‘n Roll with VSCode by Waldo (iFacto & Cloud Ready Software)

PowerApps, Common Data Services and Common Data Model by Michael Nielsen (ForNAV) and Mark Brummel (NAV Skills)

Easier and DevOps-friendly Dynamics NAV environments using Docker / Windows Containers by Tobias Fenster (Axians Infoma), Jakub Vaňák (Marques Olivia) and Freddy Kristiansen (MDCC)

Best practices to get automated tests running on your solution by Luc van Vugt (fluxxus.nl) and James Crowter (Technology Management)

Office 365 business apps powered by Dynamics 365 “Tenerife” platform by Ievgenii Korovin, Andreas Moth and Monica Ahuja (all from Microsoft Development Center Copenhagen)

Source Code Management with Visual Studio Code Made Easy by Soren Klemmensen (360 Visibility) and Jonas Andersen (Elbek & Vejrup)

Enjoy and see you there the next year…

Dynamics 365 Accountant Portal on a Phone

I already wrote about using Accountant Portal in Dynamics 365 for Financials. And now just imagine if you are accountant and your client call you about some very important information when you are out of office. Generally you have your phone in your pocket in almost all situation and as we know we have Dynamics NAV/365 App for iPhone, Android and WP.

Good information is that when you installed Accountant Portal extension, it is available on a Phone Client as well. And you will have the same features.

apph01

You will see the same basic information on a Phone Client as on the Web Client. When you click on your client, you will see more detailed information on whole page. and if you want to work with your client, system will continue opening your client instance.

Because you can run it not only from Phone Client, system will offer you to open it with your App and then you can continue with standard using Phone Client and all standard features. But depends of your phone, you have a link to check if your device is supported and to download App if you already didn’t.

Very easy and absolutely in the spirit of ‘Cloud first, mobile first’.