Category Archives: D365 Finance and Operations
Resolving SSL/TLS Secure Channel Trust Errors in Dynamics 365 Finance and Operations
Have you ever encountered the error:“The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel”while deploying from Visual Studio to Finance and Operations. This error is often linked to an expired or invalid SSL certificate in your environment. This also shows up as an expired SSL Certificate warning when you open your Finance and Operations environment from the browser. Certificates are critical for securing communication channels, and an expired certificate can disrupt services and integrations.In this blog, we’ll explore the cause of the error and provide steps to resolve it. References Eugene Dmytriienko – Onpremise Certificate Rotation Said Nikjou – Rotate Secrets via LCS MS Docs – Certificate Rotation Configuration In a new cloud hosted environment, the SSL Certificate stays valid for one year by default.Post that, it expires at which point it is essential to renew the SSL Certificate. For Cloud Hosted environments, it is really simple to do via the LCS. Go to LCS and open the environment which has the expired SSL. Click on Maintain and then “Rotate Secrets” In the pop-up menu, select the change type as “Rotate SSL Certificates” After that the environment will go into servicing and the status will reflect “Rotating Secrets” This entire process should take less than 15 minutes. The documentation suggests secrets rotation should show up in the enviroment history however in my attempt it didn’t so I’m not sure if that’s reliable or not or whether that is only for Tier 2 and above environments though that doesn’t make much sense. Anyways, once this is done we can see that the SSL error has been resolved. Conclusion SSL certificates are the backbone of secure communication in Dynamics 365 Finance and Operations environments.An expired certificate can disrupt critical functionalities, but with proper certificate management, such issues can be avoided.Regularly monitor your SSL certificate validity to ensure uninterrupted operations. 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 change a Bill of material (BOM) item on a production order
In manufacturing industry, there are scenarios where there is need to change some bill of materials items due to various reasons. i.e. due to lack of availability of original material, or there may be increase in price of original material. & once production order is scheduled then it is not possible to change raw materials. As a result, Microsoft has added a new feature that allows users to switch out BOM items for other items on planned or estimated production orders. This feature is useful for production manager to keep production running as well as to business personnel to keep business running in absence of or lack of required material, provided that alternate material is available. Prerequisites for altering BOM items on production orders: – system must meet the following requirements: Also note that, one can change BOM items only for production orders that have a status of Estimated or Scheduled. 1.Now, will consider finish good L0001 for this example. Finish good number L0001, as per original BOM has raw materials M0001, M0002, M0003, M0004, M0005, M0006 & P0002. 2.Create production order for item L0001. 3.Change status to Estimate. 4.Now check estimation from Manage cost -> View calculation details -> original raw materials are considered for production order. 5.Now to change BOM item go to Production order -> Change BOM item 6.Now select raw material which needs to be replaced “From item” & “To item”. & “To item quantity” specify required quantity of new item. Or if “To item quantity” indicates how much of the new item is needed. 7.In Production order lines Tab, select required production order / Orders in which needs to replace BOM item. Click Ok. 8.Now if we check estimation from Manage cost -> View calculation details -> New raw material is considered for production order. M0007 is considered for production order instead of M0006. & consumption is same as original material as “To quantity” was kept as 0. Conclusion – By activating “Change BOM item” feature on system version 10.0.38 or later, can change BOM item on Estimated or scheduled production orders. 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 Set Up a Local Development Environment for D365 Finance and Operations Without Azure Costs
Are you looking for a cost-effective way to set up a development and testing environment for Dynamics 365 for Finance and Operations (D365FO)? If Azure expenses are a concern, deploying a local Virtual Hard Drive (VHD) is a practical alternative. This step-by-step guide will walk you through the process to get started. Why This is ImportantA local VHD setup provides a robust environment for developers to test and build without incurring cloud costs. With sufficient technical planning, you can have a fully functional Dynamics 365 instance running locally. Step 1: Download the VHD Step 2: Set Up the Virtualization Environment Step 3: Configure the Virtual Machine Step 4: Finalize Setup Step 5: Launch D365FO Environment Tips for Maintenance By following these steps, you can set up a robust development environment for D365FO without relying on Azure. 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 :
Shopify Meets Dynamics 365 Finance and Operations: A Guide to Integration [Part 2]
Integrating Shopify with Dynamics 365 Finance and Operations (FnO) requires structured data management and seamless automation. This blog covers how to create a setup table and page in FnO to securely store API credentials and endpoints. In the next blog, we’ll create an automated batch job to push product data from FnO to Shopify, automating product creation on the e-commerce platform. If you are new to this series, you can refer to my blog here for setting up the necessary Shopify components for getting started. Pre-requisites Shopify API credentials (API Key, API Secret, Auth Token)Access to the development environment in Dynamics 365 Finance and Operations. References MS Docs – Create a table MS Docs – Create a form Configuration Step 1: Create the model and project I’m going to be starting from scratch so I’ll create a new model for this. If you already have a model you’ll be using, you can skip this part. Open Visual Studio and click on Continue without Code. Click on Extensions > Model Management > Create Model. Give your model an appropriate name. After everything is selected, click on Next. Give your solution/project appropriate names and click on Create. Step 2: Create Extended Data Types Right click on the project, click on Add > EDT > String. I’ve also created a Label file to store the labels. In the properties of my EDT, I’ll set the string length to 40 and set the label. Similarly I create 2 more EDTs, with the Shopify Auth Token with string size 50. Step 3: Create Table Right click on the project, click on Add > Table. Give it an appropriate name and click on Add. Then, we’ll drag the three EDTs into the fields section of table and set the label to the table. I’ll also add a Parameters Key from the Application Platform Module Next, we create an index on the basis of the ParametersKey (renamed to Key) Drag the Key field into the newly created index and be sure to set the “Allow Duplicates” property to “No” Then we set the necessary properties. This is useful as this will prevent multiple records in our setup table. Then right click on the Methods and click on “New Method” Then add this method logic. Step 4: Create Form Right click on the project, click on Add > Form Give it an appropriate name and click on Add. Right click on the Pattern > Apply Pattern > Table of Contents Right click on the Pattern > New > Tab. Next drag your table onto the Data Sources tab. Select the datasource you just created and set the below properties. Next right click on your Tab and click on “New Tab Page” Right click on the newly created tab page, click on New > Group Right click on the Group > Add > Static Text. Then, right click on the “GeneralTabPage” and add another tab.Inside that, add another tab page (as prescriped by the pattern) and set the pattern of the inner tab page to be “Fields and Field Groups” Inside this tab page, you can directly drag and drop your fields. For the “Shopify Auth Token” set the “Password Style” property to “Yes” Right click on Methods > Override > init. Call the find method of the Integration Parameters in the init method of the form. This ensure that the record is created if it doesn’t exist already. Step 5: Create the menu item for the form Right click on the Project > Add > New Item. In the menu click on User Interface and select Display Menu item. Give it an appropriate name and click on Add. Assign the appropriate label and set the form we just created into the object field. Step 6: Extending standard menu Go to Application Explorer > Click on User Interface > Menus > right click on “System Administration” and click on “Create Extension” Go to Solution Explorer > Click on the newly created Menu Extension. Right click on the title and click on New > Sub Menu. Give it an appropriate name and an appropriate label. Drag and drop your display menu item into the submenu. Step 7: Configure Security Right click on the project > Add > New Item Go to Security and select Security Privilege. Give it an appropriate name and click on Add. Drag and drop your menu item into the “Entry points” tab of the Security Privilege. Similarly create a Security Role and give it an appropriate name. Then drag your privilege into the role. Set a label to this role. Build the entire project, sync it with database and deploy it. Search for”Assign users to roles” to assign the security role to yourself. Select the role and click on “Manually assign / exclude users” Select your User and click on Assign to role. Click on Modules > System Administration > Shopify Integration > Shopify Integration Parameters. Conclusion This blog demonstrated how to create a setup table and page in Dynamics 365 Finance and Operations for securely storing Shopify API credentials.In the next blog, we’ll focus on handling product updates and synchronization between Shopify and Finance and Operations. 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 :
Shopify Meets Dynamics 365 Finance and Operations: A Guide to Integration [Part 1]
Introduction The integration of Shopify with Dynamics 365 Finance and Operations (FnO) starts by creating a secure link.The initial step in this process involves generating an API token within Shopify, serving as the credential for verified communication between both systems.In this blog I will walk you through the steps to create the API token, facilitating a seamless beginning for your integration. Pre-requisites Access to the Shopify Admin account with appropriate permissions to create private apps or access custom apps.API access enabled in your Shopify store.A basic understanding of API concepts and authentication methods. [Available in Reference]The URL or endpoint details where the API calls will be directed. [Available in Reference] References Shopify – How to generate API token ResfulAPI.net – Basics of REST APIsShopify.dev – REST API Documentation Configuration Step 1: Access the Shopify Admin Portal Log in to your Shopify store’s Admin account. Navigate to Apps from the main menu. Step 2: Create a Custom App Click on Develop Apps (available under Apps). Select Create an App and provide a name (e.g., “Dynamics365_Integration”). Assign a developer or admin as the app owner. Step 3: Configure API Scopes After creating the app, click on it to open the configuration page. Under the Configuration section, define the API scopes required for integration based on your requirements. You can change these later if required. For example: Click on Save to save the changes. Step 4: Generate the API Token Once scopes are set, click on the API credentials tab. Click Install App to generate the credentials. A unique Access Token will be displayed. Copy and securely store this token, as it will not be shown again. If you scroll down, you’ll also see the API Key and API Secret; store these values as well. Step 5: Test the Token Use a tool like Postman to test the API token. Set up a GET request to an API endpoint (e.g., https://<API KEY>:<API Secret>@<Store Name>.myshopify.com/admin/api/2023-07/products.json). Include the token in the header as X-Shopify-Access-Token. Verify the response to confirm the token is working correctly. Or simply (https://<Store Name>.myshopify.com/admin/api/2023-07/products.json) Conclusion The API token is your gateway to integrating Shopify with Dynamics 365 Finance and Operations. By following this guide, you’ve taken the first critical step toward seamless data flow between your e-commerce platform and back-office operations. In the next blog, we’ll explore how to configure Dynamics 365 Finance and Operations to connect with Shopify and start synchronizing data. 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 :
Sales Return process in Dynamics 365 Finance and Operations Part 2
In the previous part of my blog, I explained about the Credit Only process. In this part of my blog, I will go through the Physical Return process. The Physical return process is determined based on the Disposition Code that is assigned to that Return Order. Disposition Codes in D365 Finance and Operations: Disposition codes in Dynamics 365 Finance and Operations (D365FO) are essential tools used to categorize and manage returned items. These codes help businesses decide what to do with products that customers send back, whether it’s restocking, repairing, or scrapping them. By using disposition codes, companies can streamline their return processes, maintain accurate inventory records, and ensure that returned items are handled efficiently and appropriately. This not only enhances operational efficiency but also helps in improving customer satisfaction by managing returns in a clear and organized manner. Below is the List of Dispositions Codes that are available in D365 FNO: These Disposition codes are available as Standard Functionality in D365 FNO. You can also create new codes based on the business requirements. In this part of the blog, I will walk you through the Replace Item and Credit Customer scenario. Let’s take a scenario where we have sold 5 items to the customer and after delivery the customer does the Quality check in which 2 products fail due to quality issues. The customer has Scrapped those products on our behalf and now we will provide the customer with the replacement items. For that: Go to Sales and Marketing>Sales Returns>All Return Orders. On the All return orders page click New to create a New Sales Return Order. Select the Customer for which the Return Order is to be created. Enter the Site, Warehouse, RMA number and other details and click OK. In the first part of the blog I created the Return order using the Find Sales Order function so in this part I will directly add the line with negative quantity. In the below screenshot you can see that I have added a line for the Product P-000015 with negative quantity. The next step is to register the Line with the Replace and Credit customer Disposition code. For that click on the Update Line option in the Lines tab then from the drop down click on the Registration option. Then from the Disposition Code drop down select the Replace and Credit Customer option. Then add the registration line then click on Confirm Registration. In the below screenshot you can see the Line status is changed to Registered and the Return order status is changed to Open. Now if you go to the All-Sales Order Page you can see that a New Sales Order is created with the Order type as Returned Order with the Status as Open Order. Now if you open the Sales Order and check the lines the quantity of the line will be exactly same as that of the Return order. The next step is to create a Replacement order as we have selected the Disposition Code of Replace and Credit. For that click on Update Line and Click Registration which will change the Line status from Registered to Expected. As you do this you will notice that the Post Packing Slip button is now disabled, and you can see that the Replacement Order button is now available. As our disposition code is Replace and credit Customer the next step is to create a Replacement Order. For that click on the New Replacement Order button. Add the same site and Warehouse as Return order and click Ok this will create a Replacement Order. After Replacement Order is created go back to the Return Order again and Click Registration and select the Credit disposition code which will Credit the Amount back into the Customer’s account. Now after that Post the Packing slip for the Return order which will change the Return Order status to Received. Then go ahead and Invoice the Return Order from the All-Sales Order page which will again change the Return Order status to Closed. Then go ahead and process the Replacement Sales Order. If you go to the Customer transaction and check, you can see that the Amount is credited back in to the Customer Account. So, this completes the Sales Return Process of Return and Credit to customer. 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 :
Automate Asset Leasing through Microsoft D365 F&O
Leasing refers to a contractual arrangement where one party (the lessee) pays the other party (the lessor) for the use of an asset, such as property, vehicles, or equipment, for a specified period. Lease accounting is the process by which companies record the financial impacts of their leasing activities. It has become increasingly important due to new accounting standards that require most leases to be recognized on the balance sheet, enhancing transparency and providing a clearer picture of a company’s financial obligations. Microsoft Dynamics 365 Finance can help companies (CFOs, Finance & accounts team) to set up, operate and manage multiple lease accounting. The work around goes as listed below : 2. i. Create Lease Books: Asset Leasing =>Setup=> Lease Books ii. Define Interest as Expense Type iii. Define Lease rate of interest as Index rate type. iv. Define General Ledger mapping, number sequences and journal types in Asset leasing parameters. 3. Create New Lease in Lease Summary by giving unique Lease ID and update details in Open Books : Lease start date, Vendor Details, Lease Term 4. Run each schedule to ensure that journal entries are made for the chosen period and schedules are generated for the lease period. 5. For any modification in lease terms, termination or revaluation use the Maintain function. 6. Using the Inquiries and Reports – all lease related reports can be used to review and monitor the financial impact of leases. This way the entire lease accounting can be automated whether asset leasing is part or core business of the company. It takes care of the increasing number of leases with comfort and avoids risk of errors and miscalculations. 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 review and accept changes to confirmed Purchase Orders in D365 F&O
Purchase department plays very crucial role in any company to maintain right inventory at right time & at right price. So to keep business running efficiently purchase orders are released to suppliers accordingly. But there might be changes in confirmed purchase orders due to various reasons & it’s impacts on business will vary case to case basis. It is very important to quickly assess the impact of changes & respond to mitigate the challenges. D365 F&O has released workspace “Confirmed purchase orders with changes” to review and accept changes to confirmed Purchase Orders. This feature is useful to purchase manager, sourcing manager to take quick actions on changes. On this workspace summary is shown for all orders with no. of “Low impact changes”, “High impact changes”, “Impacted downstream orders” sales, production or service orders which will be affected due to changes in purchase orders. List of “All purchase orders with changes”, change details i.e. item no., quantity change, date change, impacted order details as below – Now selected PO is 000039 in “All purchase orders with changes” list in 1st table in lower half. In 2nd table details of changes are provided with item number & changed quantity. As in this PO quantity of item M0007 is reduced from 100 to 10 because of which production order P000169 & P000171 will be affected which is shown in 3rd table in lower half. In 2nd table in upper half M0007 is part of list which are “High impact changes” means changes in this purchase order is going to impact production orders which will affect business. Similarly selected PO is 000038 in “All purchase orders with changes” list in 1st table in lower half. In 2nd table details of changes are provided with item number & changed quantity. As in this PO delivery date of item M0002 is delayed but this change is not going to affect any downstream order. As there are no details in 3rd table in lower half. In 1st table in upper half M0002 is part of list which are “low impact changes” means changes in this purchase order is not affecting any production order or sales order even if it is delayed upto new date. Similarly, all confirmed orders which has changed will be displayed in this list. Once these changes are reviewed by purchase department personnel, they can discuss with suppliers to mitigate the changes. & then confirm the finalized changes by selecting purchase orders on list & click on confirm purchase orders button. Conclusion – Hence using “Confirmed purchase orders with changes” workspace purchase manager can review changes in 1 screen with details of impact on downstream orders & can approve these orders & take required action to reduce the impact on business. 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 Purchase & trade agreements in D365 – Part 5
In Purchase & trade agreements in D365 – Part 1 & 2 blog we have gone through overview of Purchase & trade agreements in D365 & how to setup different types of Purchase agreements in D365. In Part 3 & 4 blog we have covered setup of Trade agreement for purchase price & line discounts. Let us see difference between Line & multiline discount, if we have same range for line & multiline discount of 5% for 1-101 quantity, 10% for 101-501 quantity & 15% for 501-1001 quantity. When PO has multiple lines of same item. i.e. 1st line has 50pcs & 2nd line has 70pcs. So, in case of Line discount each line will get discount of 5% even though total quantity is greater than 100. But in case of Multiline discount, discount applied will be 10% as total is greater than 100, as it considers total of multiple lines. & In line & multiline discount, discount is applied to line. But in total discount, it is applied on total purchase order. In this blog will go through how to setup Trade agreement line discount for Multiline discount & Total discount functionality in trade agreement. Problem statement – In this scenario we need to setup trade agreements for Multiline discount & Total discount functionality in trade agreement. Solution steps – 1 – Will setup trade agreement for Multiline discount 1.1 As discussed in previous blog (Part 3) we have already created Trade agreement journal names; we can use same for this blog. For those who have not gone through blog part 3 can follow below steps Create Trade agreement journal names – Go to Procurement & Sourcing -> Setup -> Prices & discounts -> Trade agreement journal names New -> Name -> Pur Disc -> Description -> Purchase discount -> Relation -> Line disc. (purch.) -> Save. 1.2 & Enable parameters – Go to Procurement & sourcing -> Setup -> Prices & discounts -> Activate price/discount Enable all parameters for Multiline discount. Item group parameter Yes for Vendor means It is to enable price for specific vendor for specific Item. Item parameter Yes for Vendor group means if price is same for item for group of suppliers (based on vendor group) then need to enable this parameter. Item parameter Yes for All vendors means if item has same prices for all suppliers then need to enable this parameter. 1.3 Create Item group & assign it to items. Go to procurement & Sourcing -> Prices & discounts -> Price/discount group -> Item discount group -> New -> Price groups -> 01 -> Name -> High Margin -> Price/discount group type -> Multiline discount group New -> Price groups -> 02 -> Name -> Low Margin -> Price/discount group type -> Multiline discount group 1.4 Go to Released products -> respective item -> Purchase Tab -> Multiline discount group -> 01 1.5 Enable Multiline discount – Procurement & Sourcing -> Setup -> Procurement & sourcing parameters -> Prices -> discounts -> Line+Multiline 1.6 Create Trade agreement – Procurement & sourcing – Trade agreement journals -> New -> Name -> Pur disc -> Default relation -> Multiline disc. (purch) -> Lines -> Relation -> Line disc. (Purch.) -> Party code type -> Table -> Account selection -> VEN-000003 -> Product code type -> Group -> Item relation -> 01 -> Unit -> Pcs -> From -> 1 -> To -> 101 -> Unit -> Pcs -> Details (Fast tab) -> Discount percentage 1 -> 5 -> Add line -> From -> 101 -> To -> 501 -> Unit -> Pcs -> Details (Fast tab) -> Discount percentage 1 -> 10 -> Save -> Post 1.7 Create PO – For respective vendor & item. Multiline discount will not reflect automatically. 1.8 To activate discount click on – Purchase (Action pane) – Calculate – Multiline discount. Then discount will be calculated. 2 – Will setup trade agreement for Total discount 2.1 Enable parameters – Go to Procurement & sourcing -> Setup -> Prices & discounts -> Activate price/discount Enable all parameters for Total discount. Total discount will be applicable for all items. 2.2 Create Trade agreement – Procurement & sourcing – Trade agreement journals -> New -> Name -> Pur disc -> Default relation -> Total disc. (purch) -> Lines -> Relation -> Line disc. (Purch.) -> Party code type -> Table -> Account selection -> VEN-000004 -> Details (Fast tab) -> Discount percentage 1 -> 5 -> Save -> Post 2.3 Create PO for respective vendor. Multiline discount will not reflect automatically. 2.4 To check Total discount go to Purchase order (Action pane) – Totals 2.5 To activate discount click on – Purchase (Action pane) – Calculate – Total discount. Then discount will be calculated. 2.6 Go to Purchase order (Action pane) – Totals, total discount of 5% (as defined in trade agreement) is reflecting in Total discount field. With this blog we have covered various aspects of Purchase & trade agreements. 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 :
Step-by-Step Guide: Deploying a Package from the Asset Library to UAT
Ensuring smooth and efficient operations in Finance and Operations (F&O) is crucial for success in business environment. Many teams struggle with deploying extensions effectively, leading to delays and complications. Have you ever faced challenges when deploying an extension to UAT in F&O? In this blog post, we promise to provide you with a clear, step-by-step guide that will simplify the deployment process, enabling you to achieve seamless integration and improved performance. Did you know that 70% of software deployment failures can be traced back to inadequate preparation and planning? By following our guide, you can significantly reduce the risk of errors and ensure a successful deployment. Prepare the Package – Ensure the logic or customization is thoroughly developed and tested in a development environment. – Compile the solution into a deployable package. Export the Package – Export the compiled package from Visual Studio or another integrated development environment (IDE) By Navigating it to Dynamics 365-> Deploy->Create Deployment Package – The package should include all necessary components (like all customizations models). – Select the File location where you wish to store Deployment Package. Upload to Asset Library – Log into Microsoft Dynamics Lifecycle Services (LCS). – Navigate to the Asset Library section. – Click on Import Package and click on New Button, give name and description and upload the newly created deployable package. – Wait for the upload process to complete. Select the Target Environment (UAT) – Choose the project linked to your UAT environment in LCS. – Go to the Environment Details of the UAT instance. Apply the Package to UAT – In the UAT environment’s details page, select Maintain and click on Apply Updates. – Choose the package you uploaded from the Asset Library. – Confirm the deployment request. Monitor Deployment – Track the deployment progress in LCS. – If successful, the package will be applied to the UAT environment. Validate the Deployment – After deployment, test the UAT environment to ensure the new logic works as expected. – Run key processes to validate the customizations and confirm no errors. Resolve Issues if Necessary – If there are any deployment errors or issues, review the error logs and fix them before re-deploying. – Make sure to thoroughly test before proceeding with the next environment (production). Conclusion Deploying logic to UAT in Finance and Operations (F&O) is a critical step in ensuring that your customizations and new features work as expected before going live. By following these steps from package preparation to validation you can streamline the process and minimize deployment risks. 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