Home Documentation Central Bank Rates Tax Authority Rates Playground Pricing API Status Blog About FAQ Contact Us

Swiss National Bank Reference Rate API for Accounting, Invoicing & Compliance

Reviewed by Madhushan, Fintech Developer — August 2026

If your business invoices, imports, or reports in a currency other than the CHF, sooner or later someone will ask which rate you used — and “the one on the internet that day” is not an answer that survives an audit. For that, you want the official number: Swiss National Bank’s published monthly average exchange rates.

What are the Swiss National Bank monthly average exchange rates?

The Swiss National Bank publishes official franc exchange rates through its data portal. The SNB publishes monthly averages (no daily official series exists), with history reaching back to 1914 — one of the longest official exchange rate records anywhere.

It is published once a month, after the month has closed, currently covering 26 currencies, and the published record runs back to 1914. Crucially it is a published figure, not a live market price — it does not move after it is set, which is exactly the property an accountant or an auditor needs.

Why finance teams need the official rate

Book closing and month end

Foreign-currency balances have to be translated at a defensible rate on a specific date. Using a live market rate means the number changes depending on what minute you pulled it, and two people closing the same month can produce two different sets of books. The central bank’s published rate for that date is fixed and reproducible forever.

FX gain and loss

Revaluing receivables and payables needs the rate at invoice date and the rate at settlement date. Both have to come from the same series, or the gain and loss you report is partly an artefact of switching data sources mid-stream.

Audits and compliance

An auditor does not want a screenshot. They want a rate that traces back to a named publisher and a publication date they can independently check against Swiss National Bank’s own release. That is the entire reason official rates exist.

Management reporting

Group reporting across entities only consolidates cleanly when every entity converts at the same published rate for the same date. Left to their own devices, subsidiaries will each pick a different source.

The problem with collecting the rate by hand

Swiss National Bank publishes the data — but publishing and being easy to consume are different things. In practice teams end up copying figures off the bank’s rates page into a spreadsheet every period, which creates four familiar problems:

The Swiss National Bank rates as an API

AllRatesToday ingests Swiss National Bank’s published table shortly after each release and serves it back in a consistent shape, alongside 37 other central banks and national tax authorities on identical endpoints.

Sample response

A real response for EUR to CHF, from Swiss National Bank’s publication of 2026-07-31:

{
  "bank": "snb",
  "rate_date": "2026-07-31",
  "source": "EUR",
  "target": "CHF",
  "rate": 0.92538,
  "rate_type": "monthly_average",
  "derived": false
}

The rate_date is the central bank’s own publication date — the date you cite in the ledger — and derived tells you whether Swiss National Bank printed this pair itself.

Who this is for

What it actually saves

Getting started

  1. Create a free account — 300 requests a month, no card.
  2. Call /api/v1/central-bank/snb/latest, or download the table as Excel from the Swiss National Bank coverage page.
  3. Wire it into your close, your invoicing, or a scheduled spreadsheet refresh.

Developers who want the endpoints, SDK and code samples should read the Swiss National Bank API guide instead — this page is the business case; that one is the integration.

FAQ

Where do Swiss National Bank exchange rates come from in this API?

Directly from Swiss National Bank's own published monthly average exchange rates. Rates are stored unmodified with the central bank's publication date attached, so the figure in your ledger is the figure Swiss National Bank printed, going back to 1914.

Can I get the Swiss National Bank rate for a past date, like an invoice or shipment date?

Yes. Ask for any past date and you get the rate in force then, back to 1914. If the central bank did not publish that day — a weekend or a public holiday — the API returns the most recent published table and flags that it did, so your audit trail stays honest instead of silently guessing.

Do I need a developer to use this?

Not necessarily. Every coverage page offers the latest published table as an Excel or CSV download, and finance teams commonly pull the API straight into Excel, Power BI or their ERP on a schedule. A developer helps if you want it wired into invoicing or your accounting system automatically.

Final thought

Official rates are not a nicer version of market rates — they answer a different question. Market data tells you what a currency is worth right now. Swiss National Bank’s published table tells you what rate your books, your customs entries and your auditor are entitled to expect for a given date. Getting that second number automatically, with its publication date attached, removes an entire category of month-end argument.

Official Swiss National Bank rates, automated

Free tier: 300 requests a month, no credit card.

Get your free API key

Related Articles