Latest Microsoft Dynamics 365 Blogs | CloudFronts

How to Change Posting Number Series in Business Central: Configuration and Customization Guide

In many businesses, especially those involved in international trade, it’s common to handle both import and export transactions. To keep records clean and compliant, companies often want to assign separate posting number series for exports and imports in Microsoft Dynamics 365 Business Central. In this guide, we’ll walk you through how to configure and automate posting number series selection based on the sales order type Export or Import helping your business maintain accurate and organized documentation. Business Scenario: A customer requires that: When a Sales Order is created for EXPORT, a specific Export Posting No. Series should be applied. When a Sales Order is created for IMPORT, a different Import Posting No. Series should be used. This allows for easy tracking, filtering, and compliance with customs or internal auditing processes. Steps to achieve goal Step 1: Create Two Posting Number SeriesGo to “Number Series”. Create two new series: SO-EXP-2025 → for Export SO-IMP-2025 → for Import Set appropriate starting numbers, prefixes, and increment-by values. And then create another No series for Sales Order relationship S-ORD-R add above no series in relationship in Sales & receivable setup add the new S-ORD-R Step 2: Create a field add field in page extension and table extension of No series Line. Step 3: Add Logic in the Sales Order Page ExtensionIn your Sales Order page extension, implement logic to check if the selected No. Series is tagged as “Export”. If so, automatically assign the corresponding value from the “Posted No. Series Code” to the “Posting No. Series” field on the Sales Order. This ensures that when an Export-related number series is used, the correct posting series is set without manual intervention. To conclude, setting different posting number series based on whether a Sales Order is for Export or Import is a simple yet powerful customization in Business Central. With a small extension or logic-based workflow, you can automate this process to enhance control and compliance. We hope you found this blog useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfronts.com.

Share Story :

Work Smarter, Not Harder: Use Copilot to Summarize Records in Dynamics 365 BC

With the 2025 Wave 1 release, Dynamics 365 Business Central becomes even more user-friendly thanks to a smart new feature powered by Copilot: Summarize a Record. This feature allows users to instantly view a plain-language summary of key records, such as customers, vendors, items, and sales or purchase documents. Instead of clicking through multiple tabs or analyzing raw data, you now get a clear, AI-generated overview in seconds. The Summarize with Copilot action reviews all relevant data from a record and provides a quick summary in natural language. Steps to use this feature:Open a supported record (e.g., a customer or sales order). Click on “Summarize with Copilot” which is on right side. Copilot instantly generates a readable summary based on available data. This works seamlessly across environments where Copilot is enabled and enhances the way you interact with Business Central data. To conclude, summarize a Record with Copilot is a perfect example of working smarter, not harder. Whether you’re preparing for a customer call, reviewing a vendor, or checking on an item, this feature gives you quick context without the clicks. It’s one more step toward making Business Central faster, simpler, and more intelligent just like modern business software should be. We hope you found this blog useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfronts.com.

Share Story :

Boost Job Automation in Business Central with Maximum Number of Attempts

Automation in Microsoft Dynamics 365 Business Central can drastically improve efficiency, especially when scheduled jobs run without manual intervention. But occasionally jobs fail due to temporary issues like network glitches or locked records. Setting the Maximum number of attempts ensures the system retries automatically, reducing failures and improving reliability. Steps to Optimize Job Automation 1. Navigate to Job Queue Entries Go to Search (Tell Me) → type Job Queue Entries → open the page. 2. Select or Create Your Job Either choose an existing job queue entry or create a new one for your automated task. 3. Set Maximum No. of Attempts In the Maximum No. of Attempts field, enter the number of retries you want (e.g., 3–5 attempts). This tells BC to retry automatically if the job fails. 4. Schedule the Job Define the Earliest Start Date/Time and Recurring Frequency if applicable. 5.Enable the Job Queue Make sure the Job Queue is On and your job is set to Ready. 6.Monitor and Adjust Review Job Queue Log Entries regularly. Pro Tips -Keep your jobs small and modular for faster retries. -Avoid setting attempts too high it may overload the system. -Combine retries with proper error handling in the code or process. To conclude, by leveraging the Maximum No. of Attempts feature in Business Central, you can make your job automation more resilient, reduce downtime, and ensure business processes run smoothly without constant supervision. I hope you found this blog useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfronts.com.

Share Story :

How to Send Emails with CC and BCC in Business Central Using AL Language

Sending emails programmatically in Microsoft Dynamics 365 Business Central (BC) is a common requirement for customization be it sending invoices, reminders, or notifications. With the release of enhanced email capabilities in recent versions, AL developers can now include CC (Carbon Copy) and BCC (Blind Carbon Copy) recipients when sending emails. In this blog, we’ll walk through how to send an email in Business Central using AL and how to include CC and BCC fields effectively. Steps to Achieve goal: Code for example. procedure SendInvoiceEmail(var PurchaseInvHeader: Record “Purch. Inv. Header”): BooleanvarEmailAccount: Codeunit “Email Account”;EmailMessage: Codeunit “Email Message”;Email: Codeunit Email;PurchaseInvLine: Record “Purch. Inv. Line”;Vendor: Record Vendor;Item: Record Item;Currency: Record Currency;CurrencySymbol: Text;ItemDescription: Text[2048];ItemNumber: Code[30];TotalAmount: Decimal;Link: Text[2048];EmailType: Enum “Email Recipient Type”;begin// Get vendor informationVendor.SetRange(“No.”, PurchaseInvHeader.”Buy-from Vendor No.”);if Vendor.FindFirst() then; // Process purchase invoice linesPurchaseInvLine.SetRange(“Document No.”, PurchaseInvHeader.”No.”);PurchaseInvLine.SetFilter(Quantity, ‘<>%1’, 0);if PurchaseInvLine.FindSet() then repeat Item.Reset(); Item.SetRange(“No.”, PurchaseInvLine.”No.”); Item.SetRange(“Second Hand Goods”, true); // Example filter if Item.FindFirst() then begin ItemDescription := PurchaseInvLine.Description; ItemNumber := PurchaseInvLine.”No.”; TotalAmount += PurchaseInvLine.”Amount Including VAT”; Currency.SetRange(Code, PurchaseInvHeader.”Currency Code”); if Currency.FindFirst() then CurrencySymbol := Currency.Symbol else CurrencySymbol := ‘€’; // Default symbol end; until PurchaseInvLine.Next() = 0; // Generate a form link with dynamic query parameters (example only)Link := ‘https://your-form-url.com?vendor=’ + Vendor.”No.” + ‘&invoice=’ + PurchaseInvHeader.”No.”; // Create and configure the emailEmailMessage.Create( Vendor.”E-Mail”, ‘Subject: Review Your Invoice’, ‘Hello ‘ + Vendor.Name + ‘,<br><br>’ + ‘Please review the invoice details for item: ‘ + ItemDescription + ‘<br>’ + ‘Total: ‘ + Format(TotalAmount) + ‘ ‘ + CurrencySymbol + ‘<br>’ + ‘Form Link: <a href=”‘ + Link + ‘”>Click here</a><br><br>’ + ‘Best regards,<br>Your Company Name’, true // IsBodyHtml); // Add BCC (could also use AddCc)EmailMessage.AddRecipient(EmailType::BCC, ‘example@yourdomain.com’); // Update invoice status or flags (optional business logic)PurchaseInvHeader.”Custom Status Field” := PurchaseInvHeader.”Custom Status Field”::Started;PurchaseInvHeader.Modify(); // Send the emailexit(Email.Send(EmailMessage)); end; To conclude, sending emails directly from AL in Business Central is a powerful way to streamline communication with vendors, customers, and internal users. By leveraging the Email Message and Email codeunits, developers can easily customize the subject, body, and recipients, including support for CC and BCC fields. This flexibility makes it easy to automate notifications, document sharing, or approval requests directly from your business logic. Whether you’re integrating forms, sending invoices, or just keeping stakeholders in the loop, this approach ensures your extensions are both professional and user-friendly. With just a few lines of code, you can improve efficiency and enhance communication across your organization. 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 :

Leveraging Business Central’s Income Statement for Strategic Financial Insights

In today’s fast-paced business environment, reliable financial reporting is not just a compliance requirement it’s a strategic necessity. Organizations of all sizes, across industries, must make informed decisions quickly to stay competitive, manage risks, and ensure long-term sustainability. At the heart of this financial clarity lie two fundamental reports: the Income Statement and the Balance Sheet. The Income Statement provides a snapshot of an organization’s financial performance over a specific period detailing revenues, expenses, and profits. It answers the critical question: “Are we making money?” We’ll cover the customer journey from implementation to insight-driven strategy and include key steps and best practices. Steps to Achieve goal: Step 1: Understanding the Need – for any Financial Complexity Before deploying any tool, Team should identified key challenges in their financial operations: Step 2.: Configuring the Income Statement Once the foundational setup was complete, configuring the Income Statement enabled the organization to: Configuration Steps: 3. Enable Dimensional Reporting: Use dimensions to drill down into cost centers. 4. Schedule Reports: Automate delivery to leadership teams for weekly snapshots. Step 3: Real-Time Financial Monitoring One of the most significant value propositions for any system is providing real-time visibility. Key Features in Action: Step 4: Strategic Decision-Making with Insights Optimize Routes: Identify profitable vs. underperforming flight paths Financial Reporting Best Practices for Modern Enterprises To conclude, accurate and timely financial reporting is essential for informed decision-making and long-term business success. With tools like Microsoft Dynamics 365 Business Central, enterprises can turn financial data into strategic insights that drive growth and efficiency. 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 :

Restoring a Deleted Posted Bank Reconciliation in Business Central: A Comprehensive Guide

Are you having trouble restoring a deleted posted bank reconciliation in Microsoft Dynamics 365 Business Central? In this blog, I’m going to guide you through the process of effectively restoring a deleted posted bank reconciliation and ensuring the accuracy of your financial records. You’ll learn the step-by-step procedure to re-post a deleted bank reconciliation, along with best practices to prevent future errors and maintain the integrity of your financial data. Let’s get started! Steps to Achieve Goal: page 50100 BankLedgerEntryEditable {     ApplicationArea = All;     Caption = ‘Bank Ledger Entry Editable’;     PageType = List;     SourceTable = “Bank Account Ledger Entry”;     UsageCategory = Lists;     Permissions = tabledata “Bank Account Ledger Entry” = RIMD;     layout     {         area(Content)         {             repeater(General)             {                 field(“Document No.”; Rec.”Document No.”)                 {                     ToolTip = ‘Specifies the document number on the bank account entry.’;                 }                 field(“Statement No.”; Rec.”Statement No.”)                 {                     ToolTip = ‘Specifies the bank account statement that the ledger entry has been applied to, if the Statement Status is Bank Account Ledger Applied.’;                 }                 field(“Statement Line No.”; Rec.”Statement Line No.”)                 {                     ToolTip = ‘Specifies the number of the statement line that has been applied to by this ledger entry line.’;                 }                 field(“Statement Status”; Rec.”Statement Status”)                 {                     ToolTip = ‘Specifies the statement status of the bank account ledger entry.’;                 }                 field(Amount; Rec.Amount)                 {                     ToolTip = ‘Specifies the amount of the entry denominated in the applicable foreign currency.’;                 }                 field(“Amount (LCY)”; Rec.”Amount (LCY)”)                 {                     ToolTip = ‘Specifies the amount of the entry in LCY.’;                 }                 field(“Posting Date”; Rec.”Posting Date”)                 {                     ToolTip = ‘Specifies the posting date for the entry.’;                 }             }         }     } } pageextension 50101 PostedBankAccRecon extends “Bank Account Statement List” {     trigger OnDeleteRecord(): Boolean     begin         Error(‘You cannot delete a bank account reconciliation entry.’);     end; } To conclude, by following these steps, you can successfully undo a deleted posted bank reconciliation in Business Central. The process involves editing the Bank Ledger Entry, recreating the bank reconciliation with the same details, and ensuring the previously deleted reconciliation is removed through AL. With this approach, you maintain accurate financial records and ensure that your bank account reconciliation process runs smoothly without any discrepancies. If you need further assistance or have specific questions about your Business Central setup, feel free to reach out for personalized guidance.  Happy Reconciliation! 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 :

Seamless Integration: How to Sync Business Central with External Systems Instantly or in Batches

In today’s fast-paced business world, integrating your ERP system (like Business Central) with other external systems is crucial for streamlining processes and ensuring data consistency. However, if you’re new to API integrations or struggling with how to send data from Business Central to another system, don’t worry! In this post, I am going to walk you through the process of sending data from Business Central to an external system using APIs. By the end of this guide, you’ll have a clear understanding of how to perform integrations smoothly, without the complexity. Steps to Achieve Goal: You can easily send data from Business Central to an external system by calling the link set in General Ledger Setup. Below is the logic for sending data via an API. You can encapsulate this logic inside a Codeunit, and call it as needed based on your synchronization requirements: Real-Time Data Sync: If you want the data to be synced in real-time (for example, as soon as new data is entered into Business Central), you can call the procedure within the OnAfterInsert() trigger. This ensures that every time a new record is created, it automatically triggers the procedure to send the data. trigger OnAfterInsert() begin     SendPostRequest(Rec); end; Batch Data Sync: If you prefer to sync the data at the end of a batch process (for example, at the end of the day), you can loop through the records using FindSet() and then call the procedure inside the loop. This will send data in bulk at a scheduled time rather than in real-time. procedure SyncDataInBatch() var     Rec_SO: Record “Sales Header”; begin    Rec_SO.setrange(CreatedAt,today()); // Apply any filter as per your need.     if Rec_SO.FindSet() then         repeat             SendPostRequest(Rec_SO);         until Rec_SO.Next() = 0; end; // Below is the logic for posting data from BC to Third Party Applications via API   procedure SendPostRequest(var Rec_SO: Record “Sales Header”)     var         HttpClient: HttpClient;         HttpContent: HttpContent;         HttpResponseMessage: HttpResponseMessage;         HttpRequestMessage: HttpRequestMessage;         JsonObject: JsonObject;         JsonText: Text;         Rec_GLE: Record “General Ledger Setup”;         contentHeaders: HttpHeaders;         OutPutString: Text;     begin           Rec_GLE.Get();         Rec_GLE.TestField(“API Link”); // where the other system API link has been stored and we are using via AL         HttpRequestMessage.SetRequestUri(Rec_GLE.”API Link”);         HttpRequestMessage.Method := ‘POST’;         JsonObject.Add(‘system_id’, Rec_SO.SystemId); // Passing Sales Header System ID(GUID)         JsonObject.Add(‘document_number’, Rec_SO.”No.”); // Passing Sales Header No         JsonObject.Add(‘type’, ‘ReleasedSalesInvoice’); // Passing Sales Header type         JsonObject.WriteTo(JsonText);         HttpContent.WriteFrom(JsonText);           HttpContent.GetHeaders(contentHeaders);         contentHeaders.Add(‘charset’, ‘UTF-8’);         contentHeaders.Remove(‘Content-Type’);         contentHeaders.Add(‘Content-Type’, ‘application/json; charset=utf-8’);           HttpRequestMessage.Content(HttpContent);         if HttpClient.Send(HttpRequestMessage, HttpResponseMessage) then             if HttpResponseMessage.IsSuccessStatusCode then begin                 HttpResponseMessage.Content.ReadAs(OutPutString);                 Message(‘%1’, OutPutString);             end             else                 Error(‘Error %1’, HttpResponseMessage.ReasonPhrase);     end; Conclusion: To conclude, sending data between Business Central and other systems is not as complicated as it might seem. By following the steps outlined above, you’ll be able to create smooth, efficient integrations that will save time, reduce errors, and improve your business processes. Happy Coding! 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 :

Elevating SSRS Reports with Dynamics Company Logo in D365 F&O

In the world of corporate reporting, presentation matters just as much as data. The more personalized and professional your reports look, the more impactful they become. If you’re using Dynamics 365 Finance and Operations (F&O), chances are you rely on SSRS (SQL Server Reporting Services) reports to generate vital business insights. But have you ever wondered how to make those reports more aligned with your company’s branding? Are you struggling with adding your company logo to SSRS reports in F&O? I am going to show you how to easily embed your corporate logo into your SSRS reports within Dynamics 365 F&O, transforming your data into visually appealing reports that reflect your brand identity. Whether you’re preparing financial statements, customer invoices, or custom reports, adding a logo enhances the look and feel, ensuring that your reports maintain a consistent and professional corporate image. Steps to Achieve the goal Before embedding your logo into the SSRS report, ensure that the image file (usually in PNG, JPG, or GIF format) is prepared and accessible. You need to upload the logo to a location within the F&O environment where your SSRS report can access it. Follow these steps: To conclude, adding your company logo to your SSRS reports in Dynamics 365 Finance & Operations is a powerful way to enhance your brand’s presence across all reports. You can instantly elevate the look and feel of your documents. Happy Coding! 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 :

Seamlessly Importing Images via URLs in Bulk into Business Central

Whether you’re adding product catalogs or updating images for an extensive inventory, having an efficient way to bulk import images can save time and effort. In this blog post, we will walk you through the steps to import images in bulk into Business Central, providing you with a seamless method to enhance your product data. In today’s fast-paced business environment, efficiency and accuracy in managing product data are crucial for maintaining a competitive edge. Microsoft Dynamics 365 Business Central (BC) is a comprehensive enterprise resource planning (ERP) system that integrates all business functions into one platform. One of the most time-consuming tasks for businesses, especially those with large inventories, is managing and uploading product images. 1. Create a Codeunit or Processing Report:    Since Business Central doesn’t have a built-in feature for bulk image import, you can create a custom codeunit or processing report to handle this task. In this example, we’ll use a codeunit. 2. Add a New Field for Image URL:     Create an Item Table Extension and add a new field called “Product Image URL” to the Item table. This field will hold the URL or path for each product image. 3. Set the Image URLs Using a Configuration Package:     Use a config package to set the image URLs in the “Product Image URL” field for each item. This is where you will provide the path or URL for the image associated with each product. 4. Run the Codeunit to Update Items:    After populating the image URLs via the configuration package, run the codeunit in the foreground. The codeunit will process each item and update the products that have a valid URL set, linking them to the corresponding images. Below is the logic which will use the url which is set in Item master table and update all the data in bulk codeunit 50112 SetImageUrl {     Permissions = tabledata Item = rimd;     Description = ‘Set Image URL’;     trigger OnRun()     var         RecItem: Record Item;         Rec_Item1: Record Item;         ItemPage: page “Item Card”;         PictureURLDialog: Page “Picture URL Dialog”;     begin         Clear(RecItem);         RecItem.Reset();         RecItem.SetFilter(“Product Image URL”, ‘<>%1’, ”);         if RecItem.FindSet() then             repeat                 Rec_Item1.SetRange(“No.”, RecItem.”No.”);                 if Rec_Item1.FindFirst() then begin                     PictureURLDialog.SetItemInfo(Rec_Item1.”No.”, Rec_Item1.Description, Rec_Item1.”Product Image URL”);                     PictureURLDialog.ImportItemPictureFromURL();                 end;             until RecItem.Next() = 0;     end; } This approach allows you to automate the bulk import of product images into Business Central efficiently. Conclusion Importing images in bulk into Business Central can significantly enhance your operational efficiency and ensure your product records are complete and accurate. By following the steps outlined in this blog, you can easily upload and manage product images, creating a more professional and visually appealing online presence, as well as improving internal processes. Whether you’re dealing with thousands of items or just a few, these steps will guide you through the bulk image import process, saving time, reducing errors, and providing a better user experience for both your team and customers. If you need further assistance or have specific questions about your Business Central setup, feel free to reach out for personalized guidance. Happy importing! 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 :

How to configure Device License in Business Central

A Device License in Business Central is a type of user license that provides access to the application on a specific device, rather than a user-based license. This is particularly useful for scenarios where a shared device, such as a point of sale (POS) terminal, warehouse scanner, or shared workstation, needs to access Business Central without requiring individual user licenses. Why Device Licenses are Important Device licenses are particularly useful for organizations that have multiple employees using the same device at different times. Examples of such use cases include: Steps to achieve the goal

Share Story :

SEARCH BLOGS:

FOLLOW CLOUDFRONTS BLOG :


Secured By miniOrange