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.

Why it makes sense to upgrade to (at least) Dynamics NAV 2015

Overview
As you are all probably know, Microsoft has announced the next release of Dynamics NAV, called Microsoft Dynamics NAV 2016. With this release, there are a lot of fantastic features that are out of the box. Here’s an image of the planned features releases for Dynamics NAV 2016:

NAV2016

Historically, there are 2 major time consuming portion of an upgrade:

  • Code Merge
  • Data Upgrade

However, since the release of Dynamics NAV 2015, Microsoft introduced a number of PowerShell cmdlet to automate the upgrade process.

One of the cmdlet in the Development Shell called Merge-NAVApplicationObject, it essentially merges the application code for you and spits out any conflicts for you to resolve manually.

Additionally, Microsoft also introduced the cmdlet Start-NavDataUpgrade that will essentially run the upgrade toolkit for all companies as a script.

This means what used to take hundreds (sometimes thousands) of hours for an upgrade can now be done at a fraction of the time!

Not only major upgrades, you can use the same method to apply hotfixes that are released every month into your database without spending tons of hours on consulting fees.

All this… Providing you upgrade to at least Dynamics NAV 2015.

The Strategy Behind This
Prior to Dynamics NAV 2015, clients would wait, and wait, and wait, then wait some more until they find a version with the improvements they like; or sometimes wait until they can’t run Dynamics NAV in their current operating system before they even consider upgrading. This is why you see some end user sites running version 5.0, 4.0, 3.7, or even 2.0!

The problem when you’re behind on the versions in any software is that when you do decide to upgrade, it’ll be a major impact on your business and your budget. In some cases, companies running on older version of Dynamics NAV (or Navision as it was called back then) may decide to get rid of Navision and make the mistake of moving into a competing product.

This is a threat to Microsoft and they realize this. With the Upgrade cmdlets, Microsoft finally has a solution to this.

What Microsoft Hopes You Do
With these improvements, instead of having a major upgrade, you would do “incremental” upgrades (hotfixes every month, R2 releases, etc). This means that you would implement Dynamics NAV, apply all the monthly release hotfixes with the cmdlets, then use the same method to upgrade to the newer version when it’s released.

This goal is that when you guys do go to a newer version, the impact on your business and your budget will be incredibly minor; while the benefits for the newer version will have greater beneficial impact for your business.

What Microsoft do not want you to do is to wait and then do a big version jump with a big upgrade cost.

Conclusion
As any developer that have use the upgrade cmdlets will tell you, it’s good but it’s not perfect. However, it’s a FANTASTIC starting point.

What my personal hope is that the upgrade process will be so easy with future releases that the end user can run the upgrade themselves, rather than to hire a consultant to do it for them.

 

When to Expect the Next Promotion for Dynamics NAV

Just a quick note on when to expect the next Dynamics NAV promotion from Microsoft.

There are 2 main periods during the year where Microsoft will MOST LIKELY release promotions and discounts for Dynamics NAV (or AX and other Dynamics product line). They are:

Microsoft Fiscal Year End
Microsoft’s fiscal year ends on June 30th. They want to drive their numbers up so they can report a strong fiscal year. So look for new discounts and promotions about 2 to 2.5 months prior to June. So look for discounts starting in late March or April.

Calendar Year End
December 31st is another period where Microsoft will have a lot of promotions and discounts. The calendar year end discounts will be released about 2 to 2.5 months prior as well. So look for discounts starting late September or October.

Conclusion
To get the most bang for your buck, I would hold off on purchasing until these promotions appear. Even though there are promotions from Microsoft, there may be certain terms and conditions which will exclude you from taking advantage of the promotion. So even if you waited, you may still be excluded.

Having said that, businesses can’t wait. If you need a module or new user sessions right now; get it. Promotions are nice, but if it hurts your business because other people can’t log in to do their job it won’t make much sense to wait.

Free training for Dynamics NAV – Be Self-Reliant!

One of the most underutilized resources for training is from the MSDN site updated by Microsoft. Instead of paying your consultant for training, train yourself! You’d be surprised at how many so-called “NAV partners” out there that do not know how Dynamics NAV works.

For step by step instructions on each department, click here. Please note that at the time of writing, the manuals are released for NAV 2013R2.  I suspect the content will be released for NAV 2015 soon. You can change the content for your specific version by clicking on the Other Versions.

MSDNHelp

If you’re more into watching videos than reading, MSDN also have a full suite of “How Do I” videos. They can be accessed by clicking here. The videos on here are created by Dynamics NAV MVPs and the product team at Microsoft. The contents on here are more technical than the MSDN help for Dynamics NAV.

Conclusion
Yes, it’s easy to just pick up the phone and call your NAV partner for answers. If you do that, you’re basically asking for a fish. My recommendation to you is teach yourself how to fish.

If you teach yourself how to fish, then your conversation (and your budget utilized) with your NAV partner would be how to make Dynamics NAV better for your company. In all honesty, that’s where you will get the most bang for your buck with your NAV partner.

Unexpected Changes the Expected Receipt Date in Dynamics NAV

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

ExpectedReceiptDate1

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:

ExpectedReceiptDate2

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:

ExpectedReceiptDate3

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.

ExpectedReceiptDate4

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!

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

Optimizing your Aged Accounts Receivables Report

Overview
Doing numerous upgrades from an older version of Navision to NAV 2015 and 2013, one common complaint is how slow the reports are running. This is especially true for larger reports like the Aged Accounts Receivables, Aged Accounts Payables , Inventory Valuation, etc.

The old reports that took a long time, such as the Inventory Valuation report, will still take a long time. It doesn’t matter what version you go to. However, there are some reports that used to be quick, but is slow after the upgrade.

One of these reports is the Aged Accounts Receivables report (Report ID: 10040 – Aged Accounts Receivable).

The Breakdown
CAUTION: I’m about to get “programmer”. If you want the faster report, just skip down to the bottom and download the object.

Removing the Data Type of Column from the report, we get the following DataItem that the report loops through:

AgedReceivables

On initial look, the report looks simple enough. There are 3 data items:

  • Customer – The report loops through the customer record to see which customer we need to calculate the aging for
  • Cust. Ledger Entry – For every customer record it finds, it will loop through the all of the customer ledger for that customer. For any customer ledger that has a remaining amount, it’ll put it into a temporary table
  • Integer – This dataitem loops through the same records that are inserted into the temporary table on the Cust. Ledger Entry dataitem and summerizes the information to display in different aging “buckets”.

The Problem
The reason why this report is slow is if you check the DataItemTableView property on the Cust. Ledger Entry dataitem, you’ll see that the report is looping through ALL of the customer ledger for that customer.

NoFilterSet

This report will run fine if you’re A/R aging is small. However, this report will get slower as time progresses with more transactions. Worst, it’ll consume all the memory on the server and force you to restart.

The problem becomes real apparent when you have EDI customers that are running hundreds of invoices per day.

The Solution
The idea of the original A/R aging report is correct. Basically, look at the remaining amount based on the date criteria; if there is a balance, then it goes into the calculation.

The problem is that it’s not running any type of filters to exclude old transactions that has no relevance in our calculation.

To address the performance problem, here are the main things we will need to do:

  1. Look at only transactions that are marked as Open
  2. If the report is to be backdated, look into the only the history that pertains to the date criteria

First thing we do is to set the proper DataItemTableView property with the filter of Open.

FilteronOpenOnly

Then we need to add a new Detailed Cust. Ledger Entry dataitem to look at the application history of our A/R transaction:

The Property:

DCLEProperty

The Code:

AddDetailedCustLedger

Basically, we’re limiting the reads of the database to only open transactions and the subsequent A/R applications from the Aged as of Date set on the report.

Here are the report objects and the text file for your reference:
OptimizedARAging

Conclusion
Not sure what the developer at Microsoft is thinking when programming this report. Aged Accounts Receivable/Payable is one of the most data intensive reports next to the inventory valuation. Reading through every record just does not make sense.

Yes, it’ll work in the short run, but give a few years and the report will slow to a crawl, which is already experienced by customers upgrading.

Breaking up with Ex-Girlfriend vs. Implementing Dynamics NAV

The Decision
It’s time.

He has been with you for a long time. In the beginning, he was great. He did everything you needed him to do and you gave him anything he wanted. In return, he gave you what you needed as well.

But now, things are becoming toxic. It doesn’t matter how much time and effort you give him, he is just dragging you down, making you slow, and holding you back. What made you happy 5-10 years ago, is just not enough for you anymore. You’re looking for more, and it’s something more that he just cannot provide.

The New Relationship
The change is hard, but you know in order to grow, you need to change. It’s not just for you, it’s also for the people around you.

So you went for something new.

– He is smarter
– He works faster
– He looks better
– He makes you more efficient
– Any requests you throw at him, he will fulfill
– He will accomplish a lot more for a lot less

There will be a learning curve for you to get used to the way He moves, the way he looks, the routines you will try to figure out. There will be something that you don’t like, but you are willing to work with him on it. And he will change.

The Breakup
Anything new in your life requires some getting used to. Breaking up is hard. There are a lot of memories you’ve shared. Sometimes, those memories you’ve shared will come back.

– You missed the way he looks
– You missed the way he moves
– You missed having the routines you’re so used to with him every day

There are times where you’ll question yourself whether you’ve made the right decision. There are even times when you want to go back to him.

You’ll only want to remember the good things that he did for you and you will be willing to “forget” all the bad things he did. Painfully, sometimes you needed to be reminded how bad he was for you and your business.

Conclusion
Sure, you will miss what was there before, but we all need to move on. And we all know he’s not coming back. You’re with someone new now.

You needed to retire your old software and implement Dynamics NAV for your business in order for your business to grow.

I guess the similar concept described above can be said about your leaving your old significant other…