Tag Archives: D365 Finance and Operations
Advance warehouse management – Work Classes and Work Templates in Microsoft D365 F&O – Part 5
Introduction In this blog we will learn about the basic setups required for the Advanced Warehouse Management process. These setups may vary depending on the business scenarios. For Work classes and Work Templates to work in an Advance warehouse scenario, there are some prerequisites that we need to do first. The following are the setups that we need to configure: Work classes and Work Templates plays a significant role in advanced warehouses. a Work classes and Work Templates are the set of rules to create the work for Purchase Order, Sales Order, Transfer Order etc. For my current scenario, I will create a Work classes for a Sales Order, Purchase Order and Transfer Order. – Enter Work Class ID and Description. – Select work order type from the Drop-down menu. – Here, I have created 4 work classes. We will use these work classes while making the work templates. Work Templates: Work templates will be used to create a work, when there is a related transactions like Purchase Order, Transfer Order, Sales Order etc. By selecting this work, warehouse worker can perform the transaction on the mobile device. – Click New. – In the work Order type select Purchase Order. – Enter Work template name – Enter Work template Description – Select the work type as “Pick” and “Put” – Select previously created Work class ID as “PurchOrder”. – Click New. – In the work Order type select Sales Order. – Enter Work template name – Enter Work template Description – Select the work type as “Pick” and “Put” – Select previously created Work class ID as “SalesOrder”. Now, Work classes and Work Templates are ready to use in Advance Warehouse process. That’s it for this blog!! How to use these Work classes and Work Templates in actual transactions will be discussed going forward in the blog series. 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
Posting – Document processing – The remote certificate is invalid according to the validation procedure Error in D365 FNO
Introduction Encountering errors while working with Sales Orders in Dynamics 365 Finance and Operations (D365FO) can disrupt your workflow, especially in development environments. One common issue involves posting the packing slip due to an expired SSL certificate in cloud-hosted environments. SSL certificates in D365FO cloud-hosted setups are valid for one year, after which they need to be renewed for continued security and functionality I faced this issue while trying to post the packing slip for a Sales Order. I faced this issue on Dev Environment. To resolve this issue, follow the below process: To maintain security, these certificates must be renewed through rotation. Credential rotation is a critical aspect of enterprise-level cybersecurity, and this process can be managed via LCS. To resolve this log into the LCS environment. – Select the Implementation Project and then click on Full details option. – Click on the Maintain drop down button and then select the Rotate Secrets. – After that click on Rotate SSL Secrets Certificates option. It will look like this. This process make take a few minutes to complete. This will resolve the issue. After completion you can see that the status will be changed to Deployed. Then the next and final step is to click on Apply updates option this will apply all the changes and updates. Conclusion Rotating SSL certificates in Dynamics 365 Finance and Operations is essential to maintain security and functionality in cloud-hosted environments. By following these steps in LCS, you can ensure that your environment remains secure and that tasks like posting packing slips proceed smoothly. Regularly checking and updating your SSL certificates will help prevent future disruptions and keep your operations running efficiently. 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
Understanding Purchase & trade agreements in D365 – Part 3
Introduction 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 this blog will go through how to setup Trade agreement for Purchase price & how to setup different types of Trade agreement of line discount in D365. i.e. Fixed amount, percentage discount or for quantity range. Problem statement – In this scenario we need to setup different types of trade agreements for vendor. Solution steps – 1 – Will setup trade agreement for purchase price 1.1 Create Trade agreement journal names – Go to Procurement & Sourcing -> Setup -> Prices & discounts -> Trade agreement journal names 1.2 New -> Name -> Pur Price -> Description -> Purchase price Trade agreement -> Relation -> Price (purch.) -> Save. 1.3 Enable parameters – Go to Procurement & sourcing -> Setup -> Prices & discounts -> Activate price/discount 1.4 Enable all parameters for Price. Item 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.5 Create trade agreement journal. Go to Procurement & Sourcing -> Prices & discounts -> Trade agreement journals 1.6 Create new journal – Name -> Pur price (Created in step 1.2) -> click on Lines to add details 1.7 Enter line details. Party code type -> Table -> Account selection -> VEN-000001 -> Product code type -> Table -> Item relation -> P-000009 -> Unit -> Pcs -> Amount in currency -> 3000 -> Save. 1.8 Validate -> Validate all lines 1.9 Post. 1.10 Then create new purchase order with respective vendor (In this case VEN-000001) for respective item (In this case P-000009). Purchase price will be reflected as per set in Trade agreement. 2 – Will setup trade agreement for Line discount for Fixed amount 2.1 Create Trade agreement journal names – Go to Procurement & Sourcing -> Setup -> Prices & discounts -> Trade agreement journal names 2.2 New -> Name -> Pur Disc -> Description -> Purchase discount -> Relation -> Line disc. (purch.) -> Save. 2.3 Enable parameters – Go to Procurement & sourcing -> Setup -> Prices & discounts -> Activate price/discount Enable all parameters for Price. Item 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. 2.4 Create trade agreement journal. Go to Procurement & Sourcing -> Prices & discounts -> Trade agreement journals Create new journal – Name -> Pur Disc (Created in step 2.2) -> click on Lines to add details 2.5 Enter line details. Party code type -> Table -> Account selection -> VEN-000001 -> Product code type -> Table -> Item relation -> P-000009 -> Unit -> Pcs -> Amount in currency -> 100 -> Save. 2.6 Then validate & post the journal. 2.7 Then create new purchase order with respective vendor (In this case VEN-000001) for respective item (In this case P-000009) discount will be reflected as defined in Trade agreement. 3 – Will setup trade agreement for Line discount for discount % 3.1 As we have created already journal name & enabled parameters in solution 2, we can directly create journal. Create trade agreement journal. Go to Procurement & Sourcing -> Prices & discounts -> Trade agreement journals Create new journal – Name -> Pur Disc (Created in step 2.2) -> click on Lines to add details 3.2 Enter line details. Party code type -> Table -> Account selection -> VEN-000001 -> Product code type -> Table -> Item relation -> P-000010 -> Unit -> Pcs -> Discount percentage 1 -> 10 -> Save. Then validate & post. 3.3 Then create new purchase order with respective vendor (In this case VEN-000001) for respective item (In this case P-000010) discount % will be reflected as defined in Trade agreement. 3.4 There is one more field available at Trade journal Discount percentage 2. Define Party code type -> Table -> Account selection -> VEN-000001 -> Product code type -> Table -> Item relation -> P-000011 -> Unit -> Pcs -> Discount percentage 1 -> 10 -> Discount percentage 2 -> 5 -> Save. Then validate & post. If both Discount percentage 1 & 2 is defined, then on Purchase value 1st discount in field 1 is applied & then on that value % of field 2 is applied. i.e. if amount 100 & disc 1 -10 & disc 2 – 5 then final % will be 100*.1=90*.05=85.5 so total discount will be 14.5%) 3.5 Then create new purchase order with respective vendor (In this case VEN-000001) for respective item (In this case P-000011) discount will be reflected as defined in Trade agreement. In this blog we completed how to setup Trade agreement for Purchase price & line discount fixed amount & discount percentage. In next blog (Part 4) will cover setup of trade agreement line discount for quantity range & next flag. 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
Understanding Purchase & Trade agreements in D365 – Part 2
Introduction In Purchase & trade agreements in D365 – Part 1 blog we have gone through overview of Purchase & trade agreements in D365 & how to setup different types of Purchase agreements in D365. In this blog will go through how to setup purchase agreement of type Product category value commitment & Value commitment. To give brief overview of Purchase & trade agreements in D365, for those who have not gone through part 1 of this blog. In D365 we can create Purchase agreements for blanket orders to buy certain fixed quantity of item from specific vendor within specified time. & Trade agreement can be used to create discounts generally for short period for specific vendor or vendor group. In D365 there are different types of Purchase agreement & trade agreements. Below are different types of Purchase agreements based on commitment in D365 – Product category value commitment is setup when there is commitment to buy fixed amount of specific category of goods from specific vendor over fixed period & vendor provide discount%. For example, purchaser have committed to buy Travel luggage bags category SKUs from vendor A worth 10million over next 1 year then vendor will offer 20% discount for same. Value commitment when there is commitment to buy fixed amount from specific vendor over fixed period & vendor provide discount%. For example, purchaser have committed to buy from vendor A worth 15million over next 1 year then vendor will offer 20% discount for same. Below are different types of Trade agreements based on relation in D365 – Problem statement – In this scenario we need to setup purchase agreement of type Product category value commitment & Value commitment for vendor. Solution steps – 1 – Will create purchase agreement for Product category value commitment 1.1 Go to Procurement & Sourcing -> Purchase agreements -> Purchase agreements 1.2 Click on New -> Vendor account -> Select respective vendor (In this case it is VEN-000002) -> Purchase agreement classification -> Blanket purchase agreement -> Default commitment -> Product category value commitment -> Effective date -> Select respective date (In this case it is 1 Aug 24) -> Expiration date -> Select respective date (In this case it is 1 Aug 25) -> Ok 1.3 Fill the respective details of Item/Category name – Spinner, Net amount – 100000, Discount percent – 15 & Max enforced – Yes. Max enforced Yes means quantity consumed against purchase agreement is tracked. If purchase quantity exceeds quantity mentioned in agreement, then message will be displayed & link of Purchase agreement is removed from purchase order. & confirm purchase agreement. 1.4 Then create new Purchase order, select Purchase agreement to link 1.5 Add any Item with category mentioned in purchase agreement, in this case it is “Spinner” & required quantity in purchase order, discount will be automatically taken from purchase agreement. 1.6 We can check which agreement is linked, click on Update line -> Purchase agreement -> Attached. 1.7 Similarly, In Purchase agreement also same is reflected. 2 – Will create purchase agreement for Value commitment 2.1 Go to Procurement & Sourcing -> Purchase agreements -> Purchase agreements -> Click on New -> Vendor account -> Select respective vendor (In this case it is VEN-000005) -> Purchase agreement classification -> Blanket purchase agreement -> Default commitment -> Value commitment -> Effective date -> Select respective date (In this case it is 1 Aug 24) -> Expiration date -> Select respective date (In this case it is 1 Aug 25) -> Ok 2.2 Fill the respective details of Item/Category name – can select highest category in this case it is Bags, Net amount – 500000, Discount percent – 20 & Max enforced – Yes. Max enforced Yes means quantity consumed against purchase agreement is tracked. If purchase quantity exceeds quantity mentioned in agreement, then message will be displayed & link of Purchase agreement is removed from purchase order. & confirm purchase agreement. 2.3Then create new Purchase order, select Purchase agreement to link 2.4 Add any Item with category mentioned in purchase agreement in this case it is “Bag” & required quantity in purchase order, discount will be automatically taken from purchase agreement. 2.5 We can check which agreement is linked, click on Update line -> Purchase agreement -> Attached. In this blog we completed purchase agreement types. In next blog (Part 3) will cover setup of trade agreement. 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
D365 Finance & Operations and Financial Reporting Standards
Introduction In today’s business environment, Companies must adhere to various financial reporting standards. These standards are essential for fostering investor confidence, ensuring regulatory compliance, and supporting international expansion. Depending on their operational scope, some organizations are required to comply with multiple reporting frameworks, often necessitating the maintenance of multiple books of accounts. Companies need to comply with Financial Reporting Standards – IFRS, UK GAAP, US GAAP, Ind AS, Local GAAP due to reasons like: Compliance with the reporting standards is mandatory for some companies while others may follow them as best practice. There can be scenarios where a company must maintain multiple books of accounts to comply with multiple reporting standards. Example: Company listed on multiple stock exchanges like Infosys, ICICI Bank, TCS (India and US stock Exchange) must prepare financial reports as per Ind AS and as per IFRS. Microsoft Dynamics 365 Finance has the capabilities to meet the financial reporting requirements. How D365 Finance supports Financial Reporting Standards: Thereby, a company can utilize D365 Finance to maintain separate books for Financial Reporting. Conclusion Compliance with various financial reporting standards is not just a regulatory necessity but also a best practice that can enhance investor confidence and facilitate global operations. Microsoft Dynamics 365 Finance simplifies this process by enabling organizations to maintain multiple charts of accounts, set up parallel posting layers, and customize financial reports to meet different regulatory standards. By leveraging the comprehensive capabilities of D365 Finance, businesses can efficiently manage their financial reporting requirements, ensuring compliance across multiple jurisdictions and fostering transparency in their financial 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
Understanding Purchase & trade agreements in D365 – Part 1
Introduction In many businesses purchase is common & important function. & for purchase department, agreement is important feature. In D365 we have different types of agreements. i.e. Purchase agreement & Trade agreement. Both agreements have its benefits. In this blog will go through overview of purchase & trade agreements in D365 & setup of Purchase agreement in D365 of type Product quantity commitment & Product value commitment. In D365 we can create Purchase agreements for blanket orders to buy certain fixed quantity of item from specific vendor within specified time. Whereas Trade agreement can be used to create discounts generally for short period for specific vendor or vendor group. In D365 there are different types of Purchase agreement & trade agreements. Below are different types of Purchase agreements based on commitment in D365: Product quantity commitment is setup when there is commitment to buy fixed quantity of item from specific vendor over fixed period, so vendor will provide special purchase price for that quantity over defined period. For example, purchaser have committed to buy 1000 quantity of 1 SKU of luggage bag from vendor A over next 1 year then vendor will offer special price of 2000 instead of original price of 3000. Product value commitment is setup when there is commitment to buy fixed amount of specific item from specific vendor over fixed period & vendor provide discount%. For example, purchaser have committed to buy 1 SKU of luggage bag from vendor A worth 1million over next 1 year then vendor will offer 15% discount for same. Product category value commitment is setup when there is commitment to buy fixed amount of specific category of goods from specific vendor over fixed period & vendor provide discount%. For example, purchaser have committed to buy Travel luggage bags category SKU’s from vendor A worth 10million over next 1 year then vendor will offer 20% discount for same. Value commitment when there is commitment to buy fixed amount from specific vendor over fixed period & vendor provide discount%. For example, purchaser have committed to buy from vendor A worth 15million over next 1 year then vendor will offer 20% discount for same. Below are different types of Trade agreements based on relation in D365: Trade agreement for Purchase price is used to define purchase price of item from specific vendor or group of vendors. The price defined in trade agreement will be reflected in purchase order automatically. Trade agreement for Line discount for purchase is used to define discount on purchase price of item. can setup different types of discounts i.e. Fixed amount, percentage discount or for quantity range. Trade agreement for Multiline discount for purchase is also used define discount on purchase price of item but in multiline discount system will consider quantity of specified item available on multiple lines in purchase order to decide discount percentage. For example, If we have same range for line & multiline discount of 5% for 1-101 & 10% for 101-501. When Purchase order has 2(or 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 line. Trade agreement for Total discount for purchase is used to define discount percentage for total purchase order level & not at line level. Also note that, if both purchase agreement & trade agreement are defined for same combination of vendor & item, then Purchase agreement gets precedence / priority over trade agreement. Problem statement: In this scenario we need to setup Product quantity commitment & Product value commitment type of purchase agreement for vendor. Solution steps: 1 – Will create purchase agreement for Product quantity commitment 1.1 Go to Procurement & Sourcing -> Purchase agreements -> Purchase agreements 1.2 Click on New -> Vendor account -> Select respective vendor (In this case it is VEN-000001) -> Purchase agreement classification -> Blanket purchase agreement -> Default commitment -> Product quantity commitment -> Effective date -> Select respective date (In this case it is 1 Aug 24) -> Expiration date -> Select respective date (In this case it is 1 Aug 25) -> Ok 1.3 Fill the respective details of Item number – P-000003, Quantity – 1000, Unit price – 3000 & Max enforced – Yes. Max enforced Yes means quantity consumed against purchase agreement is tracked. If purchase quantity exceeds quantity mentioned in agreement, then message will be displayed & link of Purchase agreement is removed from purchase order. 1.4 Confirm purchase agreement. 1.5 Now create new purchase order. Go to Procurement & sourcing -> All purchase orders 1.6 New -> Select Vendor -> Select above created Purchase agreement -> Ok. 1.7 Add Item mentioned in purchase agreement, in this case it is P-000003 & required Quantity 500 in purchase order, price will be automatically taken from purchase agreement. 1.8 We can check which agreement is linked, click on Update line -> Purchase agreement -> Attached. 1.9 Similarly, In Purchase agreement also same is reflected. 2 – Will create purchase agreement for Product value commitment 2.1 Go to Procurement & Sourcing -> Purchase agreements -> Purchase agreements -> Click on New -> Vendor account -> Select respective vendor (In this case it is VEN-000001) -> Purchase agreement classification -> Blanket purchase agreement -> Default commitment -> Product value commitment -> Effective date -> Select respective date (In this case it is 1 Aug 24) -> Expiration date -> Select respective date (In this case it is 1 Aug 25) -> Ok 2.2 Fill the respective details of Item number – P-000003, Net amount – 50000, Discount percentage – 10 & Max enforced – Yes. Max enforced Yes means quantity consumed against purchase agreement is tracked. If purchase quantity exceeds quantity mentioned in agreement, then message will be displayed & link … Continue reading Understanding Purchase & trade agreements in D365 – Part 1
Inventory closing and Recalculation
How to do Inventory closing and Recalculation? In D365 Finance & Operations, inventory closing, and recalculation are essential process and recommended to be part of the month close standard operating practices. In case these practices are not followed, companies may face issues like inventory miscalculations, inconsistent inventory values in defined dimensions. Go to Inventory Management>Periodic Tasks>Closing and Adjustment. Then from the Action tabs click on Close Procedure dropdown, in that click on Close Inventory. After clicking on the Close Inventory a dialogue box will open in that select the Closing Period Code. Then under the Post-Closing you can see the Run Recalculation after Closing parameter, enable this and then click OK for Inventory Closing. Enabling this parameter will Run the Recalculation right after the Inventory Closing. After clicking OK the system will run the Closing and Recalculation Batch Job. This is how the Inventory Closing procedure takes places in D365 Finance and Operations. What happens by Inventory month close and Inventory Recalculation: – Inventory Month Close: The system generates inventory closing journals and settlement entries for the closed transactions resulting into adjustments to update inventory accounts like inventory value and cost of goods sold. It blocks the inactive dimensions from being considered into any of the valuation process. – Inventory Recalculation: The system does an inventory revaluation to adjust inventory values based on the latest costs, market values and inventory valuation method selected (FIFO, LIFO, Weighted Average, Standard Cost). By including inventory month close and revaluation as part of the month end SOPs, companies can achieve efficient inventory management. Conclusion: Inventory closing and recalculation in D365 Finance & Operations are critical processes for maintaining accurate inventory values and ensuring smooth month-end procedures. By performing these tasks regularly, businesses can prevent discrepancies, update inventory accounts effectively, and reflect true inventory costs based on the chosen valuation method. 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
Advance warehouse management – Location Directives in Microsoft D365 F&O – Part 4
Introduction In this blog we will learn about the basic setups required for the Advanced Warehouse Management process. These setups may vary depending on the business scenarios. For a Location Directives to work in an Advance warehouse scenario, there are some prerequisites that we need to do first. The following are the setups that we need to configure: The Location Directive plays a significant role in inventory movement in advanced warehouses. Location Directives are the set of rules which define the pick and put, Counting, License Plate building, Status change and Quality check etc. for individual warehouse or group of warehouses. – For my current scenario, I will create a location Directive for a Sales Order and Transfer Order transactions. – In the work Order Type, from the drop-down menu select “Sales Orders” – Enter the information below as per business use cases. – Enter Location Directive name. Here I have mentioned, “SO Pick” – Enter work type as “Pick” – Enter Scope. Here I have mentioned for “Multiple Items” – Enter warehouse. – Add From and To quantity fields. – Add location directive actions. Here I have mentioned “Fixed and Non-Fixed locations” – I have done the same setup for Sales Order “Put”. – Now we will do setup for transfer Order location directive. Here, we will have to do the separate setup for Transfer Issue and Transfer Receipt. Transfer issue: – Enter Name. – Enter work type as “Pick”. – Enter scope. I have selected here as Multiple Items. – Select the warehouse. I have selected here as All warehouses. – Enter quantity. – Enter fixed location usage. Transfer receipt: – Enter Name. – Enter work type as “Put”. – Enter scope. I have selected here as All Items. – Select the warehouse. I have selected here as All warehouses. – Enter quantity. – Enter fixed location usage. Here I have mentioned “Fixed and Non-fixed locations” Now, location directives are ready to use in Advance Warehouse process. That’s it for this blog!! How to use these location directives in actual transactions will be discussed going forward in the blog series. Conclusion We’ve explored the essential setups required for implementing the Advanced Warehouse Management process, focusing on the creation of Location Directives tailored to specific business scenarios. By configuring these directives, you can effectively manage inventory movements, ensuring a smoother workflow for Sales Orders and Transfer Orders. Next in the Blog series: How to create Work Classes and Work Templates in Advance warehouse management in D365. How to set up Worker in Advance warehouse management in D365. 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
The Importance of Physical Tracking and Negative Inventory Control to Prevent Stock Outs in D365 F&O
Introduction In the field of stock management, keeping precise stock levels is essential to the success of your business. Two key components in achieving this are physical tracking and negative inventory control. Physical tracking keeps track of inventory movements in real time, and negative inventory control makes sure that stock levels never fall below zero, which keeps operations from being disrupted. In this first part of the blog, I will explore the theory behind these concepts, highlighting their importance in preventing stock outs. Understanding these principles is essential for effectively managing inventory in Dynamics 365 Finance & Operations. First let me explain Physical Inventory: Physical inventory involves continuously monitoring the movement of goods, including receiving, storing, and shipping. This tracking helps businesses keep an up-to-date record of their stock levels and avoid discrepancies. This is the practice of recording the actual quantities of products on hand at various locations, such as warehouses, distribution centers, and retail stores. The goal is to ensure that the recorded inventory levels match the actual quantities available, which is essential for accurate stock management and financial reporting. So, physical inventory is a critical component of inventory management that ensures businesses maintain accurate records of their actual stock levels. By implementing effective physical inventory practices, companies can improve inventory accuracy, prevent stock outs, and enhance overall operational performance. How Physical Tracking works in D365 Finance and Operations? In D365 F&O, physical tracking works by leveraging inventory dimensions, tracking codes, and item model groups to monitor and manage inventory accurately. Physical tracking in Dynamics 365 Finance & Operations helps you monitor and manage the actual stock of items in real-time. You can define what you want to track (e.g., batch numbers, serial numbers) and then assign these dimensions to item model groups to specify how tracking is applied. In short Physical tracking ensures that you always have an accurate view of your inventory by recording and updating item details as they move through your supply chain. Physical Negative Inventory: Physical negative inventory occurs when the recorded quantity of items in your inventory system drops below zero. This situation arises when more items are issued or sold than are actually available in stock. For example, if your system shows you have 10 items in stock, but you issue 15 items, your inventory record will show a negative quantity of -5 items. In Dynamics 365 Finance & Operations, you can control this by setting parameters that prevent negative inventory from being recorded. If you disable the option for allowing physical negative inventory, the system will only permit transactions if there is enough stock on hand. This helps ensure that your inventory records are accurate and reflect the true quantity of items available, preventing potential issues such as stock outs or discrepancies between physical stock and system records. How Physical Negative Inventory works in D365 Finance and Operations? In Dynamics 365 Finance & Operations, physical negative inventory refers to how the system manages inventory levels when they fall below zero. If you allow negative inventory, the system permits transactions even if the stock levels go below zero, which can happen if more items are shipped or adjusted out than are available. To control this, you can configure settings in the system: by navigating to Inventory Parameters and Item Model Groups, you can choose whether to permit or prevent negative inventory. When negative inventory is disabled, the system ensures that transactions only occur if there is sufficient stock, preventing inventory records from showing negative amounts. This helps maintain accurate inventory records and avoids potential issues like stock outs. Regular cycle counts and inventory adjustments are also important to keep the system aligned with actual stock levels and address any discrepancies. Conclusion Dynamics 365 Finance & Operations (D365F&O) helps businesses keep track of their inventory and prevent stock issues in a simple and effective way. For physical tracking, D365 F&O uses inventory dimensions like site, warehouse, batch number, and serial number. This means you can always see where your items are and how many you have in real-time, which helps avoid mistakes and keeps your operations running smoothly. To control negative inventory, D365 F&O lets you set rules to stop inventory levels from dropping below zero. You can find these settings in Inventory Management and Item Model Groups. If you choose to prevent negative inventory, the system will block any transactions that would cause your stock to go below zero. This ensures your inventory records stay accurate, and you don’t run into issues like running out of stock or having financial discrepancies. Additionally, D365 F&O supports regular cycle counts and inventory adjustments. These regular checks help ensure that the actual physical stock matches what’s recorded in the system, allowing you to correct any differences quickly. With these features, D365 F&O makes it easy for businesses to manage their inventory accurately and efficiently, supporting better decisions and smoother operations. That’s it for this part of the blog. In the next part, I will walk you through the process with examples, including products tracked by Serial Numbers and Batch Numbers. I will also explain how these features impact inventory transactions. 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
Integration with Finance and Operations – From Basics (Part 2)
Introduction Finance and Operations provides two major ways to interact with tables (or data entities) for external system using APIs; namely Custom Services and Data Entities. Data entities in D365 Finance and Operations simplify data management by grouping data from multiple tables. They make it easier to import, export, and integrate data with other systems. Custom services in D365 Finance and Operations allow developers to create web services for specific business needs. They enable external systems to interact with D365 F&O by exposing custom logic and operations. This helps in integrating and automating processes with other applications. In the previous blog, we saw how we can use Data Entities to create APIs.In this blog, we’ll see how we can use Custom Services to create APIs. References Custom Service DevelopmentExposing an X++ Class as a Data Contract Using Data Contracts Pre-requisites Configuration Right click on the project and click on “Add” and then “New Item” Click on Services and select the “Service Group.” Add the appropriate name for your Service Group.Do note that this will be a part of your endpoint url. Once that is done, we’ll need to create a new Service as well.Repeat the same steps but this time select the “Service” object and add the appropriate name. Once both the Service Group and Service objects are created, we’ll need to create request, response and request processing objects. For that, click on Right Click on Project > Add > New Item > Code > Class. Add the appropriate name and click on “Add”. In the Request object, set the attribute [DataContract] at the class level and add Global variables which will be used to send data to the processing object. In the Response object, set the attribute [DataContract] at the class level and add Global variables which will be used to return data from the processing object. In the processing object, write the necessary logic. Here, I’m writing the logic to pull the data from the request object into local variables and then create a Customer record along with an address entry for that customer and if everything is completed successfully, I’ll return a “Success” status along with the customer Id else a “Failed” status along with the Customer ID. If there is any logic for logging, that can be added to our processing class after the main operation has completed.You can do that in the following way – Once this is done, we can now add our processing class to our Service object. Open the “Service” object and set the “Class” field to the processing class you have created. Right click on the Service object in the designer and click on “New Service Operation” In the new Service Operation that is created, set the method from the processing class that you want to call in the “method” field.Set the appropriate name for that method. (This will be part of the endpoint)Set the operational domain, whether it will only work for a particular company or accross the companies.Set the Access Level (Access level increases as you go down the list) Now after this, we’ll assign our Service object to the Service Group. Open the Service Group in the designer, right click it and then click on “New Service” In the newly created “ServiceGroupService” entry set your “Service” Then after rebuild, Sync database and deploy; open postman and add the following URL template. <base_url>/api/services/<ServiceGroup>/<Service>/<Method> Now, if I trigger the “Post” request, I’ll get a “Success” status along with the CustomerId.If I try to recreate the same customer, I’ll get a “Failed” status along with the CustomerId. If you are not sure whether your API exists or not, then you can simply call a “Get” request on the URL – <base_url>/api/services This returns a list of all the “Service Groups” present in the system. We can then call a “Get” request including this “Service Group” into our URL. This returns a list of all the “Services” present in the system for that “Service Group”. We can then call a “Get” request including this “Services” into our URL. This returns a list of all the “Operations” present in the system for that “Service Group”. We can then call a “Get” request including this “Operation” into our URL. This returns the Request and Response objects for this Service Operation. Conclusion Thus, we saw how to create APIs using Custom Services in Finance and Operations. In the next blog, we’ll see some advanced API functionalities that are present in 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