Just sharing my experiences in the Dynamics NAV (Navision) consulting world.
No information is so valuable that it cannot be shared with others.
Just saw a slide from Marko regarding the state of Dynamics 365 Business Central aka Dynamics NAV and thought I’d like to share.
This is just for Dynamics NAV, not including any other Dynamics 365 products.
Quite amazing numbers…
One of my personal complaints about any cloud based ERP software the inability to make customizations that your business needs to maintain a competitive edge.
The assumption of a cloud ERP software is that every business should be able to fully utilize the software as the software developers intended. But as we all know in the real world, this is NEVER the case.
As much as software developers tries to develop functions that covers all basis for the users of their software, there will be nuance for each individual businesses and how they operate. This is exponentiated by the fact that their customers will throw out weird curveballs that the user will have to comply, no matter what.
What do you do in these instances? You have make changes to the system or keep track of the changes manually.
In this day and age where products are expected to be ordered in the morning and shipped in the afternoon, there’s no way in hell you can expect the user to keep track of data manually. Worst, the company may have to buy or develop a whole different software just to supplement what the original ERP can’t handle.
Either way, it’s a recipe for disaster.
So now you have a problem, you have a software that is not robust enough to meet your customer’s demands without major workarounds and you have data and processes you have to comply with.
Yeah… It’s not a very good situation…
One of the main selling points for the old Dynamics NAV (aka Navision) was the ability the user can customize anything they want. Because of this, some very beautiful industry specific and horizontal solutions have been developed without additional integration software. Why? Because it’s built INTO the software.
The ability to modify anything you want is both good and bad and is subject to debate, but at least it’s available should you need it.
When Microsoft announced they’re moving Dynamics NAV to the full cloud and renaming it to Dynamics 365 Business Central, a lot of people kind of assumed we’d be taking away the core essences of what makes NAV great, it’s flexibility.
Then when the product launched, I see this little surprise in the Extension Management screen. The Extension Management screen basically allows you to add/remove any features you want that’s available:
What?! I almost wet my pants when I saw this!
This allows you and/or your NAV partner to make custom extension modifications to your specific Dynamics 365 Business Central deployment!
Not only can you enjoy the great infrastructure of Microsoft cloud, but you’re also able to make customizations to your specific needs?! Microsoft, specifically the Dynamics NAV product team, really hit this thing out of the park.
Being able to upload extensions to modify your deployment still has it’s limits.
You will only be able to “extend” on the base application, but you will not be able to actually modify the base code. For example, you will not be able to change how Reservation system works in base NAV, you can only modify around it.
But still, it’s a GREAT first step!
Welp… I’m excited. Cautious, but excited. Naaa.. I’m just excited…
Microsoft has officially launched the Dynamics 365 Business Central. This is basically the next version of Dynamics NAV but can be deployed on as a subscription as part of your Office/Dynamics 365 portal.
Microsoft has tentatively stated that the on-premise will be released the summer of 2018. When that rolls around, you’ll have multiple options on where to deploy your solution. On this subject on deployment, it will be in another blog article.
I personally believe the implementation of the Dynamics 365 Business Central infrastructure is pure genius from Microsoft.
The infrastructure, on it’s own, is perfect. You can access your ERP data from anywhere in the world without having to worry about hardware and security setup. You don’t have to setup Azure and it’s practically plug-and-play. Furthermore, you get free upgrades and cumulative updates applied as they’re released by the Microsoft product team.
You basically require zero IT infrastructure spending to run your business.
What set this infrastructure apart is the ability for developers to create customizations that can be implemented through extensions. The extensions are like of like widgets or little apps that you can install for your instance of Dynamics 365. It’s like having an Apple phone with apps that you can download from the app store to enhance your experience with the phone.
The ease of deployment and the free updates from their subscription, in addition for you to download and install extensions from the Appsource store is the next best thing since sliced bread in the ERP world.
While the infrastructure is perfect, there are some questions on who Microsoft believes are the profiles of the users that will be using the product.
Is Dynamics 365 Business Central catered towards micro-businesses (1-5 user companies) or is it catered more for small-mid sized companies (10-500+ users) as it traditionally is?
I’ve wondered about this since they introduced the concept to what was known as Dynamics 365 Finance and Operations Business Edition (RIP). There are some features that makes no sense for micro companies and there are some features that absolutely wrecks havoc on small-mid sized companies.
One of the promise from Microsoft is that they will make the software extremely easy to use. To some extent, they’ve really done quite a bit on the user interface. They’ve added very nice charts and statistics, in addition, the screens are extremely beautiful.
But let’s make a distinction on ease of use and dumbing down the software. Let’s take a look at the Item Card as an example to see what I’m talking about.
Note that this is only available if you set the User Experience on the Company Information to Basic or Essential.
If you look at the inventory item card, you’ll notice an icon next to the quantity on hand field.
If you click on it, a screen will pop up to allow users to just change any quantity for each location.
This means that anyone with access to the items can change the quantity without proper procedures and counts. Imagine running a mid-sized companies and allowing your users to be able to edit inventory quantities to any amount they wish.
I think this feature is probably more suited for the suited for mom and pop shop. Where you can just look at your shelf and adjust quantity on the fly.
However, on the same item card, you’ll notice something on the ribbons that’s promoted (meaning a large icon).
It’s the approvals/workflow management icons.
Now I run a small consulting shop. We have less than 10 employees. Here’s a typical approval/workflow request scenario between me and my wife boss:
Me: “Hey honey, can I xxxxxxx?”
And that’s my approval/workflow request.
Do I really need to automate or systemize this? It’s a colossal waste of time to even opening an e-mail about it. I think bugging her with an e-mail will annoy my boss more and maybe that’s the point? But I digress.
The point is that in this one simple screen, you seem to have 2 features that cater to a very different clientele that will balk at each other. I think in this case, you really can’t please either sides.
Given the choice, I’d rather Microsoft focus the application to small-mid companies, like what the marketing message states. We’ve implemented micro-businesses using the old Dynamics NAV product with great success. I don’t see why it has to be different with Dynamics 365 Business Central.
To be fair to Microsoft, the product team has been pretty efficient on addressing issues within the application. I’m just not sure exactly if these “features” are counted as issues and what the logic behind implementing these in the base application is…
If you’ve recently upgraded to Dynamics NAV 2017 or later versions, you will have undoubtedly noticed that the new version of Dynamics NAV (or Dynamics 365 Business Central) is incredibly slow… It’s so slow that it took one of our customers that’s using NAV 2017 3 minutes and 38 seconds to open a customer card.
Yes, the customer really measured this. And yes, before they upgraded, opening the customer card is instant.
Note that this blog will include Dynamics 365 Business Central as I didn’t see them improving the standard codebase in the release.
The problem is all the eye candy that Microsoft tries to implement into Dynamics 365 Business Central that caters to the small/micro businesses, or at least make the demo of the product irresistible.
For some odd and strange reason, Microsoft strongly believes the same customers that currently using Dynamics NAV are the same ones that are going to be using Dynamics 365 Business Central.
I’m not sure how we can tell Microsoft that this is not the case. They firmly believe they know the customer better than the channel.
Let’s take a look customer card in our example and let’s see why it’s so slow. Note that this is one of many screens in the software that has performance problems. I’m just highlighting this page for the purpose of this article.
In order for Microsoft to make Dynamics 365 Business Central look appealing in demo environments and to encourage companies to sign up on first sight, they really have to include all the bells and whistles. And I do mean all the bells and whistles including, but not limited to:
Let’s take a look a the customer page in the demo environment in Dynamics 365 Business Central:
Looks great right? You have a really quick statistics of how the customer info. And when you navigate around in the demo environment, it’s fast.
This is the screen if you use the Dynamics NAV (Dynamics 365 Business Central) on any rendition other than from the signup in the Office 365 Admin Console.
If you looked closely, you’ll notice that the Statistics FastTab is missing.
Apparently, in order to keep Dynamics NAV and Dynamics 365 Business Central on the same codebase, Microsoft just hid whatever is not applicable.
There’s a problem with that… When you just hide the control, it doesn’t really prevent the code from running.
If you look at the customer card in the Development Environment, you will see the Statistics FastTab has the Visibility function set to FoundationOnly.
The toggle for setting this is nowhere to be found if you’re not using Dynamics 365 Business Central accessed from Office 365 Admin console.
The problem is the code is written in the worst way possible with no regards for optimization.
It’s doing calculation on massive amounts of data with every time you click on something on the customer card. Good for small datasets (<1000 records), problem if you actually use the software to manage your business.
This means any time a user does something on the page, it’ll run this calculation, over and over and over and over again. Think about your customers that has a 50 GB database, worst, you’ll notice a slowdown with customers running a 1GB database.
One would think the simple fix is to just remove the controls from the page. Wrong… The cause of the slowdown is not on the display itself (although the Dynamic Control does slows down performance), it’s the code that’s running in the background.
The code you need to take out is in the triggers of the page.
Removing code on the OnAfterGetRecord and OnAfterGetCurrRecord triggers dramatically improves the performance of the customer card.
Note there are a lot of other things we have to remove from the customer card to make the performance acceptable for the end user. But I will stop here for now.
So how do you do this when we’re going into the Extension world? Extensions will NOT allow you to remove base code, so you’re stuck with whatever crap Microsoft stuffs in there. Tested or not.
Looking at the amount of code in the customer page, I’m actually shocked on how all of this got past Quality Control at Microsoft.
Whoever thought it was a good idea to do a lot of rendering and processing at the page level?
You’re asking for performance problems when you’re rendering a large amount of data. This was one of the first thing they taught us at the Navision development class back in 1999; don’t put code on forms/pages.
This article is just focusing on a single page, the customer card. If you look at Sales Order page, another one of the pages that a lot of companies access frequently, it has the same types of problems: too much code on the pages.
Again, a lot of what they stuff in there is nice for demo environment with small datasets. You’ll notice performance problems real quick as your data set increases.
Perhaps this is an opportunity for developers like us to publish an Extension on AppSource. Basically redo NAV pages so people can actually use it.
Every once in a while, a company will want to change their costing method from whatever they have into something else for whatever reasons.
The official way of changing the costing method for any items in Dynamics 365 (Dynamics NAV) is to basically zero out the item and create a new set of item numbers with the new costing method.
However, doing this may not be feasible because you end up losing all item history, in addition, depending on how much history you have, renaming item numbers will take a long, long time.
There’s an unofficial way that Microsoft does not promote for companies to change the costing method. This is understandable because if the user does not follow the instructions, there’s no way Microsoft can support all of the different scenarios that comes up.
Before the company can make such a change to the costing method, the following tasks has to be done:
The biggest problem that companies run into is documents that are “stuck in the middle”, basically, shipped/received not invoiced. By not having a clean break, if you were to proceed with the costing method change, you will never be able to tie out your inventory valuation to the General Ledger.
Here’s what you will need to do in Dynamics 365 (Dynamics NAV) in order to convert to a different costing method:
Then done, you’re done.
After the costing method change is done, back dating of inventory transactions cannot be allowed.
For example, if we change the items from FIFO to standard on 03/31/2018, no additional postings for these items on or prior to 03/31/2018 should be made. This will need to controlled through the Allow Posting From on the General Ledger Setup and the User Setup.
In addition, revaluation of inventory should not be done prior to 03/31/2018 as well for the items. Doing so may cause irreparable damage on the inventory value and will cause your inventory ledger to not match your G/L.
The method described above is not recommended by Microsoft. I think this is because there are many ways things can go wrong if not done properly.
Having said that, we’ve done this for many of our customers without problems. Strict controls on when the posting is allowed must be followed. If done properly, changing costing method is really not that big of a deal.