Category Archives: Inventory

Properly Setup Bin Code for Warehouse Management in Dynamics NAV

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:


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:


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.

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.

Common Mistake in Updating Standard Cost in Dynamics NAV

Recently, I’ve been contacted by one of our readers on why their inventory cost was wrong. This particular company utilizes standard cost and the inventory cost never matched their inventory G/L account. Learning about how they updated standard cost, it was very apparent what went wrong. It was how the user updated their standard cost.

Companies will periodically update their Standard Cost to reflect closer to what the cost of their items. The timing of this really depends on the company and the industry they’re in. I’ve seen companies revaluate their standard cost every month, some do it every quarter, some companies revaluate their standard cost every year.

Updating the standard cost is a must for every company, or else you will see big variances when you run your financials, which accountants and auditors will question every single time.

Update Standard Cost without Changing Existing Inventory on Hand
Depending on how your company wants to recalculate standard cost, you may not want it to change the inventory value on hand.

To do this, all you need to do is just updating the Standard Cost field on the Item Card of the Stockkeeping Unit Card is only part of the process.

The folks at Microsoft made it even convenient for you to do so:

Standard Cost Update

All you need to do is just change the Standard Cost to whatever you like and you’re done. For manufacturing companies they may use the Calculate Standard Cost functionality.

What’s missing is you need to revaluate what you current have on hand to the new standard cost. Just updating the standard cost on the item card will only affect purchase or incoming items going forward. It will not affect historical standard cost values!

Where the Common Mistake Occurs
Not running Adjust Cost – Item Entries aside, the problem is not with the actual update of the standard cost, but the current inventory you have on hand.

Instead of running the Inventory Valuation report or the Inventory to G/L Reconcile report to get their inventory value, most accountants do the following:

  1. Grab the Standard Cost on the item card
  2. Multiply by the standard cost from step 1 by the quantity on hand
  3. Manually adjust the inventory G/L account

The 3rd step is what kills you. Making manual G/L entries will only make reconciliation between the item ledger and general ledger extremely tough and add a tremendous amount of (unless) work. In my career, I have not met a person that wants to do more work that is useless.

Update Standard Cost and Changing Existing Inventory on Hand
If you want to change your current inventory value on hand, you have to run the Revaluation Journal AFTER you update your standard cost.

Microsoft even published an article detailing the proper way of updating standard cost for your Dynamics NAV implementation. Click here for the article.

Properly used, the inventory function in NAV never goes wrong and will never require human intervention. What’s wrong is the information you feed it.

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

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:
“You cannot undo line xxxxx because warehouse activity lines have already been posted.”

“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

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.

Unexpected Changes the Expected Receipt Date in Dynamics NAV

This is one issue that I hear from customers using Dynamics NAV (formerly Navision) quite often is why does the Expected Receipt Date keep changing?

The Expected Receipt Date in Dynamics NAV is the main driver for inventory planning. Dynamics NAV uses this field to calculate the availability of the item. Based on this date, Dynamics navNAV calculates when the item can be received into your warehouse.

On the purchase order, the field is on the header and on the lines. Dynamics NAV will only use the field on the purchase lines in the calculation.

What the Help Says
Looking at the help, the explanation is simple enough:


Basically, what it says is that the Expected Receipt Date on the purchase line should copy the information from the purchase header, if it exist. Otherwise, it will follow a formula:

Planned Receipt Date (Order Date on the purchase line + Lead Time Calculation on the Vendor/Item Catalog, if it’s blank, then the Lead Time Calculation on the vendor card)
+ Safety Lead Time (On the Item card or SKU card)
+ Inbound Whse. Handling Time (On the Inventory Setup or the Location card)
= Expected Receipt Date

However, if you continue to drill into the help, you’ll find another formula for the Expected Receipt Date:


Order Date (on the Purchase Order)
+ Lead Time Calculation (From the Item Vendor table, if blank it’ll use the field on the SKU, then the item card)
= Expected Receipt Date

If you drill down on the Lead Time Calculation Help, it will say:


If I follow the formula correctly based on the help:
Order Date + Lead Time Calculation =
= Planned Receipt Date
= Planned Receipt Date + Inbound Warehouse Handling Time + Safety Lead Time
= Expected Receipt Date

Yes… Nice and Simple…

Other Fields that Affect this Date
What the help doesn’t mention is that there are other fields that will affect the Expected Receipt Date. To test this, just create a purchase order and go to the Shipping Fasttab (or tab if you’re using the classic client) in your version of Dynamics NAV.


The Safety Lead Time, Lead Time Calculation and the Inbound Whse. Handling Time explanation is pretty straight forward. In our test, the CRONUS database has 1 day on the Safety Lead Time.

Here’s what happens when you change the following dates on the Purchase Header:

Requested Receipt Date, it will changed/updated on the Purchase Line:
– Order Date
– Planned Receipt Date
– Requested Receipt Date

Promised Receipt Date, it will changed/updated on the Purchase Line:
– Planned Receipt Date
– Expected Receipt Date
– Promised Receipt Date

Expected Receipt Date, it will changed/updated on the Purchase Line:
– Planned Receipt Date
– Expected Receipt Date

Here’s Where It Gets Awkward
These dates work FIFO. So whatever date you change on the Purchase Order header will take precedent over what was entered before.

Worst, when you update the dates on the header, you’ll get a message asking if you want to change the Purchase Lines, WHERE ALL THE INVENTORY CALCULATION TAKES PLACE!

There are a lot of instances where the user will want to look at the purchase order header and get a feel for what is coming in what by who. Make sure the user know exactly what’s going on.

An option would be to remove these dates from the header and force the user to enter the lines. But if you have long purchase order, this is not really an option.

In the end, becareful about changing those dates when you’re entering purchase orders in Dynamics NAV!

Why Your Inventory Cost is Wrong

The Problem
I hate beating a dead horse to death, but there are a couple of incidences that prompted me to write this article. Navision 1.0 has been out since 1996, yet it always astounds me when I walk into a company claiming that their inventory costing and cost of goods sold is incorrect because Navision is bugged.The first question I always ask is: Have you guys ran the Adjust Cost – Item Entries process? Most of the time, I get the blank stare asking what the hell I’m talking about.

The Mandate
Straight from the Dynamics NAV help:

The Adjust Cost – Item Entries batch job adjusts inventory values in value entries so that you use the correct adjusted cost for updating the general ledger and so that sales and profit statistics are up to date. The cost adjustment forwards any cost changes from inbound entries, such as those for purchases or production output, to the related outbound entries, such as sales or transfers.

Basically, it will update your COGS and the Unit Cost on the item card to the correct cost that the item was brought in. Simply put, you HAVE to run this process BEFORE you do any meaningful financial and costing analysis.

It doesn’t matter what your costing method is. Doesn’t matter what your setup is. You HAVE to run this if you want to do inventory costing analysis in Dynamics NAV (Navision).

Here’s what the process looks like in RTC:

Adjust Cost - Item Entries RTC


Here’s what the process looks like in Classic Client:

Adjust Cost - Item Entries version 5.0

Note that the Adjust Cost – Item Entries will look different depending on the what version of Navision you use.

If you do not run this, no analyst in the world can begin to figure out what exactly the cost should be and address any incorrect inventory values you may have.

Side Effects
Note that if your company has never ran this before, or have not ran this in a long time, there may be detrimental affects on your inventory and COGS. Here’s a partial list of what you may encounter:

1. Your COGS on the G/L will go wild. The reason for this is that most companies, when they do not run the adjust cost, will use the general journal to “calculate” what the COGS should be. So when you do decide to let NAV do what it’s suppose to do, you will need to reverse these journal entries.

2. Your Inventory on the G/L will go wild. The reason is the same as above. The journal entries will need to be reversed.

3. Your item unit cost will go wild. The reason, again, is the same as above. A lot of times when you make an inventory journal adjustment to “take out” the inventory with the incorrect cost and positive adjust in the item with the correct cost, you are only doing it on the surface. The way NAV allocates and applies the inventory entries will most likely be different than what you adjusted.

Why Bother Going Though the Trouble?
Looking at the side affects, you may be wondering, why do I want to bother going through this process if I’m running fine as it is? The answer is simple, but it will reduce time and free up your company’s human resources to focus on important things.

Think about the manual spreadsheets and human memories that your salespeople need to figure out what cost the item should be before you can quote a competitive price to your customers. Think about the time it takes your internal accounting staff to figure out what your bottom line should look like on the financial statement. Think about if those times are freed, what other amazing things your employees can come up with to make your business even better.

A lot of companies will give their Trial balance to their CPA and let them make do the calculation. But realize that what they’re doing is just an estimate. It is NOT accurate. The CPA’s priority is to make the number seem reasonable so he/she can do your tax return and having paper trail if there’s an audit. His/her goal is not to get the accurate inventory cost.

Ask any good accountant, reconcilation is one of the most time consuming and useless tasks.

Ask any good salesperson, having a quote rejected because they cannot get the competitive price to the customer is not only a colossal waste of time on the company, but also for the customer. It reflects on the reputation of your company

Ask any good business owner, not having accurate profit and loss for each transaction… Well, you get the idea.

Let Dynamics NAV do its thing so it can help your business can do its thing.

Abnormal Item Charges

Dynamics NAV is a ERP software that’s built on best business practice. However, that’s not to say that the users of Navision operates on best business practice.

This post describes what I would like to call Abnormal Item Charges. Again, as with what I’ve described with Abnormal Posting Date, don’t bother looking it up on any GAAP dictionary or NAV website. It’s a term that I made up because I lack the vocabulary to think of a better name. English, afterall, is my second language.

What is Abnormal Item Charge?
Abnormal Item Charge are posted item charges that are applied to the open Purchase Order that has not been received or invoiced.

An Example
A lot of times when a company orders some items from factories, they will buy the finishes of the goods that you want to order, i.e. special metallic paint. Because of the competitiveness of factories, they will sometime offer the company to pay only partial (or no payment at all) until the products are successfully manufacturered. The special finishes they will have to pay now.

So at the time of the PO creation, the company will only have paid for the special metallic paint. The company wants to pay for the paint while allocating the cost of the paint to the inventory that they will possiblity receive in the future. So an item charge line is created on the PO and allocated the cost of the paint ot the purchase lines.

The Effects on G/L
As we discussed previously, this item charge will post to the following G/L accounts:
+ Inventory
– A/P
+ Item Charge G/L Account (Purchases)
– Direct Cost Applied

So the additional cost of the item is correctly accrued to the inventory value.

The Problem
The additional cost components of the item has been allocated and correctly posted to the G/L. The problem is, there’s no inventory for the additional cost to apply to.

This means that the value entries will be created, but it will not reflect on the inventory valuation report until the items are received.

The Solution
In version 6.0 (NAV2009), they put out a fix for this in codeunit 90. Now if you try to post an item charge when there are no item ledger entry, it’ll give an error. However, this solution causes problems for the business case described above.

The solution for this was to comment out the code in NAV2009, then create a report that captures the additional cost posted to the G/L that did not have the corrosponding item ledger. We call this report the Abnormal Item Charge report. It’s a pretty simple report. If your company has the same problem, let me know. I’ll send you the report.

EDIT: One of my colleagues reminded me that we can also use the Prepayment Functionality in the US version to handle this. Basically, we would set the item charge line prepayment percentage to 100. Doing this will post the transaction into the prepayment account instead of the inventory account.

Again, NAV is designed to be best practice. This cause in particular forces us to break that best practice because it makes business sense. Note that I don’t usually like to break NAV’s built in best practices, but in this situation, it was a frequent part of the some of our client’s business, especially when factories are competing for orders in a down economy.

Inventory Value to General Ledger Reconcilation in Dynamics NAV

I recently signed up to be a guest columnist on the Microsoft Dynamics NAV community site. I wrote an article with the list of common steps to finding and reconciling the difference between your inventory valuation and the inventory G/L account. The article is posted in the Dynamics NAV Community site hosted by Microsoft.

The article is found here:

Again, the focus is to save you time so you can go home on time.

Accounting Cost vs. True Cost

In Microsoft Dynamics NAV, when doing costing and profitability analysis, you need to differentiate between a transaction’s True Cost and Accounting Cost. Don’t bother looking up these terms in the manual, I made them up for a lack of better terms.

To better explain the difference between True Cost and Accounting Cost, we will use this example:

8/15/08 – Item A was received at 10 pieces for $2.00 each.
8/30/08 – 6 pieces of item A was sold for $5.00 per piece
9/1/08 – The vendor invoice for Item A is posted at $3.00 per piece
9/15/08 – The freight invoice came in and item charge is used to allocate an additional $1.00 per piece
9/20/08 – The rest of the 4 pieces of item A was sold for $5.00 per piece

Accounting Cost:
Assuming on 9/30/08, you’re asked to do a sales analysis for the month of August. When the costing is analyzed for the sales made on 8/30/08, the COGS that accounting recognize will be $2.00 per piece. This means that if we’re printing reports based on Value Entry posting date filter from 8/1/08 to 8/31/08, the profit margin would be 60% per piece. Not bad! For accounting, the cost is indeed $2.00 per piece since that’s the only amount that was recognized in that period. (Some companies makes an accrual on the G/L side for the expected cost of good sold, but that’s a separate topic). This number to management, of course, is incorrect.

True Cost:
In actuality, the cost of the item should be $4.00 per piece because each piece came in at $3.00 with an additional $1.00 in freight charges. The margin of the item should be 20%.

Another scenerio is you’re running the sales report from 9/1/08 to 9/15/08, you would show 0 quantities sold, but the cost recognized in that period would be $12.00 ($1.00 in the additional vendor cost + $1.00 in the freight cost * 6 pieces sold). If you did not check this report and you present this report to the management, be prepared field a load questions on the integrity of both you and the numbers.

Both Accounting Cost and the True Cost are correct! Do not assume otherwise! It’s just a matter of how the user wants to look at the numbers. For accounting, they need the numbers to be recognized in the proper periods so the previous period numbers does not get changed. For management, they want to see the true cost of sales transaction. What to do?

As a simple rule, the Value Entry stores the accounting cost, the Item Ledger Entry stores the true cost. Since most NAV reports dealing with Contribution Margin uses Value Entry table, we typically remove those field from the report because they are misleading for everyone. We create separate reports using the Item Ledger Entry table taking the Cost Amount (Actual) since it rolls up all the costs associated with the sale transaction.

One thing to note when presenting the report off of the item ledger to the management, depending on when you post the vendor invoice and other landed cost charges, the profitability number will change. This means that, in our example, the profitability report ran on 9/1/08 will be different than the same report with the same filters ran on 9/20/08. However, in my experience, once you properly explain this concept to accounting and management, they will understand.

[EDIT] You can also use the Value Entry table for calculating True Cost. However, just filter on the Valuation Date instead of the Posting Date.

Abnormal Posting Dates

Abnormal posting date entries happens when the Posting Date of the receipt/shipments of inventory is after the Posting Date of the invoice. Why does this happen? You’ll need to ask your CFO or Controller. Typically, I found this more in return orders where the receipt of the product is a certain date, and the accounting department decides to post the credit memo in prior dates.

Either by mistake or intentional, if this happens, your Inventory Valuation will not tie to your G/L.

Here’s a step by step on how to replicate this problem, and how to solve this problem:
1. Create a sales order with posting date of 11/01/08
2. Post the Shipment with a posting date of 11/01/08
3. Change the posting date to 09/01/08
4. Post the invoice
5. Run your inventory valuation report as of 9/30/08
6. Notice that the item is not taken out? But if you look at your G/L, the inventory value is taken out.

This will work for purchase side as well. It doesn’t matter how to do it either using warehouse shipment/receive, the underlying process will net you the same problem.

Usually, problems like this won’t come up until the user is trying to do month end and gets really frustrated on why their inventory doesn’t tie to G/L. Unfortunately, there’s no easy way to reverse this transaction after it’s posted, the only way is to run a report at the end of the period to see what transactions have this “Abnormal Posting Dates”.

Here’s a report that will give you all the transactions that have abnormal posting dates. If you take this amount, add/subtract it to your inventory valuation report, it will be equal to the G/L inventory.

To run this report, just put the period you want to close on the Posting Date field. For example, if you’re trying to close November 2008, then your Posting Date filter should be 11/1/08..11/30/08.

Here’ the link for the report:

Entering Beginning Inventory Balance

When moving from a legacy system into Dynamics NAV (Navision), one of the areas you want to try and avoid is messing with the inventory G/L accounts. Most systems are usually pretty good with open A/R and A/P accounts, they can be transferred using the “posting back to the same account” technique that most implementers do. The beginning A/R and A/P G/L accounts would be based on your entry on the General Journal. This is assuming that the A/R and A/P aging reports matches the G/L.

Inventory valuation is one of the areas where we find the most discripencies based on what is entered on the Item Journal  from the physical count and the inventory valuation report from the legacy system. Depending on your requirements, sometimes it doesn’t make sense to go through line by line on the item journal to see where the differences are.

A rule of thumb I always go by is to let Navision determine what the inventory value should be in the G/L based on the positive adjustments posted from the Item Journal.

To accomplish this, do the following:

Suppose you have the following G/L accounts:
11000 – Inventory
58850 – Inventory Adjustment

When posting a positive adjustment in the Item journal, it will post a debit to Inventory and credit to Inventory Adjustment.

When you’re ready to enter your beginning G/L balance, enter the G/L balance for Inventory to account 58850. This way, the difference between the inventory G/L balance from the legacy system and Navision will be reflected on account 58850.

If you do not want to reflect the adjustment in the current period due to financial reporting reasons, you can adjust the difference into an asset account. We usually recommend create a separate account (i.e. 11100 – Inventory Suspense) to store this difference until you can depreciate it.

By not posting any general journal entries to the inventory accounts, you’ve ensured that inventory valuation reports will ALWAYS match G/L, making everyone happy in the process.