Wednesday 6 March 2019

Multi-Currency functionality

Requirement

User has established business in multiple countries, so his need is to deal with multi-currency in single product, and representation or calculation can be done in one base currency.

Is it possible in MSCRM without extra code?

Solution

Yes, MSCRM supports multi-currency functionality. Above requirement can be easily fulfilled in this one product.

           When we setup MSCRM instance, we have to specify one base currency, all calculations happen in that one currency, Let’s see how Multi Currency Functionality works in system with below points

  • Currency Configuration
  • Currency field’s behavior
  • Representation 
Currency Configuration

Create new Currencies in system

Go to Setting --> Business Management --> Currencies 


Click on New button to create new currency
This screen will show you your base currency in my case it is INR


Click on System radio button for Currency Type, it will allow to select currency from Currency Code Lookup, after currency selection along with Currency Code, Name, Symbol and Precision will be auto populated, so just provide conversion rate from base currency to new currency and save record.
(All further conversions will be happen with this conversion rate)


Currency field’s behavior 

In MSCRM to workout with Multi Currency functionality system creates some internal fields
For each currency type of field system auto creates new field with same name followed by “_base”. The use of this base field is, when user enter value in main field system calculate that value in base currency with help of conversion rate and store that value in this base field. 


Let’s see with example, Create new Opportunity
Select other than base currency value in currency lookup field then provide values in currency type of fields


After creation of records let’s check values in all fields with advance field


Here we can see values in system fields. Let's check logic behind that:

Exchange Rate: exchange rate mentioned in currency entity for currency selected in current record 
for eg. “US Dollar”

Base fields calculation: main field value /exchange rate 
For e.g. In Est. Revenue (Base) : Est. Revenue/Exchange Rate (10000/0.014=714285.71)
System behaviour giving us currency values in one base currency, so no need extra efforts for currency calculations

Representation 

We can use this base fields in representation or calculation, Here I am using these fields in Reports 
Go to Sales --> Reports -->  New 


Use “Report Wizard Type” and configure report by following all steps in Report Wizard


I am using Summery type “Sum” for base values as below


My Report is ready 


After execution it will look like below

So here I am able to get all values in one base currency to represent my client, without extra code.


Happy Learning 😊