Category Archives: D365 Business Central
Utilizing Business Central for Effective Project Management: Insights from a Functional Consultant
Introduction Effective project management is essential for business success, and Microsoft Dynamics 365 Business Central provides robust tools to improve project management practices. As a functional consultant, I’ve witnessed the transformative impact of Business Central on project oversight, workflow efficiency, and overall productivity. In this blog post, I will offer insights on how to effectively utilize Business Central for successful project management. An Overview of Project Management in Business Central D365 Business Central features a wide array of project management tools that assist businesses in overseeing projects from start to finish. These resources facilitate efficient planning, execution, and monitoring, ensuring that projects are delivered on schedule and within budget. Key Features and Functionalities Practical Applications Implementation and Configuration Benefits and ROI Adopting Business Central’s project management capabilities can lead to notable improvements in efficiency and project results. Clients frequently benefit from: Conclusion Leveraging D365 Business Central for project management offers numerous advantages, from improved visibility to enhanced financial control. By taking advantage of the platform’s powerful features, businesses can streamline project workflows, optimize resource allocation, and achieve superior project outcomes. We hope you found this article useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfronts.com
Share Story :
Configuring Login Tracking for Individual Users
Introduction Tracking user logins in Business Central helps you understand how your system is used. The “Register Time” feature makes it easy to see when users log in and how long they stay. This guide will show you how to set it up and check user activity. Pre-requisites Business Central (On-prem/On-Cloud) Steps Step 1: Activate the Register Time Feature Step 2: Configure Individual User Settings Step 3: Check User Login Data By following these steps, you can easily monitor how often users log in and how long they stay connected to your system. Conclusion Tracking user logins and session times in Business Central helps you understand how your system is used. By setting up the Register Time feature and checking the User Time Registers page, you can easily monitor user activity and make informed decisions to improve system performance. We hope you found this article useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfronts.com
Share Story :
NameSpaces in Business central D365
Introduction Namespaces help avoid name conflicts that can arise from combining libraries by grouping code into logical groupings and hierarchies. Namespaces give the code base structure, which facilitates navigation and comprehension, guarantee uniqueness in code names, and permit name reuse in many situations. Numerous computer languages employ namespaces, and Business Central provides them with AL from Business Central 2023 wave 2 (BC23). Table Customer All objects in the code file belong to the namespace that is declared at the beginning of an AL file. Pre-requisites Business Central onCloud References https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-namespaces-overview Configuration They can be used to help avoid naming conflicts between different extensions, making it easier to maintain and understand extensions, including the relationship between different objects. Namespace syntax To declare a namespace in AL, you must use the namespace keyword followed by the name of the namespace. Some best practices for namespace keywords are: Example: namespace DevOrg.Client.SpecificModule; You can use the same namespace declaration in other.al files to declare multiple objects in the same namespace. The same namespace is shared by all code files that employ the same namespace declaration. If you try to utilize an object after namespaces have been declared, an error will occur. Example: The error will be fixed after declaring a keyword with namespace name. Conclusion At first glance, namespaces appear superfluous and confusing, but as you use them, you’ll realize their true value and realize they’re not that complicated after all. Give them a try. These are all excellent practices that Microsoft supports as well. We hope you found this article useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfronts.com
Share Story :
Reversing a Drop Shipment GRN and Sales Shipment in Business Central
Introduction Reversing a Drop Shipment Goods Receipt Note (GRN) and Sales Shipment in Microsoft Dynamics 365 Business Central can be a complex but essential task when handling errors or changes in your supply chain process. Drop shipments involve directly shipping goods from your vendor to your customer, bypassing your inventory. However, mistakes or adjustments may necessitate reversing these transactions to maintain accurate records. In this guide, we’ll walk you through the steps to correctly reverse a drop shipment GRN and sales shipment, ensuring your system reflects the necessary changes. Steps to Achieve goal: Click on the Post action and choose Receive action, which would post the negative quantity. Please Note: Conclusion By following this method, you can effectively reverse the drop shipment transactions and correct any errors in Business Central before invoicing. We hope this article was helpful to you. We hope you found this article useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfronts.com
Share Story :
Identify out about issues with the background processing of the job queue and get notified – Business central D365
Introduction Tasks, reports, and batch processes can occasionally take a very long time to finish. Businesses frequently make use of Business Central‘s background processing capabilities to keep employees working in the meantime. If something goes wrong and an important background process stops, or isn’t scheduled for some reason, being notified of the issue can help you react quickly to resolve it. Pre-requisites Business Central on Cloud References Get notified about issues with job queue background processing | Microsoft Learn Configuration and Feature overview To stay informed about issues with job queue processing, you can subscribe to external business events triggered under the following conditions: – Job queue processing fails after multiple retries. – Job queue processing fails to schedule. These external business events can be captured using the “When a business event occurs” trigger in a Power Automate flow. For added flexibility, we’ve included a couple of pre-built Power Automate templates with this feature. You also have the option to create a custom Power Automate flow to tailor a notification system that suits your business needs. For example, you can: – Notify the user whose credentials are used by the job queue. – Notify recipients specified in the Business Central admin center. Additionally, new job queue APIs enable automation to address specific job queue issues by restarting or rescheduling the job queue. Conclusion In conclusion, this feature offers a robust solution for monitoring and managing job queue processing issues. By subscribing to external business events and utilizing Power Automate flows, you can ensure that critical notifications are promptly delivered to the right individuals, enhancing your business’s responsiveness. With the added flexibility of built-in templates and customizable flows, along with the new job queue APIs, you have the tools needed to efficiently address and mitigate job queue disruptions, ultimately improving operational reliability.
Share Story :
Foreign Currency Gains and Losses in Microsoft Business Central – Part 1
Introduction In Microsoft Business Central, businesses that work with different currencies must manage foreign currency gains and losses. Changes in exchange rates between when a transaction happens and when it is settled or reported cause these gains or losses.In this blog, I will show you how to create a sales invoice and payment receipt using foreign currency. This will explain how Microsoft Dynamics 365 Business Central converts foreign currency to local currency and tracks realized or unrealized gains and losses. I will also show how to run the Adjust Exchange Rate batch job in Microsoft Dynamics 365 Business Central. Understanding Foreign Currency and Setup Foreign currency transactions involve buying, selling, or holding assets and liabilities in currencies other than the company’s main currency. When these transactions are settled or revalued at the end of a period, changes in exchange rates can lead to a gain or loss. This difference must be correctly shown in the financial statements for accurate reporting and compliance. Business Central calculates foreign currency gains and losses based on changes in the exchange rate between the posting date of a sales or purchase invoice and the date of a payment or related entry. Setting up Foreign Currency with Realized and Unrealized Gains and Losses Account If you do any of the following, you need to set up a code for each currency you use: – Buy or sell in currencies other than your local currency (LCY) – Record general ledger transactions in both LCY and an additional reporting currency (if require). You can also search for ‘Currencies’ in the search toolbar. You can set the corresponding posting G/L Account No. for Realized and Unrealized Gains and Losses entries by editing the Currency Card. Define Exchange Rate Exchange rates are used to calculate the local currency value (LCY) of each currency transaction. In this example, I will use USD as the foreign currency (FCY) with the sample setup shown in the Currency Exchange Rates table. On the first line of the above table, it indicates that on or after 01.06.2024, USD amount transactions will be converted to LCY using the relationship of 1 USD = 80 INR. This is effective until there is another entry with the latest starting date (i.e., 15.06.2024 where 1 USD = 81 INR and so on). Transactions Creation of Sales Invoice using USD Currency Amount: USD $5,000 Posting Date: 01.06.2024 Exchange Rate: 1 USD = 80 INR The invoice below does not include GST or discounts to make it easier to review. I have also checked that the correct currency code is selected in the Invoice Details section of the sales invoice. By clicking the assist button next to the currency code, you can see the exchange rate used to convert the transaction to local currency (LCY). Note: If the Fix Exchange Rate Amount field in the Currency Exchange Rates Table is set to “Currency” or “Relational Currency,” you can change the Exchange Rate or the Relational Exchange Rate Amount on this page. If you don’t want these to be changed during a transaction, set the value to “Both.” On the Sales Invoice Statistics, you will see that this has already converted to the Local Currency correctly using the exchange rate defined on the setup. Reviewing General Ledger Entries of Posted Sales Invoice Also take note of the FCY and LCY amounts posted in Amount and Amount (LCY) fields of Customer Ledger Entry. Creation of Bank Receipt Entry using USD Currency Amount: USD $5,000 Posting Date: 15.06.2024 Exchange Rate: 1 USD = 81 INR Reviewing General Ledger Entries of Posted Bank Receipt Apply Posted Bank Receipt Entry against Posted Sales Invoice Rever below mentioned screenshot of Customer Leder Entries which was of before applying posted bank receipt payment entry, in both the lines amount LCY is different because of the difference of exchange rate. Now, we will apply Payment entry to Posted Sales Invoice, which was posted on 01.06.2024. Once applied the Amount (LCY) is updated accordingly and balance amount is transferred to realized gain / loss account. Reviewing General Ledger Entries of Posted Bank Receipt – After Application In the above-mentioned screenshot, system has posted Realized Gain Account Entry of the difference amount and adjusted the same in Detailed Customer Ledger Entries to show the exact amount in Amount (LCY). Conclusion Managing foreign currency transactions in Microsoft Dynamics 365 Business Central is essential for businesses dealing with multiple currencies. By setting up the correct exchange rates and tracking realized and unrealized gains or losses, companies can ensure accurate financial reporting. I will be demonstrating how to execute Adjust Exchange Rates Batch Job in Part 2. We hope you found this article useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfronts.com
Share Story :
Automating HTML Email Notifications in Microsoft Dynamics 365 Business Central
Introduction In this blog, we will explore how to create HTML-formatted email notifications in Microsoft Dynamics 365 Business Central using AL code. We will guide you through a practical example that sends an HTML email notification when a Posted Purchase Invoice is inserted. Pre-requisite – Microsoft Dynamics 365 Business Central (On-premises or Cloud) Objective Our goal is to automatically send an HTML email containing purchase order details whenever a new Purchase Invoice Header is created. Step-by-Step Implementation Before diving into the code, you need to set up the email functionality in Business Central to ensure the system can send emails. Step 1: Set Up Email in Business Central Open Business Central: – Sign in to your Business Central account. – Search for “Set Up Email” in the top-right search bar. Configure Email: – Choose SMTP as the email type and click “Next.” – Fill in the necessary details, such as the email account and authentication details, then click “Next” to finish the setup. – Set the email account as the default if you have multiple email addresses. Step 2: Create Necessary Fields in Table and Page Extensions Add a Field in Table Extension: – Create a boolean field named “GRN Notification” in the User Setup table extension. This field will ensure that the email is sent only to the users who require it. tableextension 51328 UserSetupExt extends “User Setup” { fields { field(55005; “GRN Notification”; Boolean) { DataClassification = CustomerContent; } } } Add a Field in Page Extension: – Add the “GRN Notification” field to the User Setup page extension to allow users to enable or disable notifications. pageextension50102 extends “User Setup” { layout { addafter(“Register Time”) { field(“GRN Notification”; Rec.”GRN Notification”) { ApplicationArea = All; } } } } Step 3: Create a Table Extension for the Purchase Invoice Header This is where we extend the Purch. Inv. Header table to trigger a procedure that sends the email when a new record is inserted. tableextension 50101 PurchaseInvoiceHeader extends “Purch. Inv. Header”{ trigger OnInsert() begin GRNPostingtoPO(Rec); end; Step 4: Define the GRNPostingtoPO Procedure This procedure handles the core logic of the email notification: procedure GRNPostingtoPO(PurchaseInvoiceHeader: Record “Purch. Inv. Header”) var UserSetup: Record “User Setup”; EmailMessage: Codeunit “Email Message”; Email: Codeunit “Email”; PurchaseLine: Record “Purchase Line”; PurchaseHeader: Record “Purchase Header”; HtmlBody: Text; begin // Find the corresponding Purchase Header using the “Order No.” PurchaseHeader.SetRange(“No.”, PurchaseInvoiceHeader.”Order No.”); // If the Purchase Header exists, retrieve related Purchase Lines. if PurchaseHeader.FindFirst() then begin PurchaseLine.SetRange(“Document No.”, PurchaseHeader.”No.”); if PurchaseLine.FindSet() then begin // Build the HTML email body with purchase order details. HtmlBody := ‘Hello Team,’ + ‘<p>Please find the attached purchase order details.</p>’ + ‘<BR>’ + ‘<p>Purchase Order has been created successfully.</p>’ + ‘<h3>Purchase Order No. ‘ + PurchaseInvoiceHeader.”No.” + ‘</h3>’ + ‘<table border=”1″ style=”border-collapse: collapse; width: 100%;”>’ + ‘<tr>’ + ‘<th style=”padding: 8px; text-align: left; background-color: #f2f2f2;”>IDS No.</th>’ + ‘<th style=”padding: 8px; text-align: left; background-color: #f2f2f2;”>ITEM No.</th>’ + ‘<th style=”padding: 8px; text-align: left; background-color: #f2f2f2;”>Item Description</th>’ + ‘<th style=”padding: 8px; text-align: left; background-color: #f2f2f2;”>Quantity</th>’ + ‘</tr>’; // Loop through the Purchase Lines to add them to the HTML body. repeat HtmlBody += ‘<tr>’ + ‘<td style=”padding: 8px;”>’ + PurchaseLine.”Document No.” + ‘</td>’ + ‘<td style=”padding: 8px;”>’ + PurchaseLine.”No.” + ‘</td>’ + ‘<td style=”padding: 8px;”>’ + PurchaseLine.Description + ‘</td>’ + ‘<td style=”padding: 8px;”>’ + Format(PurchaseLine.Quantity) + ‘</td>’ + ‘</tr>’; until PurchaseLine.Next() = 0; // Close the HTML table and body. HtmlBody += ‘</table>’ + ‘<p>This is an Auto-generated mail, if any concerns related to purchase please contact the ERP Team.</p>’ + ‘</body></html>’; // Send the email to users who have GRN Notification enabled. UserSetup.SetRange(“GRN Notification”, true); if UserSetup.FindSet() then begin repeat EmailMessage.Create( UserSetup.”E-Mail”, ‘Purchase Order Posted’, HtmlBody, true ); Email.Send(EmailMessage, Enum::”Email Scenario”::Default); until UserSetup.Next() = 0; end; end; end; end; Output: Conclusion By following these steps, you can create HTML-formatted email notifications in Microsoft Dynamics 365 Business Central. This method ensures that users receive detailed and well-structured notifications, which enhances communication and workflow efficiency within your organization. We hope you found this article useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfronts.com
Share Story :
Understanding Additional Reporting Currency in Microsoft Dynamics 365 Business Central
Introduction The Additional Reporting Currency feature in Business Central allows a company to maintain its financial records in a secondary currency, in addition to the primary currency. This secondary currency is used for reporting and analytical purposes, providing a clearer picture of the company’s financial health in the context of different economic environments. The use of Additional Reporting Currency for Regulatory Compliance, Simplified Financial Reporting, Enhanced Decision Making. Steps to achieve the goal: 1. Defining the Additional Reporting Currency Navigate to the “General Ledger Setup” page and specify the additional reporting currency. This can be any currency other than the primary currency of your company’s base country/region. Here I am going to set SGD as my Additional Reporting currency. Before I set SGD in my Additional Reporting currency, I have to make sure I am assigning the exchange rates properly. 2. Specifying Exchange Rates Define the exchange rates between the primary currency and the additional reporting currency. This can be done through the “Currency Exchange Rates” page. It is crucial to regularly update these rates to reflect current market conditions. 3. Specify the residual gain and loss account in your Currency The field is ideally not visible in screen. You can personalize and make those fields visible on your screen. Click on Settings icon-> Personalize->Field->Select the field and drag the field in your screen. Set the GL account to update its additional Currency value for future transactions. Globally search Chart of Accounts and Open the G/L Account that you wished to update its Additional currency value whenever you Adjust the transactions. No Adjustment: The default selection. No adjustments are made to the account Adjust Amount: Any gain or loss in exchange rates is reflected in the LCY amount field. Adjust Additional-Currency Amount: Any gains or losses in exchange rates are taken into account when adjusting the additional currency amount field. Please Note: You cannot set VAT Purchase or Vat Sales Account and G/L Accounts which you have tagged in Currency page (Realized gain and loss, Unrealized gain and loss, residual gain and loss) as for Additional reporting currency. As it can throw error when you perform Revaluation in the system. 4. Final Setup Go to general ledger setup and set the Additional Reporting currency SGD and set Retained Earnings Account, Set Document not as per the screenshot below and click on OK. This is batch job used to convert LCY transactions to Additional Currency. The exchange rate that is in effect on the work date is used in the job.The entry that is posted to the retained earnings account should be indicated in the Document No. field. On the last day of every closed year, this rounding entry is made to ensure that all income and expense accounts have a zero balance.The same account used when running the Close Income Statement batch job. You would view the below message once the transaction is calculated in the system. Click on OK. You can change the Additional Reporting currency again in future once it is set. Please note any Analysis created for previous Additional Currency that you must delete. Before and After setting up this configuration – Before the Additional Currency Setup The Chart of Accounts Additional Currency Net change and Additional Currency Balance to Date is blank no values. – After the Additional Currency Setup The Chart of Accounts Additional Currency Net change and balance to date value has been set. Please Note: Warning Issued by Microsoft on Additional reporting Currency Conclusion The Additional Reporting Currency feature in Microsoft Dynamics 365 Business Central offers a robust solution for maintaining financial transparency and compliance. By setting up and leveraging this functionality, businesses can streamline their financial reporting processes, enhance decision-making, and ultimately achieve greater financial clarity and control. Whether you are a small business expanding into new markets or a large enterprise with operations in multiple countries, the Additional Reporting Currency feature in Business Central can provide the tools you need to succeed in a complex financial landscape. We hope you found this article useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfronts.com
Share Story :
Manage Multiple Files Upload in Business Central
Introduction AL developers can now manage multiple file uploads at once in Business Central, significantly increasing flexibility. The AllowMultipleFiles property lets developers configure the FileUploadAction to accept either a single file or multiple files simultaneously. They can also specify acceptable file types using the AllowedFileExtensions property. This enhancement makes the file upload process more efficient and user-friendly. Pre-requisites Business Central (OnPrem/Cloud) References Handle Multiple File Uploads Configuration Here, for an example, a page extension that extends the “Resource Card” Page, adding a new list part to display uploaded files. File Upload Action: – AllowMultipleFiles: This property allows users to upload more than one file at a time. In the code example, it is set to true, enabling multiple file selection.AllowMultipleFiles = true; – AllowedFileExtensions: This property restricts the types of files that can be uploaded. In the code example, it allows only .jpg, .jpeg, and .png files.AllowedFileExtensions = ‘.jpg’,’.jpeg’, ‘.png’; – OnAction Trigger: Manages file processing: – Retrieves the highest entry number from the “Uploaded Files New” table. – For each file: The “Uploaded Files New” table stores the uploaded files’ metadata and content. It includes fields for entry number, resource number, file name, and file content. List Page for Uploaded Files The “Uploaded Files List” page displays the uploaded files in a list format, making it easy to view all files associated with a resource. In the above screenshot you can see the list of images which are uploaded. Conclusion This extension enhances the “Resource Card” by integrating a multi-file upload feature, making it easier to manage and access image files related to resources. The AllowMultipleFiles property lets users upload several files at once, while AllowedFileExtensions restricts uploads to specific file types like .jpg, .jpeg, and .png. It’s a simple yet powerful addition that improves usability and efficiency in Business Central. We hope you found this article useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfronts.com
Share Story :
How to Display the Full Username on the Navigation Bar in D365 Business Central
Introduction In D365 Business Central, developers or system administrators have multiple user accounts. To ensure they are logged in with the correct account, they need to see the full username instead of just the initials displayed on the navigation bar. Let’s explore how to display the full username on the navigation bar. Pre-requisites Business Central onCloud Step-by-Step Guide to Configuring Username Display: Upon logging in to Business Central, the user’s profile photo will appear in the upper right corner. If the profile photo is not customized, it will automatically display the user’s initials. Open admin center Choose org settings under settings option Then click on Organization profile> Custom themes and then add new theme In Default theme you can see option to shows username on navigation bar Once above setting is done you can refresh your browser, now you can see full name on navigation bar. Conclusion For administrators and developers who oversee numerous accounts, specifically, personalizing the way usernames are displayed in D365 Business Central is a straightforward yet powerful method to improve user experience. You can quickly set up your navigation bar to display your full username, which will add clarity and guarantee that you are logged in with the correct account, by following the instructions in this guide. This minor modification can streamline your workflow and lower the possibility of errors, greatly improving your daily interactions with Business Central. We hope you found this article useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfronts.com
