Skip to content

Central bank exchange rates

The service that fills Exchange Rates with the National Bank's official rates — from the open bank.gov.ua API, no manual retyping. It runs for a day or a period, for one currency or all at once.

Where to find it: Modules → Nominal Ledger → Maintenances → Central bank exchange rates

Walkthrough

The service window

Field What it does
From / To The period: a rate is pulled for every date in the range; for a single day fill only "From"; both empty — today's rate
The source rate is indicated to How many currency units the source quotes the rate for: 1 — ordinary currencies; 10/100 — yen, forint etc. The stored pair is scaled accordingly
Currency One code — pull only it; empty — every currency in the register except the base one

"Execute" — a one-off run; "Scheduled" — automatic filling at the frequency set in the schedule (usually daily), so the rates appear with no human involved. The schedule does not repeat the "From" / "To" dates: each run takes the rate for its own day; the currency and "The source rate is indicated to" are kept.

The service works only in a company whose base currency is the hryvnia: the NBU gives rates in hryvnias, so with another base currency the service writes no rate and refuses with "NBU publishes rates in hryvnias, and the base currency is …: the rates would be wrong, so none were loaded".

What a run does

For every date and currency the service queries the NBU API and creates an Exchange Rates entry as the pair "N : official rate × N" (N being "the source rate is indicated to"). Combined with the "NBU Exchange Rate" flag on the currency, this yields a fully official rate contour: manual edits diverging from the NBU are blocked.

Common situations

A rate for a weekend or holiday. The NBU returns a rate for these dates too — the one in force since the last business day — and the service saves it as a separate record for every date of the period, Saturday and Sunday included. If there is still no rate for a document's date, the document takes the latest preceding rate.

A duplicated run. Safe: the "currency + date" pair is unique, a repeated run creates no duplicates. A currency that already has a rate for the date is skipped and the rest are loaded — both for a period and for a single date. Only a single-date run with a chosen currency that already has a rate is refused: "The exchange rate of USD for 17.10.2026 already exists: 41.2519!".

Need a non-NBU rate. This service works with the official source only; enter another bank's rate by hand in Exchange Rates (and do not set the "NBU Exchange Rate" flag on that currency). A run without a currency selected takes every non-base currency in the register, the "NBU Exchange Rate" flag plays no part here — so on a schedule the service will write the NBU rate for this currency too on every date where your rate is not there yet. Then load the other currencies with runs that have a currency selected — one-off and scheduled alike — instead of a run for all.