Category Archives: D365 Business Central
Out-of-the-Box or Open-Source? Choosing Between Business Central and Odoo
As businesses grow, the need for a solid, scalable ERP system becomes clear. Two popular names frequently pop up in these exchanges Microsoft Dynamics 365 Business Central and Odoo. Both have their strengths, and both pledge to streamline operations but the real question is which one’s the better fit for your business? Let’s break it down — not in tech slang, but in real- world, business- leader language. The Core Philosophy Business Central is a Microsoft product built for businesses that want a solid, all-inclusive ERP solution with advanced financial capabilities and seamless Microsoft 365 integration. Odoo, on the flip side, is modular and open-source. It appeals to businesses that need a flexible system they can customize heavily to match specific processes. What Business Leaders Need to Know Business Central feels familiar to anyone who is worked with Excel, Outlook, or brigades. It’s designed to “just work” within the Microsoft ecosystem, which lowers the learning curve. Odoo’s interface is clean and ultramodern, but it can take a bit further trouble to set up and learn — especially if you’re customizing heavily. Business Central offers rich out- of- the- box functionality, especially when it comes to finance, supply chain, and force. utmost-sized businesses find that they do n’t need important customization to get started. With Odoo, you get the basics and also make from there. It shines when you need commodity veritably specific, but this also means further outspoken work. This is where Odoo really shines. You can tweak nearly every part of it. But with great inflexibility comes great responsibility — meaning further involvement from inventors. Business Central allows customization too, but within rails. It’s more structured, which means smaller surprises latterly on. If your company already relies on Microsoft products, Business Central integrates effortlessly—Teams, Power BI, Excel, and more. Odoo integrates too, but you might need additional connectors or custom development to get everything working smoothly. Business Central is erected for businesses that are spanning presto. It’s used by companies with hundreds of druggies and supports complex financials, global operations, and strict compliance requirements. Odoo is great for startups and small businesses, and it can grow but there’s a point where scaling can come more complex, especially if heavy customization is involved. What About Cost? Odoo has a character for being more affordable outspoken, especially the open- source interpretation. But keep in mind customization, hosting, and ongoing support can add up. Business Central might look more precious on paper, but it comes with stability, security, and erected- in integrations that reduce the need for bolt- on results. So Which One’s Right for You? Choose Business Central if you Choose Odoo if you To conclude, there’s no universal “best ERP”—only the best one for your business. Business Central and Odoo both offer strong value, but suit different types of organizations. Still unsure? Let’s have a conversation. For more information on Microsoft products, you can reach out to us at transform@cloudfonts.com.
Share Story :
Enhancing Number Series in Business Central: New Architecture and Copilot Integration
As Business Central continues to advance, its features and functionalities are also evolving. One significant enhancement is the introduction of a new series system. This update is designed to simplify the process of assigning numbers to various documents, ensuring both consistency and efficiency. In this blog, we’ll explore the core aspects of this new number series and how you can leverage it in your Business Central environment. Understanding the Basics Number series in Business Central serve as unique identifiers for documents such as sales orders, purchase orders, and invoices. These identifiers play a crucial role in effectively tracking and managing documents. With the introduction of the new number series, improvements have been made to enhance flexibility and provide better control over these identifiers. What’s New? Previously, Business Central used the NoSeriesManagement codeunit for managing number series. The updated system introduces two distinct entities: This new structure brings a more organized and streamlined approach to number series management, enabling enhanced customization for different document types and processes. Refactoring Your Code With these updates, the NoSeriesManagement codeunit is now marked for deprecation. When you use it, you may encounter a warning like: “Codeunit ‘NoSeriesManagement’ is marked for removal. Reason: Please use the ‘No. Series’ and ‘No. Series – Batch’ codeunits instead. Tag: 24.0”. Here’s a step-by-step guide to refactoring your code for the new system: 1. Identify Usage First, locate all instances where the NoSeriesManagement codeunit is referenced in your codebase. This includes direct calls or any references to its functions. 2. Replace with New Codeunits Update these references to use the appropriate new codeunit: How to Implement the New Codeunits a. Using “No. Series” This codeunit is used for standard number series management tasks. Below is an example of how it works: var NoSeries: Codeunit “No. Series”;begin NoSeries.GetLastNoUsed(); NoSeries.GetNextNo();end; b. Using “No. Series – Batch” The “No. Series – Batch” codeunit is designed for efficient batch processing of multiple number series. Use its methods like PeekNextNo to retrieve the next number without modifying the series. var NoSeriesBatch: Codeunit “No. Series – Batch”;begin NoSeriesBatch.GetLastNoUsed(); NoSeriesBatch.PeekNextNo();end; Example: Before and After Refactoring Before Refactoring: After Refactoring: Suggesting No. Series Using Copilot in Business Central Business Central’s Copilot integration simplifies generating and managing No. Series for different modules. Follow this step-by-step guide to utilize this feature effectively: 2. Create a New Number Series 3. Generate Number Series for a Specific Module 4. Modify an Existing Number Series 5. Prepare Number Series for the Next Year This feature empowers users to efficiently manage No. Series with minimal manual effort, ensuring consistency and saving valuable time. Explore the Copilot suggestions to optimize your workflow in Business Central! To conclude, the advancements in Business Central’s Number Series management, with the introduction of the new architecture and Copilot integration, offer a significant leap in flexibility, efficiency, and user experience. The updated “No. Series” and “No. Series – Batch” codeunits streamline workflows, while Copilot simplifies the creation, modification, and futureproofing of number series with intelligent suggestions. By adopting these features, businesses can ensure consistency, reduce manual errors, and save valuable time, making their operations more streamlined and future ready. Explore these enhancements today to unlock the full potential of Business Central! 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 :
Phases of Quality Control in Business Central – 6
In the pharmaceutical industry, quality doesn’t stop at the first inspection. Even after raw materials (RM) and finished goods (FG) pass initial testing, they may need to be retested over time to ensure they still meet quality standards. Retesting is done for various reasons—checking product stability, verifying shelf-life, or re-evaluating materials due to storage issues. If not managed properly, it can lead to delays, compliance risks, or even wasted inventory. With our GMP-compliant Quality module in Business Central, the retesting process becomes more structured and efficient. In this blog, we’ll look at how the system helps identify items due for retesting, track test results, and make informed inventory decisions. Items due for retesting Once the QA user completes the quality process and posts the inspection receipt, the system stores the retesting date on the item ledger entry. This ensures that retesting requirements are properly recorded and can be tracked throughout the product lifecycle. Retesting Worksheet The next step is to track and manage items due for retesting. Business Central simplifies this with the Retesting Worksheet, which allows QA teams to efficiently identify materials and products that need to be retested. With this approach, retesting becomes a structured and automated process, helping pharma companies stay compliant and maintain quality without operational bottlenecks. I 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 :
Phases of Quality Control in Business Central – 5
In our previous posts, we covered the key stages of production—planning, creating orders, managing materials, and reviewing the final product. Now, let’s focus on an important next step: quality control of Finished product. Quality control is not something we just do at the end of the process; it’s crucial to making sure our products meet the high standards our customers expect. In this post, we’ll explain the essential steps involved in quality control, from inspections to ensuring everything follows the right rules, all to make sure only the best products are delivered. Let’s dive into how we keep our products up to standard and protect the reputation of our brand! Released production order System will automatically create Inspection datasheet with all the item details and list of specification. Inspection Datasheet Inspection Receipt Posted inspection receipt To conclude, our comprehensive quality control, driven by inspection datasheets and receipts, delivers excellent products, traceable records, and customer confidence through verifiable results and Certificates of Analysis. I 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 :
Implementing Encryption and Decryption Functions via API in Business Central
In Microsoft Dynamics 365 Business Central, securing sensitive data like passwords is crucial for protecting both businesses and customers. By the end of this post, you will understand how passwords are encrypted before being stored and decrypted only when necessary. This ensures that passwords remain secure, minimizing exposure and building trust. 1. Storing Encrypted Passwords Passwords are encrypted before being stored in the database to ensure they are protected. This prevents anyone from accessing passwords in plain text, even if they gain unauthorized access to the database. Here’s an example of how a custom table, CFSCustomPage, stores encrypted passwords using the EncodePassword procedure. In the above code, the password is encrypted before being stored in the database to ensure the data remains secure. The EncodePassword procedure is used for encrypting the password. 2. Decrypting Passwords When Needed When passwords need to be retrieved, they are decrypted using the DecodePassword procedure. This ensures that passwords are only accessible when required, minimizing exposure. Here’s the decryption function: In the above code, passwords are decrypted only when needed, allowing the system to securely handle sensitive data. 3. Returning Decrypted Passwords via API For external systems or applications requiring access to customer data, Business Central ensures that passwords are only decrypted and transmitted securely via API. This way, customer information remains protected throughout the process. Here’s how the API Page CFSCustPageAPI handles this: The API exposes the encrypted password and only decrypts it when accessed securely through the API. 4. Returning Decrypted Passwords in a List Page Passwords can also be decrypted and displayed in a list page when necessary, ensuring they are only shown to authorized users. This is done using the DecodePassword function in the page CFSCustomPage, as shown below: This page allows authorized users to view encrypted passwords, MD5, SHA1, SHA512, and AES encrypted passwords, and also decrypt them when necessary. 5. Best Practices for Password Security 6. Encryption Types Used in the System Here are the different types of encryptions and hashing methods used in Business Central: Code: table 71983576 CFSCustomPage { Caption = ‘CustomPage’; DataClassification = ToBeClassified; fields { field(71983575; “No.”; Code[20]) { Caption = ‘No.’; DataClassification = CustomerContent; } field(71983576; Name; Text[50]) { Caption = ‘Name’; DataClassification = CustomerContent; } field(71983577; Password; Text[365]) { Caption = ‘Password’; DataClassification = CustomerContent; } } keys { key(PK; “No.”) { Clustered = true; } } // Procedure to encode (encrypt) a password [ServiceEnabled] procedure EncodePassword(var Password: Text[365]) var EncryptedPassword: Text[365]; begin // Encrypt the password using the Encrypt function EncryptedPassword := Encrypt(Password); // Assign the encrypted password back to the Password field Password := EncryptedPassword; end; // Procedure to decode (decrypt) the password [ServiceEnabled] procedure DecodePassword(EncryptedPassword: Text[365]): Text var DecryptedPassword: Text; begin // Decrypt the password using the Decrypt function DecryptedPassword := Decrypt(EncryptedPassword); // Return the decrypted password exit(DecryptedPassword); end; // Procedure to generate MD5 hash of a password procedure MD5Hash(Pwd: Text): Text var CryptographyManagement: Codeunit “Cryptography Management”; HashAlgorithmType: Option MD5,SHA1,SHA256,SHA384,SHA512; begin // Generate and return the MD5 hash of the password exit(CryptographyManagement.GenerateHash(Pwd, HashAlgorithmType::MD5)); end; // Procedure to generate SHA1 hash of a password procedure SHA1(Pwd: Text): Text var CryptographyManagement: Codeunit “Cryptography Management”; HashAlgorithmType: Option MD5,SHA1,SHA256,SHA384,SHA512; begin // Generate and return the SHA1 hash of the password exit(CryptographyManagement.GenerateHash(Pwd, HashAlgorithmType::SHA1)); end; // Procedure to generate SHA512 hash of a password procedure SHA512(Pwd: Text): Text var CryptographyManagement: Codeunit “Cryptography Management”; HashAlgorithmType: Option MD5,SHA1,SHA256,SHA384,SHA512; begin // Generate and return the SHA512 hash of the password exit(CryptographyManagement.GenerateHash(Pwd, HashAlgorithmType::SHA512)); end; // AES Encryption and Decryption example procedure AESEncryptionExample(Passowrd: Text): TEXT var RijndaelCryptography: Codeunit “Rijndael Cryptography”; Base64Convert: Codeunit “Base64 Convert”; EncryptedText: Text; DecryptedText: Text; SecretTexts: SecretText; begin // Convert the encryption key ‘1106198321061984’ to Base64 format and store it in SecretTexts SecretTexts := Base64Convert.ToBase64(‘1106198321061984’); // Set the encryption key and initialization vector (IV) using Base64-encoded values RijndaelCryptography.SetEncryptionData(SecretTexts, Base64Convert.ToBase64(‘ITGateWayXyZ1234’)); // Set the AES block size to 128 bits (standard AES block size) RijndaelCryptography.SetBlockSize(128); // Set the cipher mode for AES to CBC (Cipher Block Chaining) RijndaelCryptography.SetCipherMode(‘CBC’); // Set the padding mode for AES encryption to PKCS7 (standard padding scheme for block ciphers) RijndaelCryptography.SetPaddingMode(‘PKCS7’); // Encrypt the password using AES encryption EncryptedText := RijndaelCryptography.Encrypt(Passowrd); // Decrypt the encrypted password using … Continue reading Implementing Encryption and Decryption Functions via API in Business Central
Share Story :
Driving Efficiency with Automation: Transforming Sales Processes with Recurring Invoices in Microsoft Dynamics 365 Business Central
Businesses regularly invoice customers and require an efficient method to generate these invoices simultaneously. Microsoft Dynamics 365 Business Central offers a feature called “Create Recurring Sales Invoices,” which enables the batch creation of sales invoices for multiple customers using predefined recurring sales lines. Pre-requisites Business Central onCloud Configuration: To set up recurring sales lines. Search globally “Recurring sales lines” and choose the related link. Now select the “New” action and fill in the fields as necessary. There are some fields that are missing like Amount you can add it by Personalization and fill in the necessary data. Now assign recurring sales line template codes to customers that you want to create invoices for them. Now search for “Create recurring sales invoices”. On the Create recurring sales invoices page fill necessary data. In the Code filter field, enter the code for standard sales lines that are assigned to a customer that you want to create sales invoices for. You can see sales invoices are created for the customers with the specified sales invoice template code. To conclude, Microsoft Dynamics 365 Business Central’s recurring sales lines feature streamlines the creation of sales documents for transactions that occur regularly. By setting up standard sales lines and assigning them to customers, businesses can automate the insertion of these lines into sales documents, enhancing efficiency and reducing manual entry errors. This functionality is particularly beneficial for managing recurring orders, ensuring consistency, and saving time in the sales process. 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 :
Phases of Quality Control in Business Central – 4
In our previous blog, we walked you through the process of procuring high-quality raw materials and the essential quality checks that ensure only the best make it to production. Now that we’ve laid the groundwork, it’s time to ask: What happens next? How do we turn those raw materials into timely deliveries for our customers? That’s where the planning of sales orders comes in! In this blog, we’ll dive into the crucial steps of sales order planning, discussing how we manage demand, and ensure a seamless flow from order placement to delivery. Let’s take a closer look at how this next phase keeps everything running smoothly! Firm plan production order Released production order A Released Production Order in Business Central indicates that the production order has been finalized and is ready to begin production. Once released: Material Issue Production Journal We will continue the Finished good quality in the next blog! I 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 :
From Commit to Inbox: Automating Change Summaries with Azure AI
In our small development team, we usually merge code without formal pull requests. Instead, changes are committed directly by the developer responsible for the project, and while I don’t need to approve every change in my role as the senior developer, I still need to stay aware of what’s being merged. Manually reviewing each commit was becoming too time-consuming, so I built an automated process using Power Automate, Azure DevOps, and Azure AI.Now, whenever a commit is made, it triggers a workflow that summarizes the changes and sends me an email.This simple system keeps me informed without slowing down the team’s work. Although I kept the automation straightforward, it could easily be extended further.For example, it could be improved to allow me to reply directly to the committer from the email or even display file changes in detail using a text comparison feature in Outlook.We didn’t need that level of detail, but it’s a good option if deeper insights are ever required. Journey We get started with the Azure DevOps trigger “When a code is pushed”. Here we specify the organization name, project name and repository name. We can also specify a specific branch if we want to limit our tracking to simply that branch otherwise it tracks all the available branches to the User. Then we have a foreach loop that iterates over the “Ref Updates” object array. It contains a list of all the changes but not the exact details.This action pops up automatically as well when we configure the next action. Then we set up a “Azure DevOps REST API request to invoke” action. This has connection capabilities to Azure DevOps directly so it is better to use over a simple REST API action. We specify the relative URL as {Repository Name}/_apis/git/repositories/{Repository ID}/commits/{Commit ID}/changes?api-version=6.0 The Commit ID shows up as newObjectId in the “When code is pushed” trigger. Then we pass the output of this action to a “Create Text with GPT using a prompt” action under the AI Builder group.I’ve passed the prompt as below but it took several trials and errors to get exactly what I wanted. The last action is a simple “Send an email” one where I’ve kept myself as a recepient and I’ve added a subject and a body. Now to put it all together and run it – And here is the final output – When the hyperlinks are clicked they take me straight to azure while pointing to the file which is referred. For instance, if I click on the Events Codeunit – Conclusion Summarizing commit changes is just one way automation can make life easier.This same idea can be applied to other tasks, like summarizing meeting notes, project updates, or customer feedback.With a bit of creativity, we can use tools like this to cut down on repetitive work and free up time to focus on learning new skills or tackling more challenging projects.By finding smart ways to streamline our workflows, we can work more efficiently and open up more time for growth and development. 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 :
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.
