[Extension] Exchange Rate Update — Custom Button to pull historical rates from Frankfurter

I put together a Custom Button extension for anyone who’s tired of manually looking up and typing in exchange rates. It fetches historical rates from Frankfurter (ECB reference rates) for whatever date you pick, shows you exactly what would change compared to what’s already in Manager, and writes the ones you approve — all from inside Manager, no spreadsheet round-tripping.

Repository: https://github.com/GaryElmes/manager.io-exchange-rate-update

Install URL: https://raw.githubusercontent.com/GaryElmes/manager.io-exchange-rate-update/refs/heads/main/exchange-rate-update.html

What it does

  • Pick a date — rates refresh automatically, no extra button to click.
  • Every active foreign currency in the business is listed with a checkbox (all selected by default) so you can leave out any you don’t want touched.
  • For each one it shows:
    • Old rate — the rate Manager would actually use as at that date (i.e. the latest one on file on or before it), with an As at column showing which date that’s actually from.
    • New rate — what Frankfurter returned for the date you picked.
    • If a rate is already recorded for that exact date and it’s genuinely different from the new one, the old value is shown struck through in red right next to the new one, so you can see at a glance what’s about to change.
  • A “Decimal places” field controls precision for both display and what gets written (defaults to 5).
  • “Update selected rates” writes only the ticked rows, updating an existing record in place if one’s already there for that date rather than creating a duplicate.
  • A collapsible load log at the bottom reports what was read and names anything that failed, rather than failing silently.

Requirements

  • Manager Desktop 26.x (built and tested against 26.7.10.3654).
  • Internet access from the machine running Manager, to reach Frankfurter’s API.
  • An access token (Settings → Access Tokens) if you want it to actually write rates — without one it still works fully for reviewing/comparing, the update button just stays disabled.

Installing it

  1. Settings → Custom Buttons → New Custom Button.
  2. Source = Inline, paste in the file’s contents.
  3. Placement = a bare keyword like exchange-rates (no leading slash) to have it appear right on the Exchange Rates screen.
  4. Paste your access token into the accessToken field near the top of the script if you want write support.

It’s a single self-contained HTML file — no build step, no external dependencies beyond Frankfurter and a browser.

A couple of things worth knowing going in: Frankfurter only covers major ECB reference currencies, so anything else will show as unsupported; and if your chosen date falls on a weekend or holiday, Frankfurter falls back to the latest prior business day’s rate (noted in the log when it happens).

Happy to hear feedback or bug reports if anyone gives it a try.

I did see that, in theory, there is already a web service to refresh exchange rates, at https://forex.manager.io/. Currently, though, it seems to offer slightly less functionality than one might have hoped for.