Exchange rate is something that need to be prepared periodically, especially if we have lots of transaction in foreign currency. This is not difficult to do, but since it is something that need to be done daily or weekly, it easily becomes a burden.
Fortunately, Microsoft Dynamics 365 Business Central has currency exchange rate services which can help us automatically update the exchange rates, based on a certain source of information. But how can it be done?
This blog post is based on my experience in setting up currency exchange rate to work with Bank Indonesia Web Service — Indonesia's Central Bank, which is commonly used as a reference for currency exchange rates for companies in Indonesia.
Make sure the Currency Code is the same code used in the currency exchange rate web service. Open Currencies and confirm the correct Exchange Rate Code — for example, "USD".
Create a new exchange rate service entry with the configuration below.
Set the Job Queue to run automatically at the correct time so exchange rates are always up-to-date.
Create a new exchange rate service and fill in the following fields:
Fill in the Field Mapping based on the last node of the XML response from the web service.
Transformation Rule for Date: You also need to add a transformation rule for the Date field. Create a new rule with code DDMMYYYY to correctly parse the date format returned by Bank Indonesia's web service.
Use the Preview function to test the service before enabling it. If no error message appears and the exchange rate data is displayed correctly, everything is configured properly.
✅ No error message and data shows correctly — this means the service URL, field mapping, and transformation rules are all set up correctly.
You can also invoke the service manually at any time by going to:
After invoking manually, you should see the exchange rate was updated with the latest value from Bank Indonesia.
Note: The above example is only for USD. You need to activate the other currencies using the same method — create a new service entry for each currency code you need (e.g., EUR, SGD, etc.).
Hope this will help. Thank you for reading this blog.
HB.