You can install this extension for Free from the AppSource here: Naviona Configuration Audit
And here is my story behind this extension:
20+ years ago I was working at Tectura in Copenhagen, it was a fairly big office with something like 120 employees. About one third were Navision consultants, one third were Axapta consultants and one third was a mix of infrastructure, BI, etc. In the Axapta department there was a person named Alan. Alan was a very positive and likable person, his ‘claim to fame’ was that he had created some kind of report that could be run against an Axapta solution that would generate a list of issues to correct. He always talked about this tool and was very happy when he got a new customer where he could use his report and instantly became a hero.
Ever since that time I have had it in the back of my mind to create such a tool for Navision, which became Dynamics NAV and now is Business Central. I had a word document where I kept adding things that I thought would be worth checking in the database. Things like circular references in production BOMs, work centers without calendars, master data missing posting groups, incomplete posting setups, blocked dimensions being defaulted, etc. were things I added to my word document. The problem was finding the time to create such a tool and writing all the logic would take a long time.
Then one day last year I saw a video presented by someone at Microsoft where they talked about Vibe coding and how it can be used to create a product from scratch by explaining what it should do. They also described a concept of asking the AI agent what it thinks should be part of the solution (kind of having the AI agent doing the design before writing the code).
That’s when I had a true ‘that stars aligned’ moment. 🙂 I should use the Vibe coding to create the tool to validate the data in Business Central. It was a perfect case since it was going to be lots of code to write, but the code should be basic code.
I created a new project in Visual Studio, I started to explain to the AI agent (Claude Sonnet 4.5 is his name) about what the extension should do, and how the results should be presented. I know I needed to be very specific in my askes and below is my first prompt to create the foundation of the extension.

Based on this it created a basic structure. I got to sit back and view it reasoning and building the code, then after a couple of minutes it summarized it like below. I tested it and was surprised how good it worked.

Like with anything else, when I started testing it I needed to go back a fourth a couple of times to have it made some tweaks, some of it was flaws in the code and some of it was just because I realized that a different structure would be better (like adding a second table and restructure the code a bit). I learned that it writes the code fast and 90% is good, the rest you need to adjust (and yes, you always need to review the code). For example, it had no issues creating the table structures and individual functions to check the data, but the process only report to generate the results was not that greatly structured. At one point I tried to have it create an Excel export of the results, first using the Excel buffer table then using an Excel layout, but it could not figure that out at all so I abandoned the idea.
When the basic structure was there with the tables, pages and the report to run the checks I started asking it to add checks, below is a prompt for adding checks for posting setups. In my initial prompts for this I detailed out the logic for each of the checks (I the used some of the things I collected over the years in my word document).

With this concept of telling it the logic I typically had to adjust/clarify things a couple of times before it became perfect, but it never complained about having to update anything. 🙂

The code it generated for the check was surprisingly good. Nothing complicated, but still…
At around this point I run out of things to check when I had an ‘aha moment’, I asked the AI agent to suggest what to check, and it came up with many more good suggestions like below.

After the AI agent had suggested what to check, I just reviewed it and told which ones to do and it wrote the code. Again the code was surprisingly well structured and it always responded what was done, this help me know what to test. I also very much like how it writes the code and steps you through the review process of the code (where you can accept a change at a time).

I did some iterations like this, reviewed the code, tested the functionality, had to fix a couple of things, but a lot less than I expected. It wrote in total 5400 lines of code to execute the 200+ checks it does. The end result looks like below.

There has been a lot of discussions on the news about Vibe coding and how it can potentially create code that is not that great structured with which you can ‘paint yourself into a corner’. But in a simple structure like this extension and where it is required to write lots of basic code it does opens up some new possibilities. There is no way I would have written all this code myself.
When all the checks were done it was time to document it, I simply just asked the AI agent to create a list of all the checks along with a human readable description of the conditions and it created a csv file with it. This was then just copied to the help and you can find it here:
Pretty sweet, right? 🙂
Feel free to install and use this audit extension, I hope it adds value and that it can improve Business Central configurations around the world. If you think the same, make sure to spread the word. Please note that some of the checks are subjective, it might for example find that a posting setup with a Gen. Bus. Posting Group and Gen. Prod. Posting Group is missing a Sales Account and flag it as an error, and some might argue that it should not be an error even if the two posting groups are used on customers and item.
My plan is to keep improving and fine tuning it, so there will be updates released via AppSource.
Discover more from Olof Simren - Microsoft Dynamics 365 Business Central Blog
Subscribe to get the latest posts sent to your email.






3 Comments
Leave your reply.