Skip to content
Sad Subscription Analytics
Menu

Multi-currency and exchange rates

If every charge comes in one currency, SSA just uses it. If you take payments in more than one, SSA detects that automatically and converts everything to a single display currency for reporting.

One display currency

After your first sync, SSA counts your payments by currency (or your subscriptions, if you have no payments yet) and treats the most common one as your Primary currency. Every dashboard figure, report and total is shown in this one currency. It falls back to USD if nothing has been detected yet.

The General settings tab.
Primary currency is read-only: SSA sets it from your data, on Settings, General.

The exchange-rate API key

The Exchange rate API key field appears on Settings, General only once SSA has seen more than one currency. Get a free key from freecurrencyapi.com (its free tier is enough for daily syncs) and paste it in.

The key is encrypted before it is stored and shown back to you only as a masked row afterward. Leaving the field blank on a later save keeps whatever key you already have.

How conversion works

Rates are fetched at most once every 24 hours per currency and cached. Every amount not already in your primary currency is divided by its cached rate to convert it. If SSA has no positive rate for a currency (no key saved yet, or that currency has not been fetched), amounts in it are left out of totals rather than guessed at, and a note names which currencies were excluded.

Zero-decimal currencies

Most currencies are stored and shown with 2 decimal places. A short list of currencies that do not use decimal subunits are stored and shown in whole units instead:

  • JPY
  • KRW
  • VND
  • BIF
  • CLP
  • DJF
  • GNF
  • KMF
  • MGA
  • PYG
  • RWF
  • UGX
  • VUV
  • XAF
  • XOF
  • XPF

A handful of currencies (USD, GBP, EUR, CAD, AUD, JPY, INR, CHF) show their usual symbol; any other currency code is shown as the code itself.

Per-currency totals on reports

On a report, each currency you have taken payments in is totaled on its own first, and those totals are then converted into your primary currency for the combined figure at the top. Older monthly MRR snapshots convert using today's cached rates, not the rate that applied at the time.

Per-currency totals on a report.
More than one currency? Each is totaled, then converted to one figure.