Independence with Dynamics 365 Business Central online

Overview

I’m sure you’ve already read a lot of good reasons on why moving to Dynamics 365 Business Central Online is the greatest idea ever. I will 110% agree with that statement.

But this article, I’m going to list out some of the reasons that comes to my mind when working with clients on Dynamics 365 Business Central from the point of view of a service provider like ourselves.

Not Locked into Any Hardware/IT Vendors (Other than Microsoft)

Can’t tell you how much this is an issue whether Business Central (or Dynamics NAV) is in the “cloud” or on premise.

Every company that touches your ERP system wants a piece of your pie. You’re dependent on whether your service provider is really watching out for you or not.

These include companies (or people) that manage your hardware, security, servers, hosting, network, etc.

There are IT companies and service providers that are always looking out for you as a customer. To those people, I applaud your integrity. We need more people like you in our industry. They assess the situation and will make good recommendations, even at the cost of their bottom line.

Conversely, there are companies put their own profits before the customer’s interest. Often, these companies are the hardest to work with.

These companies put up barriers and moats around their service offerings so they seem irreplaceable. When they entrenched, the opportunity for abuse will occur.

One such example is everyone’s favorite topic: security. Over protect and over complicate. The statement you will often hear when providing alternatives is “hackers will get in”.

Often we see outrageous quotes for new servers, firewalls, and security measures that corner’s a client into a tough spot.

The baseline conversation will always be “do you know how dangerous hackers are?”. Make it so complicated and so scary that no one will know what to do. Only complete trust in your hardware consultant can save you from these hackers.

Another tactic is to put your solution in their own private cloud that they spin up on Azure. If you try to move out of there and into your own Azure environment (or a hosting space that YOU control), it will cost you an arm and a leg. And a knife in your kidney.

Ugh.

This is where the beauty of Dynamics 365 Business Central Online shines.  The security, infrastructure, etc are all managed by Microsoft. Your financial data is safe behind Microsoft’s infrastructure.

One can always argue that Microsoft gets hacked as well. The chances of them being severely hacked is lower than if you or another hosting company hosting the system for you.

Bottom line is everything is hackable. The question is how fast can we get back up and running? Microsoft with it’s millions of customers with seemingly endless resources? Or your IT consulting company? And who will be paying for the recovery?

In the end, you’re getting a fixed price per user per month. You don’t need any of the other bloated nonsense.

Not Locked into Any Add-On Vendor

Often times, we come across companies utilizing an add-on that’s very intrusive and touches all parts of the system.

In addition, these heavy and intrusive add-ons are configured in the 30 million ranges, meaning you’re basically held hostage by whoever sold and implemented the add-on for you.

With Dynamics 365 Business Central, the Extension Marketplace, you can install and remove any add-ons or feature you want without any consequence.

In the old days, you had to have a developer spend hours and hours of billable hours to install and setup the add-on for you. If you don’t like the add-on? Good luck having it removed.

With Business Central it’s very different. You installed and used an add-on you don’t like? Simply click on a button to have it removed.

What’s even better is you can try out any add-ons in your sandbox environment on your own and at your own pace. You don’t need to incur any cost for any vendor to set it up for you.

Try before you buy. If you don’t like, take it out. Simple as that.

Not Locked into any service providers (Microsoft included!)

There are other cloud ERP software companies out there, but Dynamics 365 Business Central is unique in that (in majority of the cases) Microsoft won’t get directly involved in your specific implementation. The service portion is the relationship between you and the service provider or Business Central partner you choose.

This is pretty genius on Microsoft’s part. By not getting involved in the service portion, you won’t ever hate on Microsoft if the implementation service goes sour. Microsoft (or any search engine) can always recommend to a Business Central partner down the street.

Switching partners with Business Central is also a breeze. Don’t like your service provider? Cut ties and leave without having to sign any paperwork with Microsoft.

WARNING: When you have a custom modifications that you paid the solution provider to build on your behalf, make sure you obtain the source code! Or at least, when they create any custom mods on your Business Central tenant, make sure you’re able to download the source code when you go to the Extension Management page.

There are some partners that will try to keep you hostage by hiding the code THAT YOU’VE PAID FOR.

Make sure you get the source code or have access to the source code while you guys still have good relations.

Conclusion

The less dependent you are on the vendors, the more freedom you have on making decisions that’s good for your company. There are some vendors you want to keep, and some you want to fire. When you do part ways with a vendor, you want a clean break. Being dependent on your vendor for key aspects of your information system will make breaking up especially hard, and sometimes extremely expensive and painful.

Note that you’re still dependent on Microsoft if you go with Business Central online. However, if you choose utilize Business Central in the first place whether it’s on-premise, in private cloud, or BC Online, you’re already dependent on Microsoft. Why add more hands in the pot?

Keep things simple. The more simple you make the process, the easier it is to figure out what the problem is. Having different parties pointing finger at each other because they want a piece of the pie and not wanting to work for it is not the people you want around you.

Extension Development for Non-developers for Dynamics 365 Business Central

Overview

A lot of people using Microsoft Dynamics 365 Business Central want to learn how to develop and publish an extension on their Business Central tenant.

What drives this is that in the old Dynamics NAV, the users are able to easily add fields onto a page even if they’re not developers. Now that they’ve upgraded to Business Central, it’s not as straightforward. For people that are not developers, we want to give the ability to add fields on to a page back in their hands.

While browsing through Youtube, I couldn’t find the video that’s short enough that I felt comfortable sharing.

So I decided to make my own. 

Enjoy!

What You Need

Install VS studio code and AL code on your PC. Microsoft has a pretty good step by step instructions on how to install Visual Studio Code and the AL Extension.

https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-get-started

Conclusion

I tried to make the video as short, easy, and to the point as possible. I understand there are lots of syntax for the language that I didn’t cover.

If you’re interested in learning more about how to write complex functions, let me know and I’ll make a separate video in the future.

Export to Excel in Dynamics 365 Business Central v19

Overview

Relax folks, Microsoft didn’t remove the Export to Excel function in Dynamics 365 Business Central starting from v19. It’s just been moved.

The Difference

Old Version (or versions prior to Business Central v19):

Starting from Business Central v19:

Why The Change?

The direction from Microsoft is to integrate more and more Microsoft 365 application into Business Central. Having a organized place where you can export the data into other Microsoft 365 application is one small step in that direction.

Conclusion

Yes, we’re getting a ton of “The export to Excel function is gone. PLEASE HELP!” questions.

Permission Setting – Preventing Malice vs Accidents

Overview

Permission setting in Dynamics 365 Business Central is a serious, but not serious topic.

When a company coming from a legacy system or no system, they will always want to restrict everything. The older systems are easier to restrict because there’s not a lot of functions you need to worry about. A considerable amount of business processes had to be complimented with manual processes.

In another words, they couldn’t do anything in the legacy system anyway. This is one of the reasons why they’re migrating to Dynamics 365 Business Central.

In my experience, after the company goes live, permission will more likely become an non-issue rather than first priority. The reason is the users can now do a lot more than what their old system can do. They require less time depending on other people for troubleshooting because they have access to troubleshoot the problem on their own.

When operation is smooth, things are smooth.

Nonetheless, when the discussion comes up about setting permissions, there are a few areas and key points to consider.

Ways to Restrict

There are basically 2 fundamental ways you can set security in Dynamics 365 Business Central.

  1. Assigning Permission Sets where you control what tables to access as defined by assigning users Permission Sets
  2. Profile and Role Configurations where you restrict the user’s access to icons and functions

The combination of setting the permission sets and configuring the personalizations for user roles should net you the exact permissions for your organization.

In addition, there are tools like Recording Permission Sets that allows you to set the permission based on what the user actually does in the system so you don’t need to rely on the standard permission sets for the user.

To restrict what the users can see on a particular page, after you’ve customized their profile roles, you can remove the personalization options so they can’t mess around with showing fields they’re not supposed to see.

Having it Just Right

Administrators will make the mistake of setting too much permission where the user can’t do anything. Every little problem they encounter, they will need to reach out to other departments or the supervisors. Give too little they will access the areas they’re not supposed to access.

The guideline to which I always recommend to clients on setting security and access is: “why are you setting this permission”?

  1. Are they using the access to the information for malice?
  2. Are you restricting the access because they might make a mistake?

If giving them access to prevent them from making mistake, I will always advocate training instead of restricting.

In the modern workplace, I will always advocate empowering the  users with more, not less, access to information so they can troubleshoot their own problems and make better decisions on their own without having to bug someone else. Everyone is busy enough already.

If they’ll use the information for malice, then we for sure want to restrict them access and remove the functionality from the menu and permission sets. Having said that, I suspect when companies really get down what data users access for malicious reasons, there’s really not much areas that needs restricting.

Conclusion

Permission setting will take a lot of time. People will underestimate the amount of time required to get it just right.

I always recommend that the end user setup security for their own organization. The partner can do the initial framework, but to get everything exactly the way you want it, you have to get your hands dirty. Otherwise, prepare for large consulting bill and still not have it exactly the way you want.

One other caveat is that the more specific you get down to making your permissions “just right”, the more maintenance and overhaul you’ll need to do when your business requirement changes or new functionalities are introduced.

I can’t tell you how much time we have to “undo” restrictive permission sets in order to help move the company forward and expand their utilization of the system they purchased.

I guess the summary of this whole article about setting security is: Give the benefit of the doubt that the users will use the information for good, not evil.

Good luck!

How to Enter Beginning Bank Balance for Dynamics 365 Business Central v18 and Above

Overview

On Dynamics 365 Business Central release 18, Microsoft made significant changes to the bank reconciliation features. Most of the articles and videos on entering beginning bank balances are still based on the older versions Dynamics 365 Business Central or Dynamics NAV.

Just thought I would share with the community on setting up your beginning bank balances if you’re moving to Business Central from your legacy accounting /ERP software

The goal is to have your bank balance match your G/L account. Just posting whatever is in your G/L to your bank is not the way to go and you’ll run into trouble later in future reconciliations.

Do it right initially will save you tons of trouble later.

Here are the steps to enter the beginning balances of your bank when you’re migrating from your legacy ERP/accounting software to Dynamics 365 Business Central.

What You Need

As with anything, preparation is key. There are a few things you need before entering your beginning bank balance.

Assuming you’re going live with Business Central on December 1st, they are:

  1. Previous bank reconciliation before you go live. For example, if you plan to go live on December 1st, you’ll need the bank statement from November 30th.
  2. A list of outstanding checks and transactions not cleared by the bank up to November 30th
  3. Your reconciled G/L bank balance from your old legacy system. This means you need to do one last bank reconciliation from your legacy system up to November 30th

How do you know if you have everything put ready? Here’s a simple formula:

Your G/L balance for your cash/bank account as of November 30th
+/- Outstanding bank transactions that’s not been cleared
= Amount on the Bank Statement as of November 30th

For example:

G/L Balance as of 11/30 = 10,000
Outstanding uncleared checks and deposits as of 11/30 = 2,000
The bank statement that you got from the bank on 11/30 should be 12,000.

If the above formula is not true, do not proceed! Get it right so it can save you headaches down the road.

How This is Going to Work

Once you post the entries via General Journal (make sure the Account Type is Bank Account), run your first bank reconciliation as November 30th, or the period before you go live.

When you run your bank reconciliation for November 30th, manually enter the previous bank statement total in the Bank Statement Line section. DO NOT run the bank feed import for this period as nothing you import can be reconciled against.

Click on Matching -> Match Manually to match the entry that you’ve made for the Beginning Bank G/L Balance entry.

Once the matching is done for the beginning entry, you can post the reconciliation.

For your bank reconciliation for the following period, all of the unreconciled transactions will display for you to clear against.

Conclusion

Now you may be asking “But wait Alex, we won’t get your bank statement until a few days after we go live!”

That’s okay!

You don’t need your bank beginning balances as soon as you go live. We typically get the bank beginning balances (and other non-operation related balances) setup about a week after go live.

Accounting Cost vs. True Cost – Analyzing Costing in Business Central

Overview

In Microsoft Dynamics 365 Business Central (formerly Dynamics NAV), when doing costing and profitability analysis, you need to differentiate between a transaction’s True Cost and Accounting Cost.

These terms will not appear on any official documentation or manuals, 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:

  • Aug 15, 2021 – Item A was received at 10 pieces for $2.00 each.
  • Aug 30, 20216 pieces of item A was sold for $5.00 per piece
  • Sept 1, 2021 – The vendor invoice for Item A is posted at $3.00 per piece
  • Sept 15, 2021 – The freight invoice came in and item charge is used to allocate an additional $1.00 per piece
  • Sept 20, 2021 – The rest of the 4 pieces of item A was sold for $5.00 per piece

Before we dive in, make sure the accounting department is properly closing each accounting period and the Adjust Cost – Item Entries are being ran.

Accounting Cost

Assuming on 9/30/21, 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/21, the COGS (Cost of Goods Sold) 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 August 1st, 2021 to August 31st, 2021, the profit margin would be 60% per piece!

Not bad! For the accounting department, the cost is indeed $2.00 per piece since that’s the only amount that was recognized and costed for in that period.

Some companies makes an accrual on the General Ledger side for the expected cost of good sold, but that’s a separate topic.

However, this number to business owners and 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 profit margin of the item should be 20%, instead of 60%.

Another scenario is you’re running the sales report from 9/1/21 to 9/15/21, 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.

Solution

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 the  accounting department, 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 table Cost Amount (Actual) field stores the accounting cost that’s recognized for that period. The Item Ledger Entry table Cost Amount (Actual) field stores the true cost. Note that the Cost Amount (Actual) on the Item Ledger Entry table is a flowfield to the Value Entry table.

Most Business Central reports dealing with Contribution Margin uses Value Entry table only.

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/21 will be different than the same report with the same filters ran on 9/20/21. However, in my experience, once you properly explain this concept to accounting and management, they will understand.

Note that you can also use the Value Entry table for calculating True Cost. However, just filter on the Valuation Date instead of the Posting Date.

Why you should build a healthy relationship with your data

Overview

Having worked with Dynamics 365 Business Central (Dynamics NAV) for years, one of the biggest concerns I have when working with clients is receiving a really big Excel file with a message saying “my numbers don’t match! Please match it up for me!”

While I always love a good challenge on solving complex problems, after some time, these types of questions concern me. Most of the time, the client did not do their work on looking through the spreadsheet and did not try to figure out where the numbers went wrong before sending them to me.

Part of the challenge with working with anything new is to put in your own work and your own time. You can see the process as a time investment, but also the understanding of how to diligently figure out where the numbers are going when you perform certain actions within Business Central.

Being Young and…Not so Wise

Back in the days when I was a young consultant, I would always solve these big Excel sheet problems myself and help customers make sense of the numbers in the huge spreadsheet.

However, a few months later, the clients would inevitably come back with another big spreadsheet asking me to figure it out for them again…And again and again.

Hey, these were free billable hours, so why not?

Over the years, I realized what I was doing was wrong.

All the knowledge that I’ve built analyzing the data and tracing the transactions through Business Central was almost impossible to transfer to my clients. While I can tell them where to go to do the tracing, knowing how to do it, what tools to use, and what fields to look at is really the key.

More often than not, when I was telling the clients where to do the tracing, the clients kind of nodded, acknowledged what I said, but in the end just took my answer as is, without really understanding how to get there.

These hours I spent getting to know my clients systems and data, in the end, was lost – and that’s something they could have benefited from if they did it themselves.

Knowledge Lost

Effectively what I was doing was showing the client how to fish, but in the end, I was giving the client the fish. By doing all the work myself, I was robbing my clients of the ability to gain further understanding of their own data and how they relate to Business Central (Dynamics NAV). More importantly, they wouldn’t grasp the key understanding of what tools to use so they can navigate their data within their system.

Even if I figured out the mystery, the client did not get the key knowledge of how to figure it out themselves the next time their numbers don’t match. All the knowledge about reconciling between their Excel sheet and Business Central (Dynamics NAV) was then lost.

Instead, I realized that the smarter thing to do was to teach the users how to fish and insist on the clients to do the fishing themselves! In the first few tries, I would walk through with the user on the data they’re looking at, then assign them the tasks that I would do if I was doing the work. They would come back with the results from the first lists of tasks then I would guide them to the next set of tasks, and so forth, until the conclusion is reached.

Conclusion

We all need help with what we do. We grow up with the tradition of transfer of knowledge, by learning from someone more knowledgeable. With more knowledge about your surroundings, life will inevitably get easier because then, all complex problems can be solved without too much effort.

One big part of having an easier work life is to understand what’s going on with your operation and how it translates into your system. There’s no way to build this knowledge without doing your work yourself beforehand. You need to understand your tools and understand your data.

I find that the users that are able to pick up the system the quickest are the ones that come to me with specific questions confirming their suspicion.

For example, if my clients asks whether they can change an account setting on the General Posting Setup to affect certain sales transactions because they want their financial reporting to look a certain way – rather than asking me why their revenue accounts don’t match the financial reports they want – that’s a sign that eventually, they’ll be able to figure everything out by themselves.

Building an understanding of your data and your system can take more time at the beginning, but it pays off in the long-term, and in the meantime, AP Commerce is there to get to know them!