How to Enable the Latest Purchase Price Parameter in Microsoft Dynamics 365 Finance & Operations
Managing item purchase prices effectively is crucial for accurate cost control in Microsoft Dynamics 365 Finance & Operations (D365FO). One of the key features that impacts how item prices update is the Latest Purchase Price Parameter. When enabled, this parameter ensures that an item’s price is updated based on the most recent purchase cost recorded in a Purchase Order (PO). This means that every time a new PO is created, the item’s purchase price can change depending on the most recent cost price recorded in the system. In this blog, we will explore:The impact of enabling the Latest Purchase Price parameter.Step-by-step instructions to activate this parameter.How to track price changes using Last Price History. Impact of Enabling the Latest Purchase Price Parameter Key Effects of Enabling This Parameter:The purchase price of an item in the Item Master updates automatically based on the latest purchase price in a PO.This applies to both fixed and variable pricing models.If multiple POs are created for the same item at different prices, the purchase price will fluctuate accordingly.The updated purchase price will also reflect in the Manage Cost > Item Price section. Example Scenario: Steps to Enable the Latest Purchase Price Parameter in Released Products Step 1: Navigate to Released Products Step 2: Select the Product Step 3: Enable the Latest Purchase Price Parameter Step 4: Set Initial Price in Product Master Step 5: Create a Purchase Order (PO) Step 6: Update the Purchase Price Step 7: Confirm the Purchase Order Step 8: Post the Product Receipt (GRN) Step 9: Invoice the Purchase Order Outcome:Once invoicing is complete, navigate to the Product Master and open the product. If the Latest Purchase Price parameter is enabled, you will see that the purchase price has been updated from 50 USD to 100 USD, reflecting the latest purchase cost. Additionally, under Manage Cost > Item Price, the updated purchase price of 100 USD will be visible. How to Enable Last Price History in Dynamics 365 To track purchase price fluctuations over time, you need to enable the Last Price History feature. Steps to Enable Last Price History: Outcome:Once enabled, you can view historical purchase price changes in the Item Price section, helping businesses analyze pricing trends and make informed purchasing decisions. To conclude, enabling the Latest Purchase Price Parameter in D365FO ensures that item prices remain current based on the most recent purchase cost. This feature is beneficial for businesses managing fluctuating costs and needing accurate pricing in their procurement process. Additionally, by enabling Last Price History, organizations can track price variations over time, ensuring better cost analysis and decision-making. By following the steps outlined in this blog, you can optimize your item pricing strategy and enhance financial accuracy in Dynamics 365 Finance & Operations. 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 further assistance? Feel free to leave a comment or reach out for expert guidance on pricing configurations in D365FO! Thank you for reading!
Share Story :
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 :
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 :
Bridging the Gap: How Sales Reporting Aligns Teams with Business Objectives
In today’s fast-paced business landscape, alignment between sales teams and overall business objectives is crucial for success. However, many organizations struggle with fragmented communication, misaligned goals, and inefficient decision-making. This is where sales reporting plays a transformative role. By leveraging accurate and real-time data, businesses can ensure that every department—from sales to marketing to finance—is working towards a unified vision. The Importance of Sales Reporting in Business Alignment Sales reporting is more than just tracking revenue—it’s a strategic tool that helps businesses: How Sales Reporting Aligns Teams 1. Data-Driven Goal Setting Sales reporting provides clear benchmarks for teams to measure performance. By using historical data, businesses can set realistic sales targets that align with revenue goals, ensuring that every department contributes to overall growth. 2. Transparency and Accountability When all departments have access to sales performance metrics, it promotes accountability. For example, if a sales team struggles with conversions, marketing can adjust its lead generation strategies accordingly. This ensures that teams are not working in silos but rather as a cohesive unit. 3. Optimizing Sales Strategies Regular sales reports highlight which products or services are performing well and which need improvement. Sales managers can use these insights to refine sales pitches, adjust pricing strategies, or reallocate resources to high-performing areas. 4. Customer Insights for Better Engagement Sales reports provide valuable data on customer behavior, preferences, and buying patterns. This enables teams to personalize their approach, leading to higher customer satisfaction and increased retention rates. For example: A mid-sized SaaS company struggling with declining sales implemented real-time sales dashboards to track performance across multiple teams. By analyzing the data, they: Example 1: CRM Dashboard for Sales Performance Analysis A CRM Dashboard, like the one shown below, helps businesses track critical sales metrics: By leveraging such dashboards, companies can make data-driven decisions, enhance collaboration, and ultimately align sales efforts with overarching business goals. Example 2: Sales and Brand Performance Dashboard Another example of effective sales reporting is a Sales and Brand Performance Dashboard, which provides: This level of visibility ensures that sales, marketing, and finance teams are working towards common business objectives, optimizing resources, and increasing profitability. To Conclude, sales reporting is not just about numbers—it’s about aligning teams with business goals to drive success. If your business is looking to improve sales performance, start by implementing data-driven reporting tools to enhance collaboration, optimize strategies, and achieve long-term growth. Want to learn more about how sales reporting can transform your business? Get in touch with us today for consultation! 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.
