Chinese Language Pack for Dynamics NAV and Dynamics 365 Business Central

Overview

Recently, we started a branch in Taiwan. One of the reasons, amongst other reasons, I started this branch is because it’s country where I was born. So in a way, I feel a little obligated to help the companies in my home country to be more efficient and enjoy the benefits in what Dynamics NAV has to offer.

There are many lessons learned in terms of starting a company in a different country; the local culture and views on technology, how to speak and appeal to the local management, etc. I’m sure I’ll blog about in a future article. For now, I want to share with you guys the many challenges when doing translation in Dynamics NAV (Navision).

One of the Technical Challenges

When selling into a local market, one of the things that is mandatory is whether you have the local language pack. As you know, Dynamics NAV is a software that’s utilized all over the world. Microsoft also supports languages for many countries out of the box.

Unfortunately, the Chinese language pack is not one of them. This means we had to create our own.

The Process

The process involves creating caption for all the fields, errors, messages, reports, etc.

There are 3 main parts for creating translations that works in Dynamics NAV.
1. Translate the platform by translating the resource file for each DLL file.
2. Translate all the captions by adding a new language into captionML in each object
3. Localize development environment by translating .stx and .etx files. These 2 files have to be sent to the Microsoft regional office and sealed by Microsoft. (Only required if you want the Development Environment to be in Chinese as well)

Fortunately, Microsoft provides tools that allow you to make your own localization. In our case, we did this for the Chinese language. The step by step instruction on how to do this is explained here. Basically download the PLLP (Partner Localization and Translation Licensing Program) and follow the instructions very carefully:
http://blogs.msdn.com/b/nav/archive/2013/11/15/microsoft-dynamics-nav-2013-r2-pllp-toolkit-released.aspx

You will spend most efforts on translate all the captions. However, this part can be accelerated a little bit by exporting all the captions in txt file. Once you translate all the exported captions with A1033 code (English label) to the corresponding language code (e.g. A1028 represents Chinese Traditional), import the txt file back to NAV. Then it’s done!

Introducing the Chinese Language Pack for Dynamics NAV and Dynamics 365 Business Central

As you will see, we did this for Traditional Chinese, but the nice thing about this is that it can be easily translated to Simplified Chinese.

Here are the results:

Chinese Dynamics NAV Selection
Chinese Dynamics NAV Selection
Chinese Dynamics NAV Role Center
Chinese Dynamics NAV Role Center
Chinese Dynamics NAV Departments
Chinese Dynamics NAV Departments
Chinese Dynamics NAV Customer Card
Chinese Dynamics NAV Customer Card

Here it is for Simplified Chinese:

Restarting Job Queue when it Hits an Error on Dynamics NAV 2013

Job Queue
In Dynamics NAV 2013, you can setup job queue to automate processing of tasks. Popular tasks that are automated are things such as Adjust Cost – Item Entries, EDI processing, Reporting, etc.

Setting up job queue in NAV2013 couldn’t be much easier can a step by step instruction can be found here.

The Problem
When the job queue runs into an error, it will never get picked up again. This means that while the Job Queue is an automated process, the IT manager will need to monitor this every day to make sure every process is running.

I know what you’re thinking, “This does not make sense!”. I fully agree.

There are some processes where the error is fatal. This is the reason why you would not want to have it run again. However, there are some situations where the error occurs when the table is locked by another process, in this case, you absolutely need to have it restart again.

This is especially true when you process EDI orders. You have to send back acknowledgment and/or confirmation within a certain timeframe or else you’ll get charge backs. Having the job queue error out because of table locks does not make too much sense.

The Solution
The problem lies in the Job Queue Dispatcher codeunit (448). If you go down and find the local function GetNextRequest, you’ll see that for some odd reason, the process is only looking at any statuses that are Ready.JobQueueReadySo we will need to modify the code to scan for the error entries as well.

JobQueueReady2

Depending on what you use the Job Queue for, I would include job queues that are In Process. The reason is if it’s running and someone stops the job queue, it’ll stay stuck in the In Process status.

By setting this, it’s important that you set the Max No. of Attempts. You don’t want the job queue to keep running if there really is a critical error.

A special thanks to Rafael Rezende for helping me with this!

Lot Accumulation Period vs Rescheduling Period for Dynamics NAV Manufacturing

Overview
With the release of Dynamcis NAV 2013 and NAV 2013 R2 (Navision 7.0 and 7.1 respectively), there has been a few improvements in the existing functionality. One of the more notable ones that I’ve been meaning to write about is the enhancement to how NAV create the planning worksheet.

Ordering for Manufacturing
Most manufacturing companies will plan what they want to make within a period. How long that period is will be determined by the company running the plan. Speak to any manufacturer and they will tell you that they are a Make-To-Order manufacturing company. This means they don’t, or at least intend to, make any items if there are no existing demand for the item.

Typically, the Reordering Policy for these types of companies will be set to Lot for Lot. Meaning that when MPS and MRP plan is ran, it will look to consolidate orders within the period and make the most efficient production order(s) and purchase orders to satisfy the demand.

The Old
In the versions prior to Navision 8.0, you only had the Reorder Cycle. So if the demand does not satisfy the 2 weeks supply, it’ll just tell you to cancel the order and create the new order for the new demand requirement. Well, if you stay in any manufacturing environment long enough, you’ll know that it’s some times impossible to change what’s already scheduled or released to the shop floor.

Using one field is fine if your aggregation period is the same as your tolerance for rescheduling, but that’s not typically the case.

The New
In Dynamics NAV 2013, they split the Reorder Cycle into 2 different fields. Lot Accumulation Period and Rescheduling Period.

The Lot Accumulation Period replaces the Reorder cycle in that it will aggregate demand for the 2 weeks out from the time you run your plans. The Rescheduling Period basically looks at the orders created during these 2 period, and if there are any changes in the demand or supply, instead of asking you to cancel the production/purchase order, it’ll ask you to reschedule it.

Conclusion
This may not seem much of a big deal, but when I first saw this, I was incredibly happy. For a long time, users had to deal with suggestions on canceling and creating new. So instead of carrying out these action messages, the users basically ignored these advices.

Finally Microsoft did this. Now if we can get more of our requests done in the next release, everyone will be even happier.

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.

Recap of Directions 2013 – Dynamics NAV 2013 R2 is Official

Dynamics NAV 2013 R2 is Officially Released
At the keynote session, Paul White officially announced that Dynamics NAV 2013 R2 is officially released.

The main theme of this year’s Directions is the tight integration between Office 365, Windows Azure, and deploying Dynamics NAV2013 R2 in the cloud.

What Does “tight” Integration Mean?
You know the story. With every release of Dynamics NAV, Microsoft has been touting the release enables Dynamics NAV to be tightly integrated with Office. For years, I never understood what that meant. Office is office, Navision is Navision. To make these 2 talk to each other, you had to cut off an arm and a leg and do a rain dance to start the first steps of integration between the 2 products.

So when I first heard say that Navision is now tightly integration with Office 365, in my mind, I thought “here we go again”. To my surprise, the integration now a lot more seamless. Now to be honest, I was not impressed. The reason is because when I first heard about integrating Office and Navision, my impression of it is what they showed us as of right now. Having said that, there are still a lot of improvements to be had but during this session, I actually felt comfortable and (more importantly) worthwhile rolling this out internally within my organization and recommending it to our clients.

Obviously, words cannot clearly articulate what this “tight integration means. So we will need to wait until Microsoft release more “How Do I” videos on MSDN or Youtube.

Interesting Points From the Conference
There are a couple of interesting points that I got from this conference:

Dynamics NAV now has 98,000 customer installs worldwide!

This number just bellows me away. Wasn’t it just 2 years ago that Microsoft reported that the installation was around 80k?

On the technical side:
– Dynamics NAV 2013 and future releases of Navision can now just do technical upgrades (not full upgrades) Once you’re on Dynamics NAV2013, future upgrades will be easier because you can now upgrade databases using Shell commands.
– Use Query Objects as a datasource to push data into Excel to create reports and BI type analysis

On the lighter side:
– The food this year was faboulous. It was a tremendous improvement over last year.
– Claus Lundstrom has issued a public challenge to me stating that he can create/modify a RDLC report faster than I can do so in the classic client. Look for this in my next blog post.

It’s nice to see some fellow Microsoft MVPs in this event. I had to hunt down Matt Traxinger because he refused to introduce himself at all during the event. I only met him by accident as I happen to walk past him getting a beer.

MicrosoftMVPs

From the left to right: Mark Brummel, me, Matt Traxinger, Claus Lundstrøm

The person missing here is Rashed Amini. I couldn’t find him even though he’s the tallest amongst all of us.

Why You Cannot Find a Good Service Based Solution Center

The Conversation
Recently, I had a meeting with an owner of a company that I thought was going to ripe me a new hole. This company originally purchased NAV from another solution center and overpaid for subpar service. Problems steming from wrong advice given to unnecessary modifications causing them delays in their operations. Noting this, they went to another solution center that did a wonderful presentation, but eventually suffered the same treatment as the original solution center that sold them the product. Basically, non-existent support and overbilling.

They eventually found us and after my interview with the owner of this company, I went through our company philosophy, how we approach customers, and what our princples are. We’re able to gain the trust of the owner and we soon put him at ease that we were the people they were looking for.

Then, the bombshell questions came. “Why are there no good company that service Navision (Dynamics NAV) out there?”. Followed by, “why didn’t we buy the software from you?” I have to admit, the 2nd question caught me off guard.

The Industry
It’s really not fair to say only Navision (Dynamics NAV) has this problem. The problem really applies to all of ERP industry, regardless of whether you sell Great Plains (Dynamics GP), SAP B1, Epicor, Oracle, etc. It’s all the same. Why are there no good service companies that cater to existing companies and users?

I pondered the same question. We obviously carved out a good niche providing excellent service to existing customers. It’s not like we’re smarter than other people doing ERP implementations. It’s not like we have more technical abilities.

With all the talk about our how our industry business model is built on having a long customer relationships, why is it that it’s so hard to find good solution centers that provides good service? That makes the customer want to stay with the company for many, many years?

It’s All About the Money
Yeah, you knew I was going here.

When you’re in the ERP or accounting software industry, the majority of the money from a customer is spent in new sales. Consider the following graph:

NewSales

Assuming the customer is purchased the product in 1/1/13 and they went live on 4/1/13. In the first 3 months, the customer will have spent the majority of the total value of the entire implementation. The cost that you would’ve paid to the solution center will include the software license and the initital implementation.

The reason why you see a few bumps in the post implementation support is because after the customer is live with Navision, they will add on modules, users, etc. In addition, every year the customer (if they choose to) pay for the 16% enhancement. Sometimes the customer will even do an upgrade which will require some labor.

You can extend the graph out longer but it’s pretty much the same.

It will take many years, if ever (if the customer is not on the enhancement plan), for a service based company to match the same revenue obtained from a new sale in the first 3 months.

If you were to own a solution center, where do you want to be? Just looking at the graph, it’s a no brainer. To maximize revenue for a company, you absolutely have to focus on new sales and new implementation. Microsoft rewards you if you focus on the new sales. The owners of the company rewards you if you can bring in new sales.

High Risk and High Reward
Make no mistake about it, to focus on new sales is a tough business. You have to hire and manage a sales force. You have to have enough talented manpower to handle all of that new implementation. On top of that, you have to feed these talents even if you don’t make a sale.

So here’s the cycle, the cost of talent is not cheap. In order to feed this talent, you have to focus on new sales and drive in revenue. Basically, you have to feed the machine. This means that if the customer does not spend enough with a solution center that focus on new sales, you will not get the love that you’re expecting.

Because the machine is so costly to feed, if you don’t make a new sale, it does not matter how talented your staff are. You’re going out of business.

You have to focus your best talents on revenue generating endeavors, basically new implementations. For the low money generators, such as support, you hand those off to junior people or cheap resources. Because post implementation support, to most companies, is a money losing operation. Solution centers of a certain size cannot live off of support services.

Refusing to Play the Game
Now to the 2nd question that client asked us “why didn’t we buy the software from you?”.

The answer to this is simple. When you’re buying a new software, you’re mostly buying from perception or the preceived quality of the company that’s proposing the software to you. When you walk into their office, they have a very beautiful office with very beautiful people. When they do their demos and presentations, it’s all done professionally with case studies and well thought out demos of the software. They even have a secretary to bring you whatever you want to drink.

If you were to come to the place where I work, I’ll be pretty embarassed to show you around. It’s a glorified office that’s 200 sq ft. with dirty walls and old furniture. But I can service you some instance coffee or water.

Now if you were a prospective customer and you walk into their office and you come to our office, which one will give you a better perception of credibility?

How I’ve been able to live and thrive in this business is because I refuse to play the game as I explained here.

Conclusion
While I was explaining this to the owner of the company, he kept saying “but this is not right, this is not right!”. Yes, everyone in the world will agree that this is not right. But this is the reality of our industry.

In the end, my response to the owner of the company was this:

1. It’s hard to find a good service company because focusing on service for existing companies is a money losing business
2. The reason why you didn’t buy from us is because on initial look, we’re pretty damn fugly.

Planning for Dynamics NAV in Manufacturing Environment (2/2)

Overview
On the previous article about Dynamics NAV Manufacturing planning, we discussed about setting up your items to calculate the MPS requirements based on the sales forecast. With the MPS, it allows us to create what raw materials we need to purchase for the months to come.

As emphasized in the previous article, every company makes purchase orders out of some type of sales forecast. For almost every industry, forecasting is an art, not a science.

Planning What You’re Going to Buy
After the Planned Production Orders (PPO) are created for the Finished Goods (FG) and Sub-assemblies (SUB), we will be able to start making purchase orders for raw materials based on the demands from these Planned Production Orders.

To do this, you will need to go to the Planning Worksheet and run the Calculate Regenerative Plan. Put our Starting Date and Ending Date 60 days out or whatever you’re lead time is for your raw material item. This will capture everything you need to purchase now in order to fulfill the raw material requirements. We will also want to run our planning for items that’s categorized as Raw Materials (RM). Since we did not enter in the forecast numbers into our Sales Forecast (we forecast on the finished goods that drives the raw materials), it really doesn’t matter if you include forecast or not.

Raw Material Plan for Dynamics NAV Manufacturing
Raw Material Plan for Dynamics NAV Manufacturing

When the planning worksheet is populated, depending on your settings on the Replenishment and Planning FastTab, it will recommend the purchase orders you need to create by a certain date.

NOTE: Setting the Replenishment and the Planning FastTabs on the item card is an art/science of its own. This will be a good topic for a separate blog article.

The Weekly or <Insert your production cycle> Manufacturing Plan
The weekly plan should be ran based on the actual sales orders that are requiring the goods. Every day, your company will receive sales orders for your manufactured goods. Your items typically have some lead time, either 1 day or 3 days or whatever days. We will use the planning worksheet to calculate all the sub assemblies and finished goods we need to make to satisfy the sales orders.

When you run your Planning Worksheet, click on Calculate Regenerative Plan. Set your Starting Date and Ending Date to 1 week. Make sure the Use Forecast is left blank. The reason is because we are no long using forecast to build our finished goods. We’re only building what we need to ship.

Weekly Plan for Dynamics NAV Manufacturing
Weekly Plan for Dynamics NAV Manufacturing

After the production manager reviews the suggestions made by the planning worksheet, he or she will create a Firm Planned Production Order (FPPO). From the FPPO, each FPPO can be released to the production floor as needed.

Some companies run the weekly plan every day to incorporate any changes in their actual demand. I suspect you will need to have an internal meeting to figure out what makes sense.

NOTE: When you run your weekly (or your production cycle) plan in the planning worksheet, it will delete any outstanding Planning Production Orders. So make sure to re-calculate the regenerative plan based on the forecast when you need to make new or change purchase requirements.

Conclusion
Based on the above scenario, there are 2 basically objectives:
1. Create the production order so your orders can be shipped as soon as possible
2. Have enough raw materials in your warehouse so you can make what you need to ship

Essentially, assuming the above setup, you have to run these 3 steps for planning

1. Calculate the FG items first and carry out action message either as Planned Production Order (PPO) or Firm Planned Production Order (FPO)
2. Calculate the SUB items afterwards and carry out action message eithe as Planned Production Order (PPO) or Firm Planned Production Order (FPO)
3. Buyers calculate buying plan for RM items based on the FG and the SUB items that are created in the PPO.

Planning for Dynamics NAV in Manufacturing Environment (1/2)

Overview
One of the most under-utilized and most important function is the planning functionalities. Within Dynamics NAV (Navision), there are multiple ways of setting up the items and the stockkeeping units to have Dynamics NAV calculate and combine the items that you need to make or buy.

The setup is in itself is a challenge to most companies since most of the planning methods that comes with NAV out-of-the-box are not correctly used by companies in a manufacturing environment. Another challenge is how to run the planning (MRP/MPS) and how to incorporate the planning process to improve upon their daily operations.

In this article, we will simplify the Dynamics NAV (Navision) manufacturing process so you can at least apply some parts, or most parts of this into your company. I do understand most larger and more established manufacturers already have a planning process in place, but for some manufacturers, planning is still done manually in Excel and takes it a long time. Longer than necessary.

Note that even though we’re talking about a manufacturing environment, you can still use the concepts in this article to manage your purchasing process even if you do not manufacture anything.

There are basically 3 important processes in Dynamics NAV manufacturing.
1. Sales/Production Forecast
2. Planning what you’re going to buy
3. Planning what you’re going to make

Defining Your Manufacturing Items
Let’s assume you classify your inventory items into 3 categories.

FG – Finished Goods
SUB – Sub-assembly
RM – Raw Material

Let’s further assume the following:
– Your production orders for finished goods (FG) are created on a weekly cycle. That means you plan out what you need to produce and allocate resources and materials based on the sales orders that are due to ship this week.
– Your sub-assembly (SUB) items are created on a “as needed” basis.
– Your raw-materials (RM) needs to be ordered 2 months in advance. So this means for your raw materials have about 60 days lead time.

Sales/Production Forecast
In order to properly make purchase orders for the raw materials you’re going to need, you will need a sales forecast.

At this point, all of you are probably thinking “our sales forecast is inaccurate/invalid/stupid/wild guess/crazy/a joke”. Before you start off on a rant about how your sales department is disconnected from the rest your organization, just remember that this is an opportunity to get them involved in this process. We need this sales forecast to be able to make a purchasing plan.

The process of getting the sales or production forecast is more of an art than a science. There’s no way to accurately calculate your forecast, there are add-ons, modules, formulas out there that can help you, but in the end it’s just an estimate. And this estimate absolutely has to come from your sales team, not the production team. Your salespeople have a better understand of what they’re going to sell than the production team.

Did I mention sales forecast is an art and not a science?

When you get a sales forecast, it will probably only be your FG (finished goods) items. Salespeople typically sell finished goods, not raw materials or sub assemblies. In addition, your sales forecast should based on a weekly schedule. In another words, it should match to your production planning schedule as closely as possible. So if you get your forecast back from the sales department, you should split it per week.

Once you have this, you will need to put this information into the Production Forecast in Dynamics NAV (Navision).

Dynamics NAV Production Forecast
Dynamics NAV Production Forecast

Running your Master Plan (MPS)
After we get the forecast in, we will now run our plan 60 days out into the future. The reason we do this is because we want to make sure we create demand in the form of PPO so the purchase orders can be created.

Assuming the above item setup, you have to run these 2 steps for your master plan

1. Calculate the FG items first and carry out action message either as Planned Production Order (PPO)
2. Calculate the SUB items afterwards and carry out action message as Planned Production Order (PPO)

When you run these 2 processes, be sure to include forecast in your calculation.

Calculating Regenerative Plan
Calculating Regenerative Plan

Conclusion
Generating the MPS and creating it as a planned production order will help us determine what we need to purchase so we can have enough raw materials to cover what our actual demand will be. Don’t worry about over buying, because when we calculate our plan, existing inventory on hand will be used as a part of our calculation.

In my the part 2 of this blog post, I will explore calculating the purchasing plan and calculating the weekly production plan based on your actual demand.

A new book about Dynamics NAV 2013 development

First, I’d like to apologize to the readers of this blog for not updating with new and useful content about Dynamics NAV. I know the last update on this blog was back in January and it just seemed like I’ve disappeared.

The time away from this blog was not without reasons. I’ve actually been working on a book about Dynamics NAV 2013. The title of the book is called:
Getting Started with Dynamics NAV 2013 Application Development

It’s a book that teaches new users, whether end user or beginner, on how to create an application in Dynamics NAV 2013 based off of a real project that I’ve done in the past.

I hope you will enjoy the book as much as I did writing it. If you enjoyed my style of writing, which is probably one or two of you, now you can extend the joy in a full book version. I tried to bring my unique sense of dry humor so you won’t get too tired going through the whole book.

A big special thanks to Daniel Rimmelzwaan for his extra efforts on being the content editor of this book.

Here’s the link to the book with the full information:
http://www.packtpub.com/getting-started-with-dynamics-nav-2013-application-development/book

Getting Started with Dynamics NAV 2013 Application Development
Getting Started with Dynamics NAV 2013 Application Development

Processing and Fixing Vendor 1099 Codes in Dynamics NAV

It’s that time of the year again. Time to send out those 1099 to your vendors in Dynamics NAV.

Here’s a quick video of how to process 1099s in Dynamcis NAV and how to process vendor 1099 invoices and and print out 1099 forms in Dynamics NAV (In 2 minutes or less no doubt).

If you forgot to put in the 1099 at the time of setup (which you should’ve done when you made your vendor sign that W-9 form), it will not be defaulted when you enter the purchase invoice. But don’t worry, here’s an object that will fix all of the historical transactions for the vendors with a valid 1099 code specified on the Vendor Card.

Note that this function will not address the situation where some invoices for the vendor are 1099 liable and some invoices that are not 1099 liable. This program will go through and modify all of the historical transactions assuming the 1099 code for all historical invoices are what’s setup on the Vendor Payment tab.

I would highly suggest that you get with your Dynamics NAV partner to do this with you.

Here’s the object. The object is Report 50095 – Fill in 1099. I’ve included the .fob and the .txt file:
FillIn1099