Dynamics NAV Extensions – A Potential Weapon of Mass Destruction

Overview
With the release of Dynamics NAV 2017 and Dynamics 365 for Financials (which is technically NAV2017), the buzz word in the Dynamics NAV development community is the development function called Extensions.

What are Extensions?
Extensions is a way for NAV Developers to put modifications in your live environment without modifying your core NAV system.

How Does it Work?
The extension basically implements the code on the Service Tier instead of the NAV development environment. The clients connects to NAV using the service tier, this is how you see your NAV in whatever state it’s in.

Implementing the code directly in the service tier means that you won’t see any of the modifications if you go into the NAV development environment. You can only see the new tables created and table field changes if you look into the SQL tables directly.

Why is the Development Community Buzzing About This?
I honestly don’t know. I think the hype of Microsoft releasing something new have people gagaing and swept up into the hype.

I remember when Microsoft first announced the idea of multi-tenant for NAV services. Even though people didn’t fully understand it and it didn’t apply to 99% of the NAV population, the community still tauted like it was something that was the second coming. But… That’s hype and marketing for you.

At its current state, the NAV Extension will benefit partners and ISV in that they can quickly take their code and implement it on customer sites. In addition, it gives partners, ISVs, and independent NAV developers to protect their code from everyone else that does not have the “source code”.

For customers, the benefit is that the partners won’t charge too much for putting modifications that they’ve developed for other customers. They will now have a wide range of solutions that are developed in extensions they can essentially “bolt on”.

Lastly, it’s the only way to get your IP (intellectual property) on the Microsoft AppSource.

Why it’s a Weapon of Mass Destruction for a Company?

Notice the statement I made above:

It gives partners, ISVs, and independent NAV developers to protect their code from everyone else that does not have the “source code”

By implementing the code on directly on the service tier, nobody in the world will be able to modify what the original developer has done. The code that your partner/ISV/internal developer has put in is effectively sealed off from the rest of the world.

This means that if you are, for whatever reason, unhappy with your partner/ISV/internal developer, you better make sure, as a company, you have the original source code on which they built their extensions on.

Playing the devil’s advocate and assuming the worst scenarios with extensions

If you have a NAV or ISV partner that delivered their modifications to you as extensions and they provide terrible service and lacks basic knowledge of the product. If you want to ask another NAV partner or a freelancer to come in and help you, you will need the blessing of your previous NAV partner and pray that they are cooperative in provide the source codes.

If you purchased an ISV for your business, however, there are still some missing features on the ISV that you need your partner to add. Your partner will be unable to help you. You will need to reply in the ISV to re-release the extension for you.

If you have your own internal NAV developer on staff. If you need to terminate his employment for whatever reason, it’s very possible he/she can take the source code with them and leave you high and dry. No partner can come to your aide and you essentially have to live with what you have.

Conclusion
Even now, if you purchase an add-on in the 30 million object ranges, you’re effectively held prisoner by your ISV or the partner. There are special ways to “hack” the 30 million object ranges within SQL, but it’s usually messy and will incur a lot of additional expense on your part.

However, with Extensions at it’s current form, it will be impossible for any NAV developer to come help you if you do not have the original source code for the extensions.

Dynamics NAV (Navision) has always been an open source software. Implementing a structure where you effectively seal off the code is troubling.

It seems like before you do any kind of Extensions development with your partner or customer, you will need to lawyer up first. And as we all know, once you get lawyers into the mix, it just goes downhill from there.

What Your Microsoft Dynamics Product Will Be Called in the Future

Straight from the official announcement from the NAVUG Summit at Tampa yesterday.

Rebranding of Dynamics Product Line
So there won’t be Dynamics CRM or AX anymore in the future. It’ll be called Dynamics 365 for <insert business function>

The only Dynamics products that will retain it’s name are the NAV, GP, and SL lines.

Dynamics 365 names in the future

Dynamics 365 names in the future

So basically, you will be able to buy individual business functions with Dynamics 365. The best part about all this is that all the products has a Common Data Model. This means that all of the business functions you buy from Dynamics 365 will automatically be synced together. This is too cool.

Release Date Announced!
The official release date announced for Dynamics 365 is on November 1st, 2016.

Recap of Directions 2016 – Figuring It Out

Overview
This is a recap of my experience at Directions US 2016.

NAV Directions is an event hosted by NAV partners for NAV partners. In reality, it’s just a large Microsoft infomercial for partners. Microsoft has giving us what’s to come and the directions (pun?) they’re taking with the future of business software.

Welcome to Directions 2016: Figuring Sh*t Out
The NAV Directions committee should’ve created an appropriate name for this year’s event. The conference featured a lot of cool stuff, but also a lot of questions surrounding its details.

The event highlighted what Microsoft is currently doing as well as where they’re going with the product and the product ecosystem. However, a lot of what they’ve released to do seemed half-baked and left all of us wondering not only when Microsoft will be figuring their stuff out, but how will partners try to figure out what Microsoft is still trying to figure out so they can figure out what to do.

Important Takeaways
AppSource
In case you have not heard of it by now, Appsource is the way of the future that allows all developers to publish their mods for sale on Appsource. This is a welcomed news for independent developers as they can now sell their mods for the general public. It’s good for customers as well; Microsoft has indicated that they will “let the market decide” the pricing and the apps that are popular. Hopefully, we will see an end to outrageously expensive add-ons that are on the NAV channel.

Pros:
– Anyone and their moms and publish apps on the Appsource
– way to quickly get your mod out into the world without doing too much marketing.

Cons:
– You can have people that have no business doing NAV publishing crap on Appsource.
– No monetization?! It’s not a market if you can’t sell anything. Microsoft is still trying to figure this one out.

Extensions
It’s the way of the future. Microsoft has open encouraged all partners to develop their mods on Extensions. I will make a quick video on how to create an extension in a future blog post.

Pros:
– You can deploy it on multiple sites easily quickly
– Deploy it on Appsource for sale to customers that you would never otherwise talk to
Cons:
– Debugging, no one can see the source code. You can easily see the problem here in that users can be held hostage by the app developer for their financial data (this is not Angry Birds we’re talking about here).
– Still a ton of questions on flexibility of extensions. Microsoft and partners are still trying to figure this one out

Dynamics 365
The initial release will be called Dynamics 365 for Financials. It’s built on a Dynamics NAV 2017 platform. It will be part of the Office 365 offering at around $40 – $50 per user per month. The target for this product, as it stands, will be to replace Quickbooks Pro users. Later on, they will release (or unlock) more functionalities.

Pros:
– Appsource. You will get a wide varieties of add-ons that you can quickly buy and deploy.
– It’s cheap and packs the power of Dynamics NAV.
Cons:
– Frankly, I don’t even know who my clients buy their Office 365 from. How will NAV partners compete in this space? How will the NAV pros help in this sector? Perhaps the product will be so easy to use that you will not need a professional to help you. Still trying to figure out how to incorporate this as a VAR.

Conclusion
After leaving this event, I left with more questions and uncertainty than I came in with. It’ll be interesting on how it will all shake out.

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!

Understanding What You Want Out of Your Business

Overview

Having visited numerous SMB (Small or Medium Business) companies and implementing Dynamics NAV since 1999, I’ve had the wonder pleasure of meeting unique and interesting people. The business problems that were discovered are both exciting and challenging. Over the years, I’ve learned a lot both about businesses in general, as well as myself and our organization.

Rewind a few years in my career, I remember whenever I go into a company on a consulting engagement, after analyzing the customer’s business, I would make all these really good, cost effective, and sometimes contradictory recommendations on how to make their business more efficient and effective.

I would say out of the 10 recommendations and suggestions I would make, if I was lucky only about 3 or 4 of the recommendations I make are heeded. Some of the recommendations that I thought would be a sure hit turned out to be duds. I’ve always thought that the only reason why certain projects didn’t go through was because of the budget.

To a certain extent, it’s true, the monetary cost of certain projects will definitely be ignored especially if the benefit cannot be justified. But as I grow older (and hopefully wiser), I realized that most of these projects were rejected even before it got to “how much it’s going to cost” stage.

I realized that there is something else that is involved on deciding whether certain project gets supported. That “something else” is the current life stage of the owner.

It’s About the Money, but Not Really

It’s all so simple. A 30 year old person will make different “long term” decisions than a 60 year old person. What the younger me was trying to do is make suggestions for long term strategic growth for a business owner that’s trying to retire and/or sell the company. And making strategic short time gain recommendations who’s in the business for the long haul.

As I mentioned earlier, often these suggestions and recommendations will contradict each other. How should a company spend the time and resource to hire an assistant or spend the time and resource on training to make the team more effective? Invest in new equipment or just repair and patch the old one? Should we just patch this deficient business processes? Or totally revamp it? There are business cases for all, and depending on which way you swing, you can argue it either way.

After years of frustration on why my brilliant ideas were so casually disregarded, I realized that without understanding what the owner intention is for the business, a lot of energy I spent figuring out solutions to what I think is their business problem is will fall on deaf ears.

At the end of the day, what every SMB business owner want is for all of their problems to go away. But how do we, as a hired guns, help facilitate this? And how do we know which problems they consider “must solve now” or “solve later”?

For a while, my most feared question from our clients is: “How do we make our company more effective?”. Because this entailed hours analyzing and writing up recommendations, then having it shot down. Very demoralizing, billable or not.

The First Thing that We Need to Understand

What do you want from your business?

Are you looking for this business to provide comfortable retirement? Or do you want to expand it?

To expand it (and maybe sell it at one point), you have to invest and make changes in your business. To provide comfortable retirement, you may not want to change too much; stay the current course.

There are ways to implement the proper strategy for both scenarios. But don’t try to ask for advice on expansion when your goal is retirement. It will not work and you will come back and want to change everything.

Similarly, don’t think about short term retirement if your goal is to expand. Because to make your company more efficient in the long run, it will force you to make painful decisions on personnel, technology, and the way you do business.

Knowing their frame of mind and putting myself in their shoes allowed me to become more effective on providing recommendations for resolving the CEO’s problems on “what should be resolved right now”.

Conclusion

Note that the subject matter is usually very tense and a lot of CEOS and owners of the organization were taken back by the rather blunt question. Sometimes, it’s not as straightforward when family members are involved. Sometimes, the CEO wants to retire themselves but want to expand so their family members can take over. These contradictory objectives requires hashing out by answering more tough (and blunt) questions.

At the end of the day, knowing what you want out of your business will not only make our job easier, also make your life easier and happier.

Common Mistake in Updating Standard Cost in Dynamics NAV

Overview
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.

Conclusion
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.

Find and Replace Data in Dynamics NAV 2016 with RapidStart

Overview
One of the powerful tools in the old Navision classic client was the ability to do a Find/Replace. For example, if you wanted to change the Salesperson Code on the Customer Card from one value to another, just go to the field you want and click on Find, then Replace.

FindReplaceNavision

When you click on Replace All, it will find all values on this field with PS and replace it with AH.

This was a great function that allows the user to manually do mass change on the data without having to ask a NAV developer to write a process only report or some other modification to do the mass data change. While dangerous, this function did more good than bad in the companies that I work with.

New Version
When Microsoft released the Role Tailored Client, now called the Windows Client, they took away this ability. Instead, they gave us… This?

FindReplaceNavision2

Yes, we’ve gotten a lot of calls from our clients asking us what happened here.

The New Find/Replace
Thankfully, there’s another tool that can replace the Find/Replace option in Dynamics NAV. The tools is using the RapidStart functionality that’s built into Dynamics NAV. The nice thing about using RapidStart is that it validates whether the data is good or not.

Here’s a 2 minute video that shows you how to do a Find and Replace in Dynamics NAV 2016 using RapidStart.

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.