Why You Should Set Automatic Cost Adjustment to Never in Dynamics 365 Business Central

Overview

This was one of the topics that came up frequently while working with users at the last NAV/BC User Group Summit at Phoenix.

Many people have different opinion to setup their inventory so costing is done properly. Naturally, knowing a few things on how Dynamics 365 Business Central (aka Dynamics NAV) inventory and how inventory costing works, I participated as much of these inventory costing discussions as I could.

One of the features that I always get in an intense discussion on is how the Automatic Cost Adjustment on the Inventory Setup should be done.

Arguments for Setting Automatic Cost Adjustment to Always

I do understand the desire to want to set this property to Always. And why not? Instead of running the Adjust Cost – Item Entries manually, why not let the system run the process every time? And I do mean Every. Single. Time.

Setting the Automatic Cost Adjustment to Always allows for you to have updated and accurate cost at all times. This sounds great!

Arguments Against setting the Automatic Cost Adjustment

It’s great if we can just talk about all the benefits and call it a day. But that’s now we work. Setting this property will come at a cost.

  • Performance – During posting, your users will experience delays. How significant this is will depend on how large your database is.
  • Locking issues – Dynamics Business Central will lock the ledger entry tables during posting of orders. In addition, it will lock tables when it runs the adjust cost process. Because of the stress on the performance above, the users will experience more locking problems throughout the day as people are posting. If you’re experiencing this now, try setting the Automatic Cost Adjustment to Never.
  • Allow Posting From Error – There are some instances where the adjust cost will want to post adjustments into prior periods. Depending on what you setup for your Allow Posting From on the General Ledger Setup and/or on the User Setup, you’ll run into these errors.

If you’re running a micro business with few inventory transactions, setting it to Always will make sense.

However, for a manufacturer or a high transactional volume distributor, you will cause more harm to your environment than not.

This is exponentiated if you’re using reservation or serial/lot tracking.

The Alternative

Instead of running the Adjust Cost – Item Entries process during every single transaction posting. Why not have the process run during off hours?

One of the first things we do for our client after explaining the importance of Adjust Cost – Item Entries is to setup the adjust cost process as job queue to be ran at night when the load on the system is light.

This will prevent locking up users as well as give the system a faster response when they’re doing their daily task. Who doesn’t want a system that’s responsive and allow you to do as much as possible within a shorter amount of time?

Conclusion

In every instance, I will set the Adjust Cost process to be ran automatically on the job queue. I want to give the user the best possible experience working with the system. Every delay causes frustration and we can all use less frustration in our lives.

Game Changing Concept for Cloud ERP with Dynamics 365 Business Central

Overview

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.

The Cloud ERP Problem

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…

What Makes Dynamics 365 Business Central Different

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.

Still Work to Do

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!

Conclusion

Welp… I’m excited. Cautious, but excited.  Naaa.. I’m just excited…

Going Live with Dynamics NAV (Dynamics 365) is the Easy Part

Overview

After doing ERP implementations with Dynamics NAV (aka Dynamics 365) for almost 2 decades (18 years to be exact…), you kind of know how to get things done.

Usually, when you prepare for a go-live during a software conversion, there are certain tasks and steps that absolutely have to be accomplished in a certain manner. There are certain things that you will also postpone until after you go live with the new system. Balancing what are absolulte musts and what can wait are what every legitimate project manager should do.

Another pitfall is spending countless hours talking about the exceptions and the wrong business process that ensues. Again, a legitimate NAV project leader should not take you down that path. From my experience one of the guarantee failures of taking a customer live is trying to “do too much”. Focusing on things that does not really matter to the business. As a legitimate Dynamics NAV (Dynamics 365) project manager, you should be well aware of what to be done and what shouldn’t be done when going live. On this subject, this is probably a separate article.

The Go-Live

A week prior to, you begin to feel the nervousness about switching to a new system. Despite my assurance on how everything will be fine because we followed the plan, they will still feel very anxious. The anxiety in the air is so thick you can scoop it with a spoon.

When the live date approaches, we do our thing to do the final cut over to their legacy system to Dynamics NAV. Run through our check-list and have the customers go through their check-list.

The next day when people come in for work, you can tell they were ready. They were ready for this because that’s what they’ve prepared for.

About a few days after the customer is live with the new system, the most frequent response I get is:

“That’s it?”

The Real Challenge

“Yes, that’s it. You’re live with Dynamics NAV.” That’s the response I typically give in response with a smile. As I mentioned, going live with Dynamics NAV is the easy part.

This is the point where my anxiety begins to increase, little by little.

Why?

If the customer just transacts with their normal business process and their customers and vendors behaves the same way, then everything would be okay. But it never happens that way.

There are always new problems and challenges as time progresses. Businesses do not stand still.

A couple of of these issues after go live that will begin to raises my blood pressure are, but not limited to the following:

– Exception problems or problems that are just weird and unusual
– Things that were allowed from their old system that are no longer allowed in the new system (i.e. just deleting a posted transaction)
– People circumventing the agreed upon process
– Wanting to turn on new features
– The “I didn’t mention because it’s not that important” processes. Well… It’s important now.

The toughest portion for the end user is after they go live for about 2-3 weeks. This is when all of the weird processes and exceptions start occurring and they have to deal with problems using the new environment and new thinking. Problems where they could just change a few numbers or transactions in the old system quickly, but they can’t do that anymore.

This is the part where the problems gets interest, and quite frankly, more fun. This is also the part where most solution center do not focus on because it’s not as lucrative.

Good Business Practice is a Lifestyle

What you resolved with your NAV partner during a new implementation is what you’re currently doing and where you want to go. These are known problems that has been brought up and addressed during the design of the software.

What challenges you going to face in the future are what we haven’t spoken about. It’s tough to plan and have a solution for something that you don’t even know about.

Dynamics NAV is a very good system. It’s also a very strict system. When you have an accurate system, sometimes problems come up where it was not apparent before or been swept under the rug. The reason is because it’s not important enough to deal with on a daily basis. i.e. inventory inaccuracies on the bins or returns processing.

With an accurate system, all of these normal process that no one wants to deal with will become apparent and will require a correct process and procedure for. Sometimes, when addressing these annoyance, owners will be surprised that they need additional resources to manage those processes.

Most of the time, when left unaddressed, those problem will blow up like a huge volcano. Implementing Dynamics NAV prevents these volcano type problems because it needs to be tracked.

Conclusion

Compound to real problems arising after 2-3 weeks is that implementation consultants will have already left by then, patting themselves on the back on a job well done.

As much as I advise on budgeting enough time and money for post implementation support, they always go unheard. Most of the quote that they receive for new software implementation are only enough to take them live, not to address these more interesting problems after they’re live.

Going live with Dynamics NAV (aka Dynamics 365) is the easy part. What comes after will be the core of the challenge during the implementation lifecycle.

Types of Training in Dynamics NAV

Overview

Often, we get calls from companies that asks us to help with their Dynamics NAV implementation. The conversation would usually start off about a little history of their implementation, the problems they’re running into, and what they’re looking to resolve.

Inevitably, the request will lead to training the users on how to better use Dynamics NAV.

This is a tough question to respond to.

With every release of Dynamics NAV, the software has become more intuitive and easy to use. In addition, Microsoft has released the full manual on their MSDN site. In addition, there are great step by step examples on how to process, for example, a sales order. So whenever I hear this request, my sense immediately goes into overdrive.

Of course, the customer will want an estimate on how long that will take.

Tough Question

What makes the subject of training a tough question is that the training, in itself, is not what the customer is looking for. What the customer is really looking for is, by the end of our task (whatever that may be), their users will have thorough understanding of their job responsibilities within the company and how Dynamics NAV can better their ability within their job roles.

They’re looking for their users to have an A-ha basically saying “Wow! I fully understand my job and can do my job 300% faster now!”.

The Response

Being a terrible salesperson, instead of giving them some numbers and try to close the deal, will naturally ask a ton of questions on their request. I will even question their question because I just find this request (although challenging) very fascinating.

Most of the time, the people that are reaching out are not the managers or the people that are responsible for the task. They’re just “forced” into it by their boss or owners. Instead of a number so they can create a list to find the cheapest one, they get more questions.

On a side note, the calls we get where the person has to hang up and ask their boss or other people for more information ususally never calls us back. Subsequent follow up calls are ususally unreturned as well.

Not All Training Are the Same

There are many aspects when we talk about training. To keep things simple, we’ll just talk about 2 types of training. One is just learning how to use Dynamics NAV, the other is learning how to use Dynamics NAV in conjunction with your job roles within your organization.

In my opinion, training just how to use NAV is not worth to company to spend their money on. The reason is, as mentioned above, there are plenty of resources (such as MSDN site mentioned above) that are free for the user to learn how to navigate around Dynamics NAV.

The training that I would always recommend is the implementation type of training is where the training covers the details of their job on how Dynamics NAV can help them do their specific job. The training would be how to better do their job with Dynamics NAV, instead of just using NAV.

The Challenge

The challenge is how to explain this to the customer who is tasked by their supervisor to “get more training”.

They would need to understanding their internal business process for each department and how NAV will fit into each part of the business process. They will need to fill the consultants in on how things work for the consultants to devise a training plan.

If the customer does not do , they will need to spend the money to have someone else to do so. Very much like an implementation.

Conclusion

Of course if the users do not have time to learn the product or they prefer to learn in a classroom environment, consultants like us would step in and help out. Even then, the training shouldn’t be just how to use NAV. Rather, it should incorporate what their job functions are within NAV.

Sometimes the training should just consist of a big Q&A session where the users can bring up what they’re doing and how to better utilize their job function in the system.

Understanding what type of training you require will save you a ton of time and unnecessary costs from consultants like ourselves. It does require some work on the end user to determine what kind of training is needed.

Better to put the work up front than having to pay, a lot, later.

Dynamics 365 for Financials will include Full Functionality of Dynamics NAV

Announcement

Microsoft Dynamics 365 for Financials will offer the full functionality of the regular Dynamics NAV by the end of the year!

Dynamics365 for Financials will now cover all functionalities in Dynamics NAV

Overview

Until the functionality update take effect, if you signed up for Dynamics 365 for Financials you will only receive limited functionalities for within the Dynamics NAV product. The area available are mainly in the finance and order fulfillment areas.

After the update, which is promised to be by the end of the year, you will receive the full functionality as if you purchased Dynamics NAV. This includes manufacturing and WMS functionalities.

What Will be the Difference?

This is the first question that everyone will ask. Why does my company want to purchase a full Dynamics NAV license instead of just signing up for Dynamics 365 for Financials?

The answer is Customization.

For Dynamics 365, the way to “customize” what’s available out of the box is to implement extensions available from the Microsoft Appsource. This means that if you need a one-off change because you provide a differentiating service than your competitors, you will need a work around.

Whereas if you purchased Dynamics NAV product, you will be able to make these types of changes.

The Future

Extensions for Dynamics NAV (and Dynamics 365 for Financials) is ever changing. With each release, Microsoft introduces new features and expanding on the previous release. So it’s tough to say whether the paths for Dynamics 365 for Financials and Dynamics NAV will truly converge.

I’m just glad the customers do not have to sign up for the complex Azure infrastructure if they want their solution to be truly on the cloud.

The Story of Our Dynamics NAV Implementation in Taiwan

This is a story of our Dynamics NAV implementation in Taiwan.

One of the things that I’m most proud of is the people that choose to work with me and the company that we built.

I am proud that everyone shares the same vision on what software implementations should be. That we care about doing the right things, even if it hurts our own bottom line.

That pride is none more so apparent than our team in Taiwan. A little background, our Taiwan branch began operation in 2014. In the relative short amount of time, they developed the Chinese Language Pack for Dynamics NAV. During this time, they’re also involved in a tough implementation in Taiwan for a licensed toy distributor.

Fast-forward today, the customer in Taiwan is so happy with how their Dynamics NAV implementation went, they agreed to speak on behalf of us with Microsoft on one of the most popular IT magazines in Taiwan.

In case you can read Chinese, here’s the link:
http://www.ithome.com.tw/pr/111319

Also in PDF version:

Dynamics NAV_麗嬰國際

Here are the highlights of the article:

– Origially had a 5 year plan to move out of the HEAVILY customized UNIX based system. We only utilized 1.5 years to implement Dynamics NAV. (According to the article, 6 months for analysis and 9 months for implementation)
– Reduce their inventory return amount up to tens of millions in local currency.
– Redesign the inventory put and pick process and increased the accuracy by at least 100%.
– Implement wireless handheld device and doubled the warehouse shipping efficiency
– Improve order process efficiency. Now it only takes one fifth of the time to proces an order (500% increase).

The Challenge

This implementation in Taiwan was indeed one of the most complicated that I’ve been involved in. Not only has their UNIX system insanely customized, but there were virtually no documentation on the operation.

Because of the type of business they’re in, they add between 10,000 to 20,000 items every month. That’s right! over 10k new items every month. You can see why order entry and communicating those new items with their large distribution network is a nightmare. In addition, think about how the warehouse will go about fulfilling these orders.

When we did our first analysis, I was personally shocked at how they were able to manage such a large volume of business with their current setup. Basically, our job was to go from no documented business process to having Dynamics NAV fully functional. The fact that our team did it in 1.5 years is nothing short of amazing.

There were countless fierce meetings and conversation both internally and with the client to better their existing business process. Even though these discussion were fierce, the client really appreciated that we did not just go with the status quo and replicate their existing business process.

Conclusion

Having the right people in the right place really makes all the difference in the world. This project wouldn’t be a success without their involvement. The people that works with me, quite honestly, can work anywhere else and any company; but they choose to work with me. That really gets me in the feels…

Performance Problem in VM Environment for NAV 2016 and Beyond

Overview

This is a story of upgrading one of our clients from Microsoft Dynamics NAV 2013 to Microsoft Dynamics NAV 2016 (we recommended going to NAV 2017, but they didn’t want to be guinea pigs).

The upgrade itself was done on the customer’s live server, which was a brand new powerful server on VM (virtual) environment. During the upgrade, our developers complained that the performance on the live server was extremely slow. Initially, we thought it may have been the large amount of data (100 GB) that are being upgrade so we brushed it off.

When we went live, that’s when the performance on NAV got worst.

The Problem

Researching on Google and the Dynamics NAV forums on performance issues with Dynamics NAV 2016 came up with nothing. Of all the researches, NAV 2016 should perform a lot faster, not slower.

We’ve tried reindexing, changing the settings on the Dynamics NAV service tier, changing the CPU cores, SQL tuning. Nothing worked.

The problem in the end was how the VM hosts were setup. It matters which host SQL Server and Dynamics NAV server were setup. The following VM configuration was how the server was setup:

virtualenvironmentdynamicsnav

The Solution

The internal IT director put the Dynamics NAV server and the SQL Server on the same host on the VM and *poof*… All the performance problems went away. NAV was back running in blazing speed.

What was strange was that for NAV 2013, the SQL Server and the Dynamics NAV Server was running on different host and there were no performance issues.

Conclusion

When you’re in an VM environment, put the SQL Server and the Dynamics NAV server on the same host machine.

Upgrading to Dynamics NAV 2016 is nothing new for us. We’ve done quite a bit of the upgrades for companies but this issue baffled me a bit. The same structure used on NAV2013 did not work well on NAV2016.

Hopefully, if you read this, it will save you from some headaches that I’ve gone through.

Properly Setup Bin Code for Warehouse Management in Dynamics NAV

Overview
One of the most often asked about features when dealing with inventory is the ability to keep track of inventory by bins in the warehouse. While The Warehouse Management System will benefit the accuracy of the items that are stored in the bins, careful consideration must be made during setup so when you go live, less additional work is needed for the system to work for you.

On a macro level, before you eve consider implementing a warheouse management system, your warehouse itself MUST BE ORGANIZED! What I always tell customers is that the purpose of a computer systems is to help you do something faster. This means that if you’re warehouse is a mess, implementing a warehouse system will make it more messy, faster. However, if you’re warehouse operation is efficient and optimized, then implementing a warehouse system will help you become more efficient and optimized, faster.

The Bin Codes
While there are many considerations for setting up warehouse management in NAV, this article will focus on one of the most overlooked areas.

The Bin Codes.

The Path of the Picker
There are many differnet theories about how to create the most efficient picking path. But generally, you want the path of the picking so the following occurs:

1. When picking for an order, they would not have to come back to the same bin in the same level
2. When picking, they should pick from the eye level (or the level where they don’t need special equipment). This is typically the first level.

Keeping it simple and not concerning with spliting into Zones, wave picking, and whatnot, the pattern the warehouse picker should walk is the following:

Warehouse path for picker
Warehouse path for picker

Only when the above is exhausted, do we use special equipment and pick from the higher levels. The general rules are the same, you want to use the run time for the special equipment should be as minimal as possible.

The Sort Order of the Pick Bins
In order to get the path described above, we have to first understand how Dynamics NAV priortizes what bin is selected when a pick is generated. Consider the following bins numbers for your warehouse:

Typical Bin Code for Warehouses
Typical Bin Code for Warehouses

The first 2 characters is Section, then Isle, then Level

When the pick from NAV is generated, it will suggest the pick in the following order (assuming no bin ranking is used).

NAV Suggested Pick Order
NAV Suggested Pick Order

As you can see, it will create the pick on a decending order.

Why Suggest the Bins in Decending Order?
The answer lies in the help for the Bin Ranking field found in the Help or on MSDN:

The program will suggest a pick from the bin with the highest numerical ranking. Items in the highest-ranking bins (bins with the highest number in the field) will thus be picked first

Makes sense.

Why Not Use the Bin Ranking?
We could. But tread carefully! Bin Ranking provides a lot of flexibility on how the bins are ordered during the directed pick/put-away. Not paying special attention to how to rank the bins will give you more pain and suffering.

Assuming you rank all of the 1st level bins the highest, and level 4 the lowest. The resulting pick order NAV would generate for its pick is the following:

Warehouse4

This means that NAV will ask the warehouse picker to pick from the section that’s furthest away from the warehouse (assuming that’s section C). Very good for letting your warehouse picker get excercise, not really good for pick efficiency.

Two Ways You Can Go About This

Property Setup the Bin Ranking
If you want to utilize the Bin Ranking, then you will need to sort it based on how you want the warehouse user to logically pick/put-away. In the example above, the bin ranking would be set as the following:

Proper Bin Ranking Setup for a Warehouse
Proper Bin Ranking Setup for a Warehouse

You will need to carefully configure how to assign the bin ranking. In addition, if there are any changes to your bins (add/remove), you will need to break out the spreadsheet and reassign all bin rankings again.

Modify the Default Bin to sort in Acending Order instead of Decending Order
Doing so will allow Dynamics NAV to “sort” to pick from A section to D section. However, it will also ask the picker to pick from multiple levels first instead of the 1st level.

You will need to reconfigure how your bin codes are setup. Instead of Section – Row – Level, you will need to reconfigure your layout as Level – Section – Row:

Warehouse6

This will ensure that all of the 1st levels are picked first. Then it will then pick the 2nd level, then the 3rd, etc. This option may not be feasible if you’ve already spent the time and effort on labeling all of your bins. This option may also not be feasible if you want them to pick from the same column once they got the forklift truck. However, this option will require the least amount of maintenance.

Conclusion
Having implemented both methods for clients with warheouse management requirements for Dynamics NAV, both methods have their pros and cons. And they both work for the respective companies.

Bin Ranking will work wonders if you take the time to set it up right, but maintenance is a hassel. Reconfiguring the bins is simple, but you have to becareful about how NAV sorts the bins.

Again, both methods work. It really depends on how you implement this.

Which Inventory WIP Are You Talking About in Dynamics NAV

Overview
When people talk about WIP account, it’s what it is. An intermediary account where the raw material is being worked on, but it’s not yet a finished good for sale. This is important for companies to audit in a manufacturing process where the inventory is being produced or in the middle of being produced.

WIP it Good
But there’s a Dynamics NAV WIP and WIP for companies.

When people account for WIP in their company, it’s usually an output of a product that still need to go to some finished good.

For Dynamics NAV, it’s the components that has been posted as consumed, but not outputted. So all NAV WIP reports are not what companies wants for WIP.

To identify WIP, we typically setup 3 inventory accounts. RW, WIP, and FG. For example, assume you’re in food manufacturing and you make frozen pizzas (because I’m hungry right now).

The flour, tomato, cheese, raw meat can all be considered RW
The marinara sauce, pizza dough, sausage can be considered WIP
the finished pizza (the holy grail) the FG

For a typical manufacturing company, they would have the following accounts:

  • Raw material
  • WIP
  • FG

The Actual Setup You Should Have in NAV
For Dynamics NAV, we typically utilize the following accounts:

  • Raw material
  • WIP
  • WIP (NAV)
  • Finished Goods

What NAV is Doing
When you post a consumption in a Released Production order for your WIP items, it will hit the following accounts:
– Raw Material
+ WIP (NAV)

Then when you output the production order and finish the production order, it will hit the following accounts:
– WIP (NAV)
+ WIP

Similarly, when you are producing the frozen pizza, the accounts that will be affected will be:
When you consume:
– WIP
+ WIP (NAV)

When you Output:
– WIP (NAV)
+ Finished Goods

Why Not Combine Them?
You could, but I would not recommend it. When you look at the WIP (NAV), you can easily tell if there are any production orders that has been consumed but not outputted and finished. If you lump it all into your regular WIP account, while you can still get the information by running reports, will be an extra step you need to take.

On the financial statements, you can easily lump the WIP adn the WIP (NAV) accounts together as a total WIP in the inventory.

Conclusion
I’m hungry.

New Book – Implementing Dynamics NAV 2016

Been working on this book for the past few months. Although it’s not a book that I wrote from scratch, I’ve spent a considerable amount of time updating the contents for Dynamics NAV 2016.

Implementing Dynamics NAV Book
Implementing Dynamics NAV Book

You can order a copy of the book here:
Implementing Microsoft Dynamics NAV – Third Edition

I hope you enjoy reading this book!