Category Archives: Blog
Foreign Currency Revaluation in Dynamics 365 Finance
In any organization with business spanning across multiple countries, multi-currency transactions play a vital role in day-to-day business. Any accounting software should be able to facilitate currency conversions not only at the time of booking the transaction but also calculating the forex gain/loss incurred during the end of any period or after settlements are made against open transactions. Dynamics 365 Finance & Operations offers an effectively simple functionality to facilitate such important transactions. Called as Foreign Currency Revaluation, it provides the following features: 1. Calculate the unrealized foreign currency gain/loss against all open transactions for any vendor/customer. 2. Account the unrealized gain/loss into the respective GL accounts. 3. Knocking off the unrealized gain/loss accounts by transferring the balance to the realized gain/loss accounts at the time of settlements. This functionality is beneficial to any accounting manager who wishes to know any gain/loss that might incur before making actual payments and make important business decisions accordingly. Dynamics 365 Finance not only has a very short and simple setup to set up Foreign Currency Revaluations, but also a very easy way to run the process. Setup Starting with the setup, the below settings need to be configured first: 1. Setup currency exchange rates Path: General Ledger -> Currencies -> Currency Exchange Rates As per the above screenshot, the user can have multiple currency conversion rates setup for any date range. 2. Configure main accounts for Unrealized Gain/Loss and Realized Gain/Loss As per different business requirements, the foreign exchange gain/losses can be accounted in a single GL account or multiple GL accounts. Based on that, the necessary accounts should be configured. They can come under Expenses or Revenue. 3. Link the main accounts to the Ledger For the system to account the gain/loss amount into the respective GL accounts, it is necessary to link them in the Ledger first. Path: General Ledger -> Ledger Setup -> Ledger 4. Enable multi-currency option in bank master Path – Cash & Bank management -> Bank account -> Enable the option “Allow transactions in additional currencies” This will enable the bank settlements to be done in any currency. 5. Lastly, Foreign Currency revaluation exists for each module (AP, AR, GL) and it is accessed directly without any setup. The setup is complete with the above steps. Now comes the process flow. As an example, the transactions will be run for the months of June and July where each month has a currency rate of 1 USD = 70 INR and 1 USD = 75 INR respectively. Based on these currency rates, the system will calculate a profit for customer payments and a loss for vendor payments respectively. Let’s start with the profit scenario first 1. Create a back dated FTI journal in the month of June. Select the amount as 1000 dollars. The accounting impact for the journal in USD and INR will be as below: FTI (USD) Dr Cr Customer 1000 Revenue 1000 FTI (INR) Dr Cr Customer 70,000 Revenue 70,000 2. Navigate to Accounts receivable -> Periodic Tasks -> Foreign Currency Revaluation Click on Foreign Currency Revaluation at the top. Clicking that will open the parameters window. Here, user can run the FCR for a specific vendor/customer. The considered date and Date of rate should be selected as the date when the new currency rate will take effect. In this case, it will be 1st of July, where the currency rate will become 1 USD = 75 INR. Click on OK. Once it is run, it will create an entry in the same screen as shown below: By default, the latest entries are at the bottom. Select the entry and click on voucher to see the effect. The voucher effect is as shown below: As per the above accounting impact, the system calculated that from 1st July, there will be a net gain for any customer payments against invoices made in June. Hence, the system will select the Unrealized Gain account and post the currency difference amount in it as an income. The customer’s outstanding balance also increases by the same amount. The simplified accounting effect is as below: FCR (INR) Dr Cr Unrealized Gain 5000 Customer 5000 Now if a payment is created in the month of July against the invoice booked in June, the system will post the payment journal as per the current exchange rate (i.e., 75 INR) and transfer the Unrealized amount to the Realized amount. This effect is as shown below: The simplified impact is as shown below: Payment (INR) Dr Cr Customer 75000 Bank 75000 Final Voucher Dr Cr Unrealized Gain 5000 Realized Gain 5000 The customer account is settled and a revenue of the currency difference amount is recorded as a Realized Gain. The brief summary of these transactions can be found in the Customer transactions (Customer Master -> Customer -> Select Transactions from the top panel) The above was an example where there is a net gain from customer payment. Exactly equivalent accounting impacts will take place for other scenarios like vendor gain, vendor loss and customer loss as well. The below table shows the exactly the type of impact incurred for vendor/customer transactions for increasing or decreasing currency rate: Vendor Customer If Currency –> Increases If Currency –> Increases Then Vendor Account –> Increases (Cr) Then Customer Account –> Increases (Dr) Net result –> Loss (Dr) Net Result –> Gain (Cr) If Currency –> Decreases If Currency –> Decreases Then Vendor Account –> Decreases (Dr) Then Customer Account –> Decreases (Cr) Net result –> Gain (Cr) Net Result –> Loss (Dr) Now, what if the user makes the payment without running FCR? In that case, the system will directly impact the Realized Gain/Loss account for the currency variation amount against the vendor/customer. No Unrealized GL will be accounted. In conclusion, the process of running FCR is useful to determine the best time span for making payments in order to benefit from currency exchange rates.
Share Story :
How to create entity specific Purchase requisition in multi entity environment in D365 Finance and Operations
Introduction In multi entity environment having separate legal entities for head quarter & regional entities, having separate sets of employees for each legal entity. & only head quarter employees taking decisions for which & how much inventory to be maintained at regional level & same employee having purchasing authority for all regional entities. In this case to keep track, post & report of what & how much purchase made for respective regional entity, need to create Purchase requisition for respective buying legal entity. i.e. USMF is headquarter entity & PM is regional entity. Problem Statement While creating Purchase requisition from headquarter employee’s login, it is created with buying legal entity as headquarter entity. i.e. Julia is employee of Headquarter USMF entity who will be going to issue Purchase requisition for regional entity PM. When Julia login in PM entity & create Purchase requisition then entity will automatically change to USMF. Solution Steps Follow below steps, in order to create Purchase requisition with buying legal entity as respective regional entity & to maintain all details on respective entity. 1. Select employee of headquarter which is going to issue Purchase requisition. i.e. select Julia in USMF entity – Go to Human resource -> Workers -> Employees -> 2. Select required employee. i.e. Julia – 3. Go to Work History 4. Click on Add employment to add respective entity to history. i.e. Add PM entity in Julia’s history 5. Add details of Legal entity i.e. Entity PM, Employment start date & click on Create employment. 6. History is added of PM entity Create Purchase Requisition Go to Procurement & sourcing -> Purchase requisitions -> All purchase requisitions & create new Purchase requisition from PM entity then Purchase requisition will be created for PM entity & window will not switch back to USMF. Now all Items added in this Purchase requisition will be ordered & maintained for PM entity.
Share Story :
Highlight Duplicate Records in Canvas PowerApps in Gallery Control
Hi All, Let’s see how to highlight duplicate records in Gallery control what works on data source or collection. In this example: I’ll be using a collection that I will highlight in 2 ways Use-case: I want to highlight duplicate ‘Project Allocation’ entries submitted. If someone has submitted a entry that has on Same Project twice needs to be highlighted. Step 1: I created a collection to replicate the scenario Step 2: Add the formula in ‘Template Fill‘ property in Gallery Control. Note: I have used random color style in my gallery, so output will be as follows For highlight only selected items in the gallery, the code will be as follows Therefore, output will be as follows Hope this helps
Share Story :
Transfer Order/ Stock transfer Tax Information not showing for many users in Dynamics 365 Supply Chain Management
In this blog, we are going to address the issue that can be seen in the recent update in Microsoft Dynamics 365 Finance & Supply Chain Management. To solve this issue please follow below steps. Currently If we see before the setup there is no tax information showing in Stock Transfer Transaction. Only the Administrator can see this Tax information. To overcome this issue, in Dynamics 365 F&SCM new update we have to enable “Private” field in the warehouse address tab. For this, Go to Inventory Management Setup->Inventory Breakdown->Warehouses. Go to Address. Click on Advanced. Right click In Address section and Click Add field. Add a field as “Private”. Once it is on the address section just disable the private field. By this every user will be able to see the Tax information on the Stock Transfer. After this, the user will be able to see the Tax Information on the Stock Transfer. That’s it for this blog. Thank you!!!
Share Story :
Purchase Order request from Dynamics 365 Commerce POS
Introduction A purchase requisition is an internal document that authorizes the Purchasing department to buy items or services. Until now if you wanted to create a Purchase order requisition, D365 Finance and Operations HQ was only an option but in the release wave 2 plan “Microsoft has brought a new feature of creating Purchase order requests from POS.” Business Value The addition of this feature will eliminate the use of multiple tools and make POS the single app for store employees to handle the end-to-end purchase order business processes. Feature Details Create purchase order requests in POS. View purchase orders requests in POS. Edit purchase orders requests in POS. Confirm Purchase order requests in POS. Steps to create a purchase request from POS Step 1 Enable the feature from feature management page as shown in below images : Step 2 Go to Retail and commerce >Retail and Commerce IT > Distribution Schedule and Run 1070 , 1110 , 1090 job. Step 3 Login to POS (MPOS or CPOS) Step 4 Go to Operation “Inbound Inventory” as shown in screenshots : Step 5 Click on ” +” create new symbol . Step 6 Select Vendors from which you are willing to purchase the products. Step 7 Fill out the necessary details like the Date of delivery, Accounting date, and add a note if required and confirm the order. Step 8 Add the product manually or by scanning the barcode of the product. Step 9 Add Quantity Step 10 Submit request to HQ. Step 11 You can see the Status as Created Step 12 Purchase Order Created and sent for approval at HQ. This completes the process of creating PO requisition from POS itself.
Share Story :
Use of Standard Journal in Dynamics 365 Business Central
Introduction In this blog, I will demonstrate using Standard Journal functionality in Dynamics 365 Business Central. Standard Journal Standard Journals provide users with the benefit of saving transaction details and utilizing them at a later stage. Consider monthly expense payments, users will manually enter the details for the current month’s initial payment and save the journal line entries for future usage. Steps to save Standard Journal Enter the ‘Code’ and ‘Description’ to uniquely identify the journal. Users can even enable the ‘Save Amount’ toggle button to save the amounts on the journal. Steps to Reuse Standard Journal Please note: The changes made on journal lines will not reflect on the saved template. Conclusion This feature of Dynamics 365 Business Central is very useful for users who are working with Journals that are recurring in nature. Hope this helps!
Share Story :
Copy data between different companies using Configuration Worksheet
Introduction In this blog, I will demonstrate how to copy data between different companies using configuration worksheet. Previously we could only use Configuration packages or copy the company to copy data between companies. By using the Configuration worksheet users can copy data from specific tables in companies to their respective table in the current company. Pre-requisite Microsoft Dynamics 365 Business Central (On-premise/SaaS) Steps Globally search for “Configuration Worksheet” and click on the related link. Configuration Worksheet page opens up. Fill in the table you want to copy. Then click the ‘Copy Data from Company’ button on the action bar as shown in the below screenshot. Also, to use this function the ‘copy data from’ company table must have records and the ‘copy data to’ company table must have no records. A Pop- up page appears allowing the user to select the company from which data will be copied. The no. of records will be shown of the selected table. If the table selected has no records then the line won’t appear. If there are no issues, click on ‘Copy data’ action and a confirmation message will pop up before proceeding. A confirmation message pops up mentioning the data has been copied successfully. Other Actions Get Tables: Click on ‘Prepare’ on the action bar, there you will find the ‘Get Tables’ button. This lets the user add tables by using filters as shown in the below screenshot. Get related tables: User can find another button by clicking ‘Prepare’ and in that ‘Get related Tables’. This function adds all Vendor-related tables and fields anchored on other tables. Please note: Table relation with filtered view and conditional table relations are not considered here. Delete Duplicate lines: Users will find this button under the ‘Prepare’ action. This function deletes duplicated lines as shown in the below screenshot. The vendor line was repeated, by using this function it deleted duplicate lines. Conclusion: In this blog, we learned about copying data from multiple companies into the current company by using a configuration worksheet. Hope this helps!
Share Story :
Gain Business Insights faster by generating Power BI Reports quickly with just 1 click in Dataverse
Hi All, I’m going to show a useful feature that you can leverage to view and create instant Power BI visuals that is generated automatically based on the current view. Documentation Link Just an example: How it looks Steps to achieve this: Step 1: You need to enable this feature in Model-Driven App itself Edit Model-Driven App -> Settings -> Features -> ‘Enable Power BI quick report visualization on a table‘. Save and publish the settings Note: You also need ‘TDS endpoint‘ enabled in the environment feature settings Step 2: Refresh your browser and navigate to any table records view ( I took cases in the example) Step 3: Click the ‘Visualize this view‘ button on the command bar Note: You need to add the necessary columns in the current view if you want to show those columns in Power BI Reports Step 4: You can now see the Report generated automatically within a few mins. You can save these Reports if all necessary information is displayed here. Hope this helped you get faster Business Insights with auto-generated Power BI visuals.
Share Story :
How to use Dataverse Global In-App Notification for Real-Time Notification in Model-Driven PowerApps
Hi All, Have you ever wondered how to use Dataverse In-App notification that can be helpful in many scenarios, I’ll give an overview of the usage with a use-case. Documentation Link Business Insights in Real-Time – Documentation This is the In-App Notification Let’s see how to create such an In-App notification Step 1: In order to use this In-App notification, we need to enable it. -> Go to Editor of Model-Drivel App -> Click on Settings -> Click on ‘Features’ -> Enable ‘In-App Notification’ Note: This In-App notification creates records in Dataverse, therefore the storage will be consumed. There’s also a time-based auto-deletion that can be configured by Admin. Step 2: Save & Publish your Model-Driven App. You will see a Bell Icon on the top-right of the App. Step 3: Now, we will create the notification. There are 3 ways to create the notification, Using JavaScript -> will be using in this example Using C# Plugins (Dataverse SDK) Using HTTP Request (Web API) Step 4: As example, I will be sending a Notification to me but you can configure it to send to anyone in the organization. Note: You must have the necessary permissions to do so, Admin can configure these privileges by customizing Security Roles for the ‘app notification‘ table Refer what type of format you want to display from the documentation link provided above Step 5: I’ve created a Web-Resource that triggers when I manually close the case, So when I close a case, here’s the output. Note: You can automate these and send to anyone.Some examples are:1. Automatic send Notification of new case created to assigned person.2. Automatic notification to the Team whenever a critical ticket is raised.3. Apart from these, you can have notification whenever a Business critical flow has been failed. Some of the best ways to use is with having rich user experience with Icons and formatting options that are available to use.Icons, font styling and mentioning anyone That’s how we can achieve In-App notifications. Hope this helped you!
Share Story :
Trigger Power Automate Flow using JavaScript – Bi-Directional
Hi All, This blog will be a continuation of my previous blog – Trigger Power Automate Flow using JavaScript – Uni Directional Now, feedback is essential when sending a request to determine whether it was successfully performed or failed somewhere. You can accomplish this by forwarding a response back from where the flow was invoked. I’ll use the same situation as in my previous blog, where I send a notification by greeting a person’s name if exists, or else I will greet a friend. Check out my previous blog to learn how to build your Flow and JavaScript. Steps to pass the response back within Flow Step 1: Add a response that will be sent back from where the Flow was invoked. Quick Tip: I am checking if ‘Name’ is present in my dynamic content. If yes, then greet the person else greet a Friend Formula: if(contains(triggerBody()?[‘DynamicData’], ‘Name’), triggerBody()?[‘DynamicData’][‘Name’], ‘Friend’) Steps to add into the JavaScript Step 1: Initially we created JS to trigger the flow, now we will add the code snippet to accept the response from Flow. Add the following Code: Step 2: Trigger the JS and watch the output I get as Alert (I have used the console page to trigger my JS for example purposes) Hope this helps in achieving a response from the Power Automate Flow!