Skip to main content

Currency Rate Update

Travel Business Connector converts foreign-currency booking amounts (hotel, car rental, ground transport) to LCY when sales orders are created. The exchange rates come from TBC's own automatic rate update — not from Business Central's built-in Exchange Rate Service.

Why TBC Has Its Own Rate Update​

Business Central ships with a standard Exchange Rate Service (Curr. Exch. Rate Update Setup) based on per-service XML data-exchange mappings. TBC replaces it because:

  • Two sources, full coverage: TBC fetches from Frankfurter (ECB, ~30 currencies) with open.er-api.com as automatic fallback (160+ currencies, e.g. AED). The standard service is one source per setup, and the common ECB feed is EUR-based — unusable as-is for SEK/NOK companies. TBC's sources quote directly against the company's LCY, whatever it is.
  • Safety stop integration: currencies missing from all sources are flagged Rate Update Failed on the Currency record, and AIR order processing in that currency is blocked until resolved (see below). The standard service silently leaves stale rates.
  • No per-company XML mapping setup — the update works out of the box in every company.

Because of this, the standard Update Exchange Rates and Exchange Rate Services actions are hidden on the Currencies page — only TBC's own Update Exchange Rates action is visible. (The standard setup pages are still reachable via Tell Me search; do not configure them.)

Nightly Job Queue Entry (Auto-Created)​

The app creates the recurring Job Queue Entry automatically — per company, on app install and on upgrade (upgrade tag TBC-CurrencyUpdateJobQueue-20260821):

SettingValue
Object to RunCodeunit 51703 "Auto Update Currency Rate"
DescriptionUpdate currency exchange rates (Travel Business Connector)
RecurrenceEvery day, 05:00 (service tier time zone)
Max. Attempts / Rerun Delay3 / 600 s

You do not create this entry manually — but you must verify it (it is on the checklist):

  1. Open Job Queue Entries and find the entry for codeunit 51703.
  2. Check Status = Ready. Task scheduling is not always available during install/upgrade — if the entry was left On Hold, set it to Ready manually (Home → Set Status to Ready).
  3. In a company created after the app was installed, the entry appears on the next app upgrade — create it manually (same settings as above) if rates are needed before then.

A recurring entry that fails (rate service unreachable) goes to Status = Error and stops — include it in whatever job queue monitoring the customer uses, and restart it after outages.

Rate Update Failed and Accept Manual Rate​

Two TBC fields on the Currency record control the safety stop:

  • Rate Update Failed — set automatically by the update when a currency is missing from both rate sources (or the fallback source is unreachable). While set, AIR order processing in that currency fails with a clear error instead of silently using a stale rate. Cleared automatically as soon as an update finds the currency again.
  • Accept Manual Rate — declares that a manually entered rate is accepted. The update still refreshes the rate whenever a source covers the currency (so if coverage improves, automation takes over), but a missing currency is not flagged and processing is not blocked. Enabling it clears an existing Rate Update Failed flag.

Handling a flagged currency: enter the exchange rate manually (Currencies → Exch. Rates), then enable Accept Manual Rate. Review manually maintained rates periodically — nothing warns when they age.