Central Bank Exchange Rates in Dynamics 365 Business Central

Configure the Business Central Currency Exchange Rate Service to import official central-bank rates from the AllRatesToday XML feed, with the field mapping for both quoting directions.

Which endpoint: every guide below reads the bank's latest published table from GET /api/v1/central-bank/{bank}/latest (free key, one call per fetch) or the keyless evaluation copy at /api/public/central-bank/{bank}?format=json. Add ?source=USD&target=EUR for one resolved pair, format=xml or format=csv for importers that do not read JSON, and api_key= on the URL when the importer cannot send headers. Bank codes are on the central bank coverage map.

How Business Central imports rates

Business Central has a built-in importer, the Currency Exchange Rate Service, that fetches a URL on a schedule and maps nodes of the response onto the Currency Exchange Rates table. It has been in the product since NAV 2015 and needs no extension. Its two limits matter here: it reads XML, and it cannot add request headers. Both are covered by format=xml and api_key= on the URL.

1. Build the feed URL

Pick the bank whose rate your jurisdiction requires and put your key on the query string:

https://allratestoday.com/api/v1/central-bank/ecb/latest?format=xml&api_key=art_live_your_key

The response is the bank's full latest table:

<?xml version="1.0" encoding="UTF-8"?>
<response>
  <bank>ecb</bank>
  <name>European Central Bank</name>
  <rate_date>2026-09-16</rate_date>
  <rates>
    <rate><base>EUR</base><quote>USD</quote><type>reference</type><value>1.1537</value></rate>
    <rate><base>EUR</base><quote>GBP</quote><type>reference</type><value>0.8574</value></rate>
    ...
  </rates>
</response>

2. Create the service

  1. Search for Currency Exchange Rate Services and choose New.
  2. Give it a code such as ECB-OFFICIAL, paste the URL from step 1 into Service URL, and choose Preview. Business Central fetches the feed and shows the XML tree.
  3. On the Field Mapping FastTab, set the Parent Node to the repeating rate element, then map the fields as in the table below.
  4. Enable the service. Set the Job Queue entry to run after the bank's publication time so each run picks up the new table (the ECB publishes around 16:00 CET; the schedule for every source is on its bank page).

3. Field mapping

Business Central stores each rate as Exchange Rate Amount in the foreign currency against Relational Exch. Rate Amount in your local currency. Which of our fields goes where depends on which side the bank quotes.

Business Central fieldBank quotes foreign per 1 home (ECB, BoE, RBA)Bank quotes home per 1 foreign (RBI, CBN, BSP)
Currency Codequotebase
Starting Daterate_date (document level)rate_date (document level)
Exchange Rate Amountvalue1
Relational Exch. Rate Amount1value

Use the left column when your local currency is the bank's home currency and the bank quotes outward, for example a Eurozone company on the ECB. Use the right column for banks that quote their own currency per unit of foreign currency. The direction is printed on every bank page under Latest published rates. Constants such as 1 go in the Default Value column of the mapping rather than a node.

4. Check the first run

Open Currencies, choose a currency, and open Exchange Rates. You should see one new line dated with the bank's rate_date. If the line is dated with the run date instead, the Starting Date mapping is pointing at the wrong node.

Month-end and tax-authority tables

Sources that publish monthly, such as HMRC or the Swiss National Bank monthly averages, use the same feed; schedule the job once a month after the publication date. The response's rate_date is the first day the table applies.

Notes

Other systems: Business Central · Xero · QuickBooks Online · SAP · Odoo · all integrations. Endpoint reference: Central Bank Rates.