Skip to main content

Overview

Many countries require that invoices issued in foreign currencies include an exchange rate to the national currency, and they even specify which source to use for the exchange rate. For example, when a Spanish company issues an invoice in Dollars, it must use the rate of the European Central Bank to convert the values to Euros, before reporting it to the Spanish tax authority. This workflow step will help you use the correct exchange rate.

How to Use

  1. Start by creating an invoice and include the exchange_rates field, specifying the currencies you want to convert from and to, and any amount (it will be updated by the step).
  2. Add the Update Exchange Rates step to your workflow-no extra setup required.
  3. Trigger the workflow as you normally would.
  4. The step will automatically update the exchange rates when the workflow runs.

Example

Imagine you created an invoice in USD and you need to convert it to EUR for reporting purposes. At first, the invoice might not have any exchange rates amount field or just a placeholder, like this:
{
    "$schema": "https://gobl.org/draft-0/bill/invoice",
    "$regime": "ES",
    "uuid": "019006f8-67cc-7000-99ce-40969ed20a9e",
    "type": "standard",
    "code": "",
    "issue_date": "2022-04-29",
    "currency": "USD",
    "exchange_rates": [
        {
            "from": "USD",
            "to": "EUR",
            "amount": "0.9"
        }
    ],
    ...
}
Once the Update Exchange Rates step is run, the invoice will be updated with the actual exchange rate:
{
    "$schema": "https://gobl.org/draft-0/bill/invoice",
    "$regime": "ES",
    "uuid": "019006f8-67cc-7000-99ce-40969ed20a9e",
    "type": "standard",
    "code": "",
    "issue_date": "2022-04-29",
    "currency": "USD",
    "exchange_rates": [
        {
            "from": "USD",
            "to": "EUR",
            "at": "2022-04-29T00:00:00",
            "amount": "0.94877"
        }
    ],
    ...
}

FAQ

No, if the exchange_rates field is empty or missing from the invoice, this step will simply be skipped without throwing an error. The process will continue as usual.
If any of the currencies in the exchange rates field isnโ€™t supported by the European Central Bank (ECB), the system will skip updating the exchange rate for that currency. No error will be thrown, and the process will continue.List of supported currencies by ECB:
  • AUD
  • BGN
  • BRL
  • CAD
  • CHF
  • CNY
  • CZK
  • DKK
  • EUR
  • GBP
  • HKD
  • HUF
  • IDR
  • ILS
  • INR
  • ISK
  • JPY
  • KRW
  • MXN
  • MYR
  • NOK
  • NZD
  • PHP
  • PLN
  • RON
  • SEK
  • SGD
  • THB
  • TRY
  • USD
  • ZAR
The European Central Bank states that the reference rates are usually updated at around 16:00 CET every working day, except on closing days marked with an asterisk on their ECB Public Holidays list.When an invoice is issued on a certain day before the update has been published, the system detects this and will automatically use the most recent available official rate (usually from the day before). This ensures we rely on officially released rates rather than estimating or anticipating unpublished ones.

Support

Weโ€™re always working to improve our features! If you require support for more banks for specific currencies or need any help, feel free to contact us at (support).

Additional Resources