Wednesday, October 08, 2014

Microsoft CRM 2013: Currency exchange rates actualization

In this article I will share with small add-on I developed for one of my customers.
Let’s assume that you are employee of company that uses CRM with several currencies. Of course you want to have actual information in your system and currency exchange rates should be current. Microsoft CRM allows to have in system one base currency and many other currencies. Every currency has exchange rate field that is used for calculation of base fields of your currency fields but there is no out-of-box possibility to actualize exchange rates.
I have added to my CRM system several currencies:

Using my add-on you can keep your currency exchange rates up-to-date:

Usage of addon is simple:
1. Download solution:

2. Import it to CRM (in case you will download and import unmanaged solution you will have to publish solution and activate workflow).
3. Open Settings – Sync Schedules (this is custom entity that is the part of solution) and create new Sync Schedule record, fill Next Execution DateTime field (for example midnight of your current day):

4. Run Sync Currency Exchange Rates workflow against your Sync Schedule record that you’ve created on previous step:


Wait till workflow would be executed and go to currencies to check that currency exchange rates were updated:

Here is screenshot of workflow I’ve designed:
Logic of workflow is really simple:
  1. Wait till the next execution date.
  2. Update Currency exchange rates.
  3. Update next execution date as current plus 1 day and this will invoke recurrent execution of workflow.

PS I used http://www.webservicex.net/CurrencyConvertor.asmx webservice for getting of actual exchange rates.