
“One small step for man, one giant leap for mankind” – Neil Armstrong’s iconic words from 1969 still resonate today. While comparing a moon landing to a modest extension of Business Central may seem far-fetched, this phrase came to mind as I reflected on our ERP team’s latest enhancement.
Our clients often refer to us as programmers or developers, a term we’ve grown accustomed to and usually accept with a resigned smile. But the reality is, you don’t always need large-scale developments to deliver a better, more usable product. Adding a simple field to the right screen can significantly streamline business users’ tasks, whether it’s for general ledger reconciliation, providing easier data for auditors, or shortening a user workflow by three clicks. That’s what we mean by a giant leap.
The Visual Labs ERP team has successfully implemented many Business Central projects locally. Through these projects, we’ve learned and adapted with our clients, extending the out-of-the-box Business Central product and its complementary Hungarian localization with various minor enhancements and customizations. We’ve bundled these small modifications into our own extension, making the system’s financial modules more user-friendly. We aptly named it Account!T.
In this blog post, we’ll highlight three features of our custom extension:
Notification for Failed Online Invoice Data Submission
As part of the Hungarian localization of Business Central, there's an online invoice interface that automatically submits data to the tax authority (NAV). This process is successful 99% of the time. However, there are instances where NAV rejects an invoice due to errors (like a typo in the postal code or an incorrect VAT rate). These errors are logged on the Online Invoice List page but do not generate a system notification, although legally required to submit the data.
To simplify this process and aid users, we developed an enhancement that detects online invoice submission errors. On the user's role center page, which opens at each login, we added a tile counting the erroneous online invoices. This tile turns red when there are errors needing correction, and turns green after successful data submission.

We also enabled an option to specify an email address to which the system sends a message containing a clickable link to the erroneous invoice record. This ensures the responsible user is promptly informed and can submit the corrected invoice data to the tax authority in time.
Adding the Source Name Field to the General Ledger Entries Page
Accountants regularly reconcile the general ledger and subsidiary ledgers. To improve this efficiency, we made the Source Name field available on the Business Central General Ledger Entries page. The out-of-the-box system stopped at displaying the Source Account field.
This field contains the master data identifier of the posted entry from another module (e.g., customer, vendor, bank). Previously, identifying the partner name from the subsidiary ledger required extra Excel VLOOKUP formulas. By making the Source Name field available, the associated name now appears directly by linking the underlying master data tables.

Disabling the Boxed Posting Date Validation Logic for Bank Postings
One routine task for the finance department is reconciling bank postings. Business Central includes an unavoidable posting date validation. If the bank transaction date precedes the posting date, the system blocks the posting unless the bank transaction date is modified. This discrepancy can cause reconciliation issues. For instance, an invoice covering multiple periods (like an insurance fee) might be posted with a year-end date.To resolve this, we made the boxed validation logic optional for the following documents:
- Payment Reconciliation Journal
- General Journal
- Cash Desk

These scenarios and similar ones are common for almost every Business Central user. That's why we bundled them into our custom extension, reducing unnecessary clicks and extra work, streamlining daily operations.For more details or questions, feel free to contact us. We're here to help. 😊

From Customer Needs to Implementation: The Journey of an Efficient Delivery Backlog

In this hierarchical model, we start with epics, representing the overall project, and break down the development cycle through various levels right up to testing. This approach helps organize work, set priorities, and track progress. Let’s dive into each element and its significance:
Epic: At the highest level, the epic represents the project itself. This category encompasses the overarching goals and the project framework. Features and user stories under the epic serve to achieve specific objectives.
Feature: Within an epic, features reflect customer needs. These are concrete requirements and expectations expressed by customers that we aim to meet throughout the project.
PBI (Product Backlog Item): These are elements of the product backlog, which can be issues or user stories.
Action: Specific activities that need to be completed to achieve the project’s goals.
Issue: Problems or bugs identified during the project, as noticed by customers.
User Story (US): Detailed breakdowns of customer requirements. These are short, simple descriptions that outline the functionalities and benefits customers expect from the product. User stories help developers understand and accurately fulfill customer needs.
- Task: Specific tasks derived from user stories and features that the project team must complete.Bug: Software defects identified during development. These can be issues found by either customers or developers.
- Build: Development tasks aimed at creating a new version of the software.
- Test Case: Test scenarios that specify what tests need to be executed to verify different aspects of the software.
- Test Plan: A comprehensive plan that includes all available test cases and their results.
- The process model illustrated here covers every step of the software development cycle, from requirement gathering to testing. This aids project teams in effectively managing development activities, improving software quality, and ensuring project success. This model not only organizes needs and work but also facilitates communication with customers.
- By following this structure, Visual Labs ensures that all aspects of the project are covered comprehensively, promoting efficiency and clarity throughout the development process.

At Visual Labs, we leverage Azure DevOps, a powerhouse tool in software development and project management. It empowers teams to efficiently manage their work from development to release. One critical element that can significantly influence project success is the structure of the backlog. A well-organized backlog not only ensures task and requirement transparency but also helps teams set priorities, respond effectively to changes, and closely monitor project progress.
In our upcoming blog series, we will showcase the backlog structures we use, highlight the differences between them, and discuss the typical work items in these backlogs.
In this blog post, we’ll delve into how we create and efficiently manage an Azure DevOps backlog. We’ll explore practices and tips to help teams maximize their backlog’s potential. We’ll cover how to handle requirements and tasks, and how to ensure the backlog reflects the current goals and challenges of the project. Join us to discover how we enhance project management efficiency with Azure DevOps!
At Visual Labs, we distinguish between two different backlog levels:
1. Delivery Backlog:
This type of backlog contains tasks related to project or product development. It includes software development, implementing new features, bug fixes, user stories related to customer needs, and any other activities that directly impact the product or project’s output. The goal is to support the continuous development and delivery of the product or service. Tasks in this backlog typically have higher priority as they directly contribute to customer value.
2. Admin Backlog:
The admin backlog encompasses tasks related to the project’s or team’s administrative, organizational, or internal operations. This includes updating internal documentation, ensuring regulatory compliance, training team members, or any activities that are not directly linked to product or service delivery but are essential for smooth operation. While these tasks might be less urgent or critical from a product perspective, they are vital for maintaining team efficiency and seamless project execution.
Summary:
The delivery backlog focuses on product development and delivery, while the admin backlog handles internal operations and administrative activities. Both are crucial for successful project management and teamwork but concentrate on different aspects.

Background
The forum for operational development at Visual Labs is called Dojo. These sessions are held every Tuesday morning for one and a half hours. Originally launched in January 2023, Dojo was a half-day event held every two weeks and could only be attended in person.Participation in Dojo sessions is optional, although certain colleagues are often expected to attend due to their expertise. The topics of Dojo are determined by quarterly goals, and the exact agenda is set by management. These topics cover a wide range of areas, aiming to contribute to organizational development.
Why is it necessary?
Despite being a small organization, we work in distinctly defined technological areas (ERP, CRM, BI) that often serve the same clients. It is essential to have a common forum where we can gain insights into each other’s work or the company’s operations (e.g., ERP or BI colleagues are welcome at a CRM hackathon). This allows for collective thinking about how Visual Labs can develop as an organization.
Topics Covered So Far
Among others, the following topics have been discussed in Dojo sessions:
- Using Azure DevOps (see: Optimization from Top to Bottom: How We Structure Backlogs at Visual Labs, Part One)
- Feature delivery process
- Managing work items
- Defining work items
- Handling statuses
- Refining financial planning and billing processes
- Hackathon for improving our internal CRM
- Brainstorming on the development of our increasingly cramped office
- Solution-seeking:
- For technical challenges
- For broadly defined, exciting client needs
- Power Platform Starter Kit
- Launching the PowerPlatform Center of Excellence (CoE) Starter Kit
- Agile sprint review and planning ceremonies for the Visual Labs enhancement of the PowerPlatform Starter Kit ([[CoE+]]), where we also tested our agile wings 🙂
- Customer relationship and competency training for POs, conducted by our regular coach, Klára Sugta
- Knowledge sharing on the following topics:
- Customer visits
- Project launches
What Has Dojo Given Us?
Key achievements:
- Creation of a Dojo Handbook that defines our main processes and operations, which we keep up to date.
- Further development of the Microsoft-developed Power Platform Center of Excellence Toolkit [[CoE+]], cataloging Azure resources, DevOps projects, and areas that can be assigned to teams and users.
- Strengthening and integrating the competencies outlined in the Competency Matrix into our daily routines.
- Introduction of monthly financial planning with weekly tracking.
- Development of our own CRM system (based on Dynamics 365 Sales and Project Operations, in collaboration with CoE+).
Other Forums for Organizational Development
- Team Retrospectives
- While Dojo generally deals with cross-departmental or company-wide topics identified by management, retrospectives at the team level focus on system-level improvements in individual collaboration.
- In the future, it will be important to create a development backlog (Kaizen) to provide an overarching view of areas needing improvement, to which initiatives can be assigned and receive the necessary buy-in and resources.
- 1on1s
- The most straightforward opportunity to foster bottom-up ideas is through 1on1s, where topics can ripple up to management level.
The Future of Dojo
Dojo will continue to be the main forum for organizational development and will remain optional. We aim to facilitate participation in organizational development asynchronously and ensure that more written records of Dojo discussions are kept. Often, colleagues cannot attend sessions on topics they find interesting or do not find it worthwhile to sit through the entire discussion but would find a "tl;dr" version useful.If you want more information about our Dojo sessions or the topics discussed, follow our blog, as new articles on these topics are continuously published. If you have any questions or comments, don't hesitate to contact us!

Background
The forum for operational development at Visual Labs is called Dojo. These sessions are held every Tuesday morning for one and a half hours. Originally launched in January 2023, Dojo was a half-day event held every two weeks and could only be attended in person.
Participation in Dojo sessions is optional, although certain colleagues are often expected to attend due to their expertise. The topics of Dojo are determined by quarterly goals, and the exact agenda is set by management. These topics cover a wide range of areas, aiming to contribute to organizational development.
Why is it necessary?
Despite being a small organization, we work in distinctly defined technological areas (ERP, CRM, BI) that often serve the same clients. It is essential to have a common forum where we can gain insights into each other’s work or the company’s operations (e.g., ERP or BI colleagues are welcome at a CRM hackathon). This allows for collective thinking about how Visual Labs can develop as an organization.
Topics Covered So Far
Among others, the following topics have been discussed in Dojo sessions:
- Using Azure DevOps (see: Optimization from Top to Bottom: How We Structure Backlogs at Visual Labs, Part One)
- Feature delivery process
- Managing work items
- Defining work items
- Handling statuses
- Refining financial planning and billing processes
- Hackathon for improving our internal CRM
- Brainstorming on the development of our increasingly cramped office
- Solution-seeking:
- For technical challenges
- For broadly defined, exciting client needs
- Power Platform Starter Kit
- Launching the PowerPlatform Center of Excellence (CoE) Starter Kit
- Agile sprint review and planning ceremonies for the Visual Labs enhancement of the PowerPlatform Starter Kit ([[CoE+]]), where we also tested our agile wings 🙂
- Customer relationship and competency training for POs, conducted by our regular coach, Klára Sugta
- Knowledge sharing on the following topics:
- Customer visits
- Project launches
What Has Dojo Given Us?
Key achievements:
- Creation of a Dojo Handbook that defines our main processes and operations, which we keep up to date.
- Further development of the Microsoft-developed Power Platform Center of Excellence Toolkit [[CoE+]], cataloging Azure resources, DevOps projects, and areas that can be assigned to teams and users.
- Strengthening and integrating the competencies outlined in the Competency Matrix into our daily routines.
- Introduction of monthly financial planning with weekly tracking.
- Development of our own CRM system (based on Dynamics 365 Sales and Project Operations, in collaboration with CoE+).
Other Forums for Organizational Development
- Team Retrospectives
- While Dojo generally deals with cross-departmental or company-wide topics identified by management, retrospectives at the team level focus on system-level improvements in individual collaboration.
- In the future, it will be important to create a development backlog (Kaizen) to provide an overarching view of areas needing improvement, to which initiatives can be assigned and receive the necessary buy-in and resources.
- 1on1s
- The most straightforward opportunity to foster bottom-up ideas is through 1on1s, where topics can ripple up to management level.
The Future of Dojo
Dojo will continue to be the main forum for organizational development and will remain optional. We aim to facilitate participation in organizational development asynchronously and ensure that more written records of Dojo discussions are kept. Often, colleagues cannot attend sessions on topics they find interesting or do not find it worthwhile to sit through the entire discussion but would find a “tl;dr” version useful.
If you want more information about our Dojo sessions or the topics discussed, follow our blog, as new articles on these topics are continuously published. If you have any questions or comments, don’t hesitate to contact us!

Implementing This Miracle: If I were to start all over again, I'd tell you this:
A) Get cozy with Git, simulate real-world scenarios as a team during a demo session, and document/record everything.
To better prepare for collaborative development, we crafted a scenario in which multiple developers would work simultaneously on the same file, aiming to rehearse a range of actions we had previously encountered. This included creating different measures at the same time and then merging these into a single file, adding, removing, or modifying visuals and integrating those changes, reverting to a previous version to serve as the basis for new features, and managing version transitions between DEV, TEST, and PROD branches. Through this exercise, we sought to simulate and navigate the complexities of real-world collaboration, enhancing our team's ability to handle various project management tasks efficiently.
- Commit early and often, and
- Treat your commit notes like a diary of your project's life. Writing comprehensive commit descriptions will enhance clarity and facilitates easier navigation through the project's history for both you and your teammates.
- Branch Carefully! Always verify you're working on the correct branch to avoid unintended changes in the wrong areas of your project.
- And never forget the power of communication. Despite the technical tools at your disposal, effective teamwork hinges on constant communication to ensure alignment and collaboration.
These practices didn't just make our projects better; they made us better developers and teammates.
B) Bumps Along the Way: Sure, we faced our fair share of surprises.
Challenges Encountered Since Adoption:
Despite the myriad benefits, several challenges have emerged since adopting source control in Power BI, particularly given the preview status of this feature. I'm going to highlight the few most common ones.
- Custom Visuals Compatibility: Custom visuals used in reports need to be installed separately by each collaborator. Don't forget to let your colleagues know which custom visual you added to your dashboard as its name won't show up only the following error message which is a bit hard to dechypre.

2. Merge Conflicts and Code Loss: Situations have arisen where accepting both changes during a merge resulted in lost code, highlighting the need for careful conflict resolution (screenshot from another blogpost describing the issue).

3. File Opening Issues After Merge: Conflicts within the data model, such as incorrect relationship settings, can prevent files from opening, necessitating reversion to previous versions.

4. Infinite Semantic Model Refresh Loops in PBI Desktop: Unexplained delays in model refreshes post-merge, extending for hours, indicate potential issues with large semantic models.
+1) Data is not stored in repos: It’s good to keep in mind that data is not stored in the Repo, only semantic model and report related code is stored, you still need to refresh your data on Power BI Service.
Conclusion: This journey of integrating CI/CD and source control into our Power BI workflows has been one of the most rewarding experiences of my professional life. It wasn’t just about making our projects more efficient; it was about transforming our team into a more cohesive, capable, and confident unit. As we look to the future, I’m excited about the possibilities that lie ahead, ready to tackle whatever comes our way with a smile and a git commit.