Category Archives: Dynamics 365
Getting Started with Dynamics 365 Finance & Operations: Table and Form Customization
Dynamics 365 Finance and Operations (D365 F&O) allows customization through extensions, enabling developers to add new fields to existing tables and forms without modifying the original Microsoft code. This approach ensures upgrade safety and maintainability. In this blog, we’ll cover: Step 1: Creating a Table Extension A table extension lets you add custom fields to an existing table (e.g., CustTable for customers). 1. Create a Table Extension In Visual Studio, right-click your project → Add → New Item. Select Dynamics 365 Items → Data Model → Table Extension. Name it (e.g., MyCustTableExtension). 2. Define the New Fields After choosing the appropriate data type and entering the required information, you can proceed to create the field. 3. Synchronize the Database After adding fields: Right-click the project → Build. Right-click the project → Dynamics 365 → Synchronize Database. Step 2: Extending a Page to Display the New Fields Now, let’s add these fields to the Customer Details page (CustTable form). 1. Create a Page Extension Right-click your project → Add → New Item. Select Application Explorer → User Interface → Forms → Create Extension. Name it (e.g., MyCustTablePageExtension). 2. Add Fields to the Page You can drag and place where you want. 3. Build and Test Build the project (F6). Run the CustTable form (Ctrl+F5). Open a customer record → Your new fields should appear under “General Tab”. Best Practices for Extensions To conclude, with table and form extensions, you can safely customize D365 F&O without altering base Microsoft code. This ensures smoother upgrades and better maintainability. Try it out and enhance your F&O implementation today! We hope you found this blog useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfonts.com.
Share Story :
Optimizing Dynamics 365 Storage: Ways to Free Up Space
Maintaining optimal performance in Dynamics 365 (D365) requires proactive storage management. Running out of space can slow down your system, so it’s crucial to monitor storage usage and act before reaching capacity. Ideally, you should receive an alert when storage hits 80%, giving you time to take corrective action. How to Reduce Storage Consumption in D365 If your D365 environment is nearing its storage limit, here are some effective ways to reclaim space: When Documents Are the Culprit If storage remains tight after these steps, documents and attachments are likely the issue. Studies show that 70% of D365 storage is often consumed by files—especially if your organization stores emails within the CRM. Unfortunately, traditional cleanup methods may not be enough to free up space efficiently. A Better Approach: Integrate External Storage Solutions Since D365 is designed for customer relationship management—not document storage—relying on it for file storage can be costly. Instead, consider migrating documents to dedicated storage systems that offer: Popular options include: By offloading documents to these platforms, you can reduce D365 storage costs while improving efficiency. To encapsulate, proactive storage management ensures smoother D365 performance and avoids unnecessary expenses. Clean up unused data, then explore external storage solutions for long-term efficiency. Would you like recommendations on the best storage migration strategy for your business? Let us know in the comments! We hope you found this blog useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfonts.com.
Share Story :
Failed to Rotate Secrets in Lifecycle Services (LCS)? Here’s What to Do Next
Working with Lifecycle Services (LCS) may feel a bit outdated as we prepare for its eventual phase-out, but the reality is that many businesses still rely on it daily. Recently, I encountered an issue while deploying to a new environment after a long break; it kept failing without a clear cause. After investigating, I discovered the SSL certificate was the culprit, which I’d run into before (I’ve shared that experience in a previous post). Naturally, I tried rotating the secrets from LCS, but it failed repeatedly without any error message or explanation. I was ready to raise a ticket with Microsoft when Copilot stepped in with a suggestion that helped me quickly resolve the problem. Here’s what happened and how you can fix it if you face the same issue. What to do: Go into your development VM and search for certificates. You’ll see there’s a certificate with the same name as your VM and if you observe the “Expiration Date” it is past your current date. This is the reason the certificate rotation is failing. Microsoft offers a simple script that can be used to generate another certificate to replace this. Go to “Shared Asset Library” in LCS. Scroll down to “Renew WinRM Certificate” and download it. Move the downloaded zip into your Development VM and extract it. Right click on “RenewWinRMCertificate” file and click on “Edit” to edit it in Windows ISE. Once this is completed, go back to the Certificates and refresh the page. You’ll see there’s another entry with the VM name and a different expiration date. At this point, you can delete the old certificate. After this, go to LCS and restart your development environment. That’s it! Now you can try to rotate your certificate from LCS. And now I can finally get back to my development work! LCS might be on its way out, but for now, it’s still a big part of many businesses’ workflows.Running into deployment failures because of an expired SSL certificate was a frustrating experience, but fixing it turned out to be pretty straightforward.After checking the certificates, running Microsoft’s “Renew WinRM Certificate” script, and restarting the environment, I was able to rotate the secrets without a hitch. If you ever find yourself in the same boat, start by checking your certificates, it’s a quick step that can save you a lot of stress! If you need further assistance or have specific questions about your ERP setup, feel free to reach out for personalized guidance. We hope you found this blog useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfonts.com.
Share Story :
Ready to Set Up a Legal Entity in D365 Finance and Operations? Here’s How!
Setting up a legal entity in Dynamics 365 Finance and Operations (D365 F&O) is a crucial step for organizations managing multiple business units, subsidiaries, or operations across different regions. A legal entity represents an organization that has a registered business name, legal obligations, and transactions within the system. This guide provides a step-by-step process to create a legal entity in D365 F&O, ensuring that your business is structured properly for financial reporting, transactions, and compliance. Steps to Create a Legal Entity 3. In the Navigation Pane, go to Modules > Organization administration > Organizations > Legal entities. 4. Click New to create a new legal entity. 5. Enter Basic Legal Entity Information 6. General Fast-tab 7. Configure Address and Contact Details Under the Contact Information tab, click Add and enter: 9. In the Statutory Reporting section, enter the legal entity’s registration numbers required for compliance. 10. In the Registration Numbers section, fill in any necessary legal details based on the country’s requirements. 11. In the Bank Account Information section, add bank accounts and routing numbers. It’s best to manage these in the Cash and Bank Management module. 12. In the Foreign Trade and Logistics section, enter the shipping details for the company. 13. In the Number Sequences section, 14. In the Dashboard Image section, you can upload or change the company’s logo or dashboard image. 15. In the Tax Registration section, enter tax registration numbers required for reporting. 16. In the Tax 1099 section, enter 1099 details (only needed for US-based companies). 17. Finally, click Save to apply the changes. To conclude, creating a legal entity in Dynamics 365 Finance and Operations is a foundational step for ensuring seamless business operations, compliance, and financial tracking. By following these structured steps, businesses can effectively manage multiple legal entities within the system. If you’re new to D365 F&O or need to discuss business needs, you can reach out to us at transform@cloudfonts.com.
Share Story :
Method of Depreciation – Reducing Balance Depreciation – D365 F&O
Certain Companies are required to follow reducing balance method of depreciation. The reducing balance depreciation method applies a fixed percentage rate of depreciation to the asset’s net book value (the asset’s value after previous depreciation) each accounting period. This results in higher depreciation expenses during the earlier years of the asset’s useful life and gradually lower charges in later years. Within D365 F&O, this method is easy to configure through the fixed assets module, enabling organizations to automate depreciation schedules, comply with accounting standards, and maintain accurate financial records. Setting up the Reducing Balance method involves defining depreciation profiles, setting appropriate percentage rates, and aligning the method with an organization’s accounting policies. This approach supports better financial management by providing a realistic representation of asset values, aiding in decision-making processes related to asset replacement, disposal, and reporting. In D365F&O, for reducing balance method, below steps needs to be followed: 2. Select depreciation year – Calendar or fiscal. 3.Assign depreciation method to specific asset and run depreciation proposal. To conclude, this depreciation method matches higher early asset usage with higher early expenses and for fast-obsoleting assets. Industries applicable – Technology, Automotive, Retail, Aviation.The reducing balance depreciation method in D365 F&O offers a practical and flexible approach for organizations to manage asset depreciation more accurately. By applying a consistent percentage rate to the declining book value of an asset, this method aligns well with assets that lose their value more rapidly in the earlier years of use. Microsoft Dynamics 365 Finance and Operations simplifies the implementation of this method through its comprehensive fixed assets module, allowing businesses to automate calculations, ensure compliance with accounting standards, and produce reliable financial reports. We hope you found this blog useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfonts.com.
Share Story :
A Guide to Batch and Serial Numbers in D635 FNO: Part 2
In the Part 1 of this blog series, we covered the Basics of Batch and Serial Numbers wherein we covered What are they, why they are important, and how to configure them. In this part we will cover how these tracking features are used in day-to-day transactions. For a better and easy understanding, I will cover the Purchase and Sales Transactions of Items that are Serial and Batch tracked. Firstly, create a Purchase Order and Select the Item which is Batch or Serially tracked. Here I have selected the Product which is Tracked by both Batch and Serial Number. Below is the screenshot for the Purchase Order that I have created you can see that the Purchase order is currently in the Approved stage: Now let’s process the Purchase Order. For that first Confirm the Purchase Order. Then after confirmation Register the Item with a Specific Batch Number. To do that click on the Update Line option present on the Purchase Order Line. Then Click on Registration under the Process Tab. Here you can see the Order status along with the Batch and Serial Numbers. As you can see, the system has automatically generated unique serial numbers for each quantity—since I’ve taken 5 quantities, the system has generated 5 different serial numbers. This happens because the Serial number control parameter is enabled on the Tracking dimension, which enforces the system to assign a unique serial number to each individual unit. Next click on Add Registration Line then click on Confirm Registration this will confirm the registration of the Items to that of the Batch Number and Serial Numbers. This simply means that this Batch Number or Serial number belongs to this product. And this quantity of Products was received with that Batch/Serial. As you click on that you can see that the Receipt Status will be changed to Registered. Now go back and Post the Product receipt. Then post the Invoice and the Purchase Process is done. The below screenshot shows the On Hand list report after Invoicing. 2. Sales Scenario: Create a New Sales Order and select the Item that has Serial/Batch number Tracking enabled. In my case I will take the same item that I have Procured which is D0111. Now for the Sales Process add the Sales Order line then Confirm the Sales Order. As you can see, we have not yet selected the Batch number and Serial number for the item to be sold. Since these tracking dimensions are not specified, the system currently does not know which specific serial-numbered item needs to be sold. So, to do that we will go to the Line Details tab. In that we can see the Batch and Serial Number options. The next step is to Select the Batch and Serial number which needs to be sold. As per my example I’m selecting the 000450 Serial Number from the Batch 250423-000038. After this Post the Packing slip and Invoice the Sales Order. This completes the blog series. Hope this helps. In this blog, we walked through how batch and serial numbers are used in the purchase and sales processes in D365 F&O. From registering items with unique identifiers during purchase to selecting the correct batch/serial during sales, these tracking features ensure complete traceability, accuracy, and compliance. Implementing them effectively helps streamline operations, reduce errors, and improve customer confidence. Hope this blog series helped you understand the end-to-end usage of batch and serial numbers in D365 F&O! Thanks for reading!!! We hope you found this blog useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfonts.com.
Share Story :
Mastering Event Handlers in Dynamics 365 Finance & Operations (X++)
Event handlers in Dynamics 365 Finance and Operations (D365 F&O) allow developers to extend standard functionality without overlying customization. They help in: In this blog, we’ll explore: Types of Form Event Handlers in D365 F&O Triggered by UI interactions (form opens, button clicks, etc.) Event Type When It Fires Common Use Cases OnActivated When form loads Initial validation, default field values OnClosing Closed form Run custom logic on action OnInitialized Create new record Real-time validation OnPostRun Process completion Adding new process in flow To create event handler Step 1: Solution Explorer -> Add new class Give it proper name, so any other developer can recognized it ( Example : CustTableForm_EventHandler ) Use case: Automatically update particular field when user open particular customer details. Step 2: Get event code snippet. AOT-> Forms -> View Designer -> Events -> Copy event handler Paste all code to newly created classs. Additionally, there are separate events for methods also you can use that events to perform certain operation before that method or after that method get called. You can add your custom logic inside your event handler code snippet. In below example if current record has customer no. is equal to specific no. then it will validate particular field and update the form. Pro Tips To conclude, event handlers are powerful tools for customizing D365 F&O while maintaining upgradeability. By: You can build robust solutions that align with business needs. We hope you found this blog useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfonts.com.
Share Story :
Fixed Asset Depreciation: As per Companies Act and Income Tax Act
Indian Companies are required to maintain fixed asset records as per Companies Act and Income Tax Act, governed by Companies Act, 2013, and the Income Tax Act, 1961, respectively. While the Companies Act focuses on providing a true and fair view of an organization’s financial position for stakeholders, the Income Tax Act is concerned with determining taxable income and ensuring fair tax collection. This blog will explore the methodologies, and practical considerations for managing fixed asset depreciation under the Companies Act and the Income Tax Act, helping organizations to be compliant. This is possible by following the below steps: This functionality helps companies to maintain proper records, traceability and retrieval of records for compliance. Organizations must carefully maintain separate records and calculations to meet the distinct requirements of both laws. Aligning accounting practices with these regulatory frameworks not only helps in minimizing compliance risks but also optimizes financial planning and tax efficiency. Regular reviews and updates in line with legislative changes are critical to sustaining accurate asset management and reporting. We hope you found this blog useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfonts.com.
Share Story :
Transforming Development: How Copilot is Revolutionizing Developer Productivity
Software development has been around since the 1940s.We started with punch cards, then machine language, followed by assembly, high-level programming languages, low code, no code, and now AI-assisted coding. Along the way, several tools have been developed to make programmers’ jobs easier, from card sorters and verifiers to debuggers and IDEs. Now, with the advent of AI, we have large language models (LLMs) writing code for us, but I don’t think it’s quite there yet. In this article we’ll see how AI assists developers, what it can do for us today, its limitations, and where it’s headed. The concept of AI began in the 1950s when researchers tried to imbue machines with the magic to think. Early systems followed set rules, but as computers improved and data became more available, smarter methods emerged, such as machine learning, natural language processing, and neural networks. Large Language Models (LLMs) grew from these advances, using huge amounts of data and computing power to understand and create language. This marked a shift from fixed rules to models that learn on their own. By 2025, AI has taken root in most fields, even in places we might not have expected.For example, robotic bees — tiny drones designed to mimic bee behavior, are now being used to assist with pollination in areas where natural bee populations are struggling. These drones combine machine learning and computer vision for navigation, flight control, pollination strategies, and swarm intelligence. Usage Copilot is integrated with both Visual Studio Code and Visual Studio, and it comes with a few LLMs built in by default.Currently, these include Claude Sonnet 3.5, GPT-4o, o3-mini, and Gemini Flash 2.0.If you want to add more models, you’ll need a subscription for Copilot Pro. We can use Copilot Chat to prompt these models directly in the sidebar chat, whether to generate a specific functionality or create an entirely new file. Here, I asked it to create a simple sales order.Notably, it kept the key details — Customer, Item, and Quantity — as parameters without requiring any input. From here, we can click a button to apply the changes to the open file. At the bottom, we can see which file Copilot is currently using as a reference.If we want to stop Copilot from referencing that file, we can click the eye button. We can also ask it to make changes to the generated code. Now, I noticed that while it has parameterized the “Customer No.” for the sales order, it hasn’t actually used it anywhere in the code. If I point this out to Copilot… Instead of using Copilot Chat, we can also get recommendations directly within the file.Here, I’m trying to write a function to delete a sales order based on the given SO No. I can just tab my way into writing the method. One common way I’ve used copilot is to add Guard clauses to methods that I’ve written. For instance – Here, it is referring to Customer and Item record variables, which don’t exist yet. But if I go to the variables section then it knows what I’m trying to do and suggests the same. Now, if I were to make it handle something complex, that’s when the cracks start to show. For example, pulling data from an API and creating customers would require several steps — authenticating with the API, fetching the data, parsing it, handling errors or logging, and finally creating the customers. We get the following as an output – Here, we can see that while it has a surface-level understanding of the code structure and the steps needed to achieve the goal, it struggles with the details. This could be because, unlike open-source languages like Java, Python, or C++, there isn’t as much publicly available source code for AL. I believe Microsoft Documentation would have helped to some degree, but instead, it tends to guess what the correct methods or fields should be. To its credit, the generated code isn’t far off from being functional, especially considering the simplicity of the input prompt. The structure it provides is still a solid starting point and much better than writing everything from scratch. Another example of these “hallucinations” is when it suggests methods that don’t actually exist, like this- However, once you show it what the correct method is, it suggests that – To go one step further, I asked the different models to create an entire project based on the below prompt – Findings: o3-mini 1. The objects it generated had the fewest errors.2. It was the simplest and closest to compiling successfully.3. It returned all the text in a single response, so I had to manually create files from it. GPT-4o 1. Created a Readme.md with project requirement details.2. Automatically generated the necessary project files.3. Farthest from compiling successfully, with most requirements missed.4. There were plenty of hallucinations, including methods that don’t exist in AL at all – like this example below. Gemini Flash 2.0 1. Created a Readme.md with project requirement details.2. Automatically generated the necessary project files.3. Added launch.json, settings.json, and app.json.4. Didn’t meet all requirements but managed to lay some groundwork.5. Struggled with code structure in several places, though still significantly better than GPT-4o.6. Had at least a couple of pages with zero errors. Claude Sonnet 3.5 1. Created a Readme.md with project requirement details.2. Automatically generated the necessary project files.3. Added launch.json and app.json.4. Included a test codeunit, though it had errors.5. Created a permission set for the objects generated.6. All files had one or more errors. In my opinion, Claude and o3-mini are the most useful for coding assistance. HumanEval is a test developed by OpenAI to assess how well language models can write code.It includes 164 programming problems where the model must generate accurate and functional Python code. The HumanEval leaderboard aligns with my assessment as well. Pricing While all these models offer a free trial with a limited set of tokens, they can become quite expensive if you don’t monitor your usage. Below … Continue reading Transforming Development: How Copilot is Revolutionizing Developer Productivity
Share Story :
How to Connect to a Sandbox (UAT) Database in Dynamics 365 Finance & Operations
Microsoft Dynamics 365 Finance & Operations (D365 F&O) is a powerful enterprise solution that helps businesses streamline their operations. However, troubleshooting issues in D365 F&O can be challenging if the root cause isn’t visible on a form. One of the most effective ways to diagnose problems is by connecting to the UAT (Sandbox) database and querying tables directly. This blog will walk you through: How to retrieve SQL connection details from LCS (Lifecycle Services) How to enable firewall access to allow a secure connection How to connect to the D365 UAT database using SQL Server Management Studio (SSMS) Why Connect to the UAT Database? Diagnose Issues: Querying the database allows you to inspect data and troubleshoot errors that aren’t visible in the front-end UI. Microsoft-Managed Environments: In sandbox/UAT environments, remote desktop access is restricted, making database queries essential for analysis. Test Before Deployment: Ensures that all configurations and data changes work as expected before going live. Step 1: Retrieve SQL Connection Details from LCS To connect to a D365 F&O UAT database, you must obtain SQL connection details from Lifecycle Services (LCS). Follow these steps: Go to Lifecycle Services (LCS): Select Your Project: Find the UAT Environment: Request Database Access: Find Database Connection Info: Step 2: Enable Firewall Access for Your IP Address By default, the D365 UAT database is secured behind a firewall. You must add a rule to allow access from your machine. Go to the LCS “Full Details” page for your UAT environment. Select: Maintain > Enable Access. Add a Firewall Rule: Note: The firewall rule expires after 8 hours, so you may need to re-add it later. Step 3: Connect to the UAT Database Using SQL Server Management Studio (SSMS) The best tool for connecting to the database is Microsoft SQL Server Management Studio (SSMS). Launch SSMS and Open the Connection Dialog Enter Connection Details from LCS Set Database Name in Connection Properties Click ‘Connect’ to Establish the Connection Key Takeaway Direct Access to Data: Enables in-depth troubleshooting by querying database tables directly. Secure and Controlled Access: LCS-managed firewall rules ensure data security. Easy Setup: The process takes only a few minutes to complete. By following these steps, you can quickly and efficiently connect to your D365 F&O UAT database and retrieve critical data for testing and issue resolution. We hope you found this blog useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfonts.com. Need help troubleshooting your D365 environment? Let us know in the comments!