Category Archives: Warehouse Management

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…

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.

Undo Receipt with Directed Put-away and Pick for Dynamics NAV

Overview
Undo receipt has become a necessity in some warehouse environments where the staff may not be able to keep up with the paper flow. Strictly speaking, the undo receipt process shouldn’t be necessary because the process in place should be able to accommodate. However, if there is a situation where a department “can’t keep up”, it usually means that something is wrong within that particular department. It may not be the people, it may just be how things are being done or may just lack the manpower.

Nonetheless, while you’re trying to figure out a more efficient way in that particular department; in our case the warehouse, mistakes in receipt will be made. We need to be able to correct the mistakes in the warehouse without causing the other departments (such as accounting) a ton of headaches on reversing.

Undo Receipt
The Undo Receipt functionality is pretty straightforward. Basically, you just bring up the Posted Purchase Receipts and do the undo receipt. In fact, it’s so easy it’s explained in a step by step instruction here: Undo Receipt in Dynamics NAV

Undo Receipt with Directed Pick & Put-away
When you enable the Directed Put-away and Pick (or the full Warehouse Management in Dynamics NAV), it may be a little more complicated.

If you follow the steps on MSDN, you’ll get one of these 2 error messages:
UndoReceipt1
“You cannot undo line xxxxx because warehouse activity lines have already been posted.”

UndoReceipt2
“You cannot undo line xxxxx because there is not sufficient content in the receiving bins.”

One error says you do not have enough on the receiving bin for undo, the other error message says you have a put-away (registered or not) out there.

How Is This Possible?
Right now you may be asking, “how is it possible to register the put-away when it’s physically not there?”

You’re absolutely right. It is impossible to physically put-away something that you didn’t even receive. This is what makes Warehouse Management in Dynamics NAV work; it’s the accuracy of data entry from the actions performed in the warehouse. In real time!

The real problem here is the process within the warehouse receiving department. If the procedures are followed, you should never have to undo. We have to dig deeper on why the warehouse receiving staff are not following the rules for unloading the truck and putting the stuff away. Sometimes there are legitimate reasons why the procedures cannot be followed. In those cases, a new process needs to be thought out to better accommodate the receiving staff.

Resolving issues like this may take a while and this is where we spend time with the client. Often times, I wish it was as easy as just telling the warehouse people to just follow directions.

But I digress…

Undo Receipt After the Put-away is Registered
Here are the steps that need to be done in order to undo receipt after the put-away is registered.

Delete the Registered Pick:
1. Locate the Posted Purch. Receipt
2. Click on Navigate
3. Show the Posted Whse. Receipt Line
4. Click on Navigate –> Show Posted Whse. Document
5. Click on Navigate –> Registered Put-away lines
6. Click on Navigate –> Show Registered Document
7. Push Delete

Adjust the items into the Receipt Bin. In this case, our receipt bin is R:
1. Warehouse Item Journal
2. Negative adjust the item from the bin you want to take out
3. Positive adjust the quantity to the R bin

Do the undo Receipt:
1. Locate the Posted Purch. Receipt
2. Click on the line that you want to undo receipt
3. Click on Function –> Undo Receipt

Conclusion
This is just to get by until you can get to the bottom of why the receiving staff are having trouble with receiving. That’s where the real problem and the solution lies.

Process vs. Technical Questions

Overview
If you’re an IT or Finance person working in a company that uses Dynamics NAV. First, congratulations! There’s no other ERP product for the mid-market that has the growth (and growth potential) as Dynamics NAV.

Having said that, often times you will be fielded with questions about NAV and it will be difficult to respond. This is especially true when you’re supposed to be the “expert” of the software within your organization. Of course if you really get in trouble, you have your Dynamics NAV partner to back you up so you’re never really alone.

However, in order for your NAV partner to make you look good in front of your peers, you have to phrase your question in a way to get a “on the point” response. Don’t assume your NAV partner to know what you’re thinking, because trust me, being in this business since 1999, I still don’t know what you’re thinking. I did, however, developer a better sense of asking the right questions, but that’s probably a topic for a separate blog post.

When fielding questions, there are generally 2 different types of questions. One is technical question and the other one is Process.

What is Process and What is Technical?
I’m glad you asked that question. Here’s my definition of both

Process Question: A question that’s related to the daily/weekly/monthly workflow of a particular operation. For example, reconciling inventory to G/L at month end. (Non-linear)

Technical Question: A question that’s indirectly related to the daily/weekly/monthly workflow of a particular operation. For example, an error message when you’re trying to post. (Linear)

Troubleshooting the Process
Which of these questions is more straight forward? Of course the technical questions. It follows a linear path. These types of problems can usually be resolved using a debugger.

As the Dynamics NAV go-to person in your company, I bet most of your time is trying to figure out the process questions. The Non-linear questions that can have multiple paths.

It’s important to identify what is process and what’s technical question. If it’s a process question, you should get the experts or the person responsible for that piece of information involved. As much as you like to help out the process by request or making little modifications that solves their process question, it’s not the right way to go about it.

For example, over receiving. Some times the warehouse will complain that you cannot over receive. As an IT guy, yes it’s easy to bypass the check process and just modify the quantity.

However, by doing this, you’ve cascaded the problem and implemented a flawed process that people will get used to.

In this example, why is it flawed? Among the various reasons, one of the biggest problem is because when the vendor send you extra items, who’s responsible for it? Do you have to pay for it? Should the vendor give it to you for free? What if the buyer did not want to receive the additional items because it messes with their budgeting? You get the point.

Changing the Process
That’s not to say that processes cannot be changed. It’s really about how you go about changing the process.

The first step is to get with the people responsible for the process. For some reason there are some internal IT and finance people that simply will not do this. They want to assume they know what they’re doing or they do not want to ask the people responsible questions. This is absolutely a MUST!!

In our example, the purchaser should be involved and the warehouse manager should be involved. Sit with them and describe this problem and ask the all important question: “how do you want to resolve this?”. It’s up to them to define a process that satisfy the buyer and their vendors, the warehouse and the receiving process. Once that process is agreed upon, then it becomes a technical question.

Conclusion
As the NAV guru in your company, you’re most likely swamped.

We want resolve problems and issues to “get them off our plate” as soon as possible that sometimes, we mistakenly treat process questions as technical questions. I know because I’m guilty of that as well. This is not the right way to go about doing implementations and certainly not the way you should go about addressing the needs for your company.

Because ususally when IT gets involved in process questions, developers tend to find the shortest way to resolve the problem, not the right way. As always, finding the shorest way will always require exceptions in processes. Exceptions are fine until there are exceptions to exceptions. Then exception to exceptions to exceptions. This is a sure fire way to complicate your business process and have each department not taking responsibility and point fingers at each other.

Warning About Enabling Directed Pick and Put-away in NAV

When you turn on Directed Pick and Put-away to enable Warehouse Management in Dynamics NAV and you use multiple units of measure (this applies to WHM users using only 1 unit of measure as well), there will be some instances where the Quantity and Quantity (Base) will not match. This will result in the quantities in the Item Ledger be different than the Warehouse Entry.

The problem was first discovered in version 5.0 and is still a problem in NAV2013 R2.

If you want to enable Directed Pick and Put-away, you will need add this fix in the code.

Table 7302
WhseActivLine.SETRANGE(“Variant Code”,”Variant Code”);
WhseActivLine.SETRANGE(“Unit of Measure Code”,”Unit of Measure Code”);
//WHM Fix – Begin
WhseActivLine.SETRANGE(“Action Type”,WhseActivLine.”Action Type”::Place);
//WHM Fix – End
COPYFILTER(“Lot No. Filter”,WhseActivLine.”Lot No.”);

In addition, you have to modify this codeunit marked in bold:

Codeunit 7313
//WHM Fix – Begin
IF (BinContent.”Max. Qty.” <> 0) AND
(BinContent.”Max. Qty.” * BinContent.”Qty. per Unit of Measure” >= BinContentQtyBase * BinContent.”Qty. per Unit of Measure”)
THEN BEGIN
//WHM Fix – End

Special thanks to Brian Rocatis for the fix.