RekomiRekomiBlogPricing
Rekomi Docs
Rekomi Docs
Welcome to Rekomi
Quickstart for brandsPlans and trialsIntegrationsStripe Connect (sales tracking)Organization settingsTeam managementNotifications

Campaigns and commissions

CampaignsCommission modelsPay per click or lead (CPC & CPL)Coupon-code attributionSub-affiliate recruitingTracking and attribution

Affiliates

Recruit affiliatesManage affiliatesAI co-pilotApply to the curated network

Money flow

SalesPayoutsMulti-currencyTax formsReports

Email

Sending domainBroadcasts
For brands
|Brands|

Multi-currency

HomeCurrency, FX normalization, per-currency payouts, and how the IRS 1099-NEC handles non-USD earnings.

If your affiliates sell in more than one currency (or you sell in EUR but report in USD), Rekomi handles the conversion math for you. Conversions are always stored in the currency they came in as. Your dashboards normalize everything to a single home currency so a "$120,400 this quarter" KPI tile means the same thing whether your sales came in USD, EUR, or JPY.

What is HomeCurrency

HomeCurrency is your organization's reporting currency. It defaults to USD for every new account. It affects:

  • The total on dashboard KPI tiles (summary cards, leaderboards, time series charts).
  • The "home" column in tables that also show the native amount (e.g. a $99 USD row and a 89 EUR row both appear with a converted home-currency value next to them).
  • Reports + CSV exports: a summary row in your home currency, plus per-row native amounts so nothing is lost in translation.

What it does not affect:

  • The currency of any existing conversion. A 89 EUR sale stays a 89 EUR sale on disk.
  • The currency of any existing payout. Payouts are batched per-currency (see below) and keep the currency they were created in.

Changing HomeCurrency is a display recomputation, not a data migration.

How to change it

/dashboard/settings/billing has a Home currency card.

  • Pro plan required. Starter and Growth orgs stay on the implicit USD default. Trial users (14-day free trial on Pro) can change it freely during the trial.
  • Pick from the supported currency list. Save. The dashboard re-renders against the new home currency on next page load.
  • Changes are audit-logged (who, when, old → new) under Settings > Audit log.
  • The change ONLY affects new display rollups. Historical conversions keep their original native currency, and historical FX rates are not re-applied.

FX rates and refresh cadence

  • Source: European Central Bank via the free Frankfurter API. No API key, no rate limits we hit at any plausible scale.
  • Refresh: daily at 06:00 UTC via a background job. The full matrix of supported currencies is stored locally so the dashboard never has to call out to FX on a page render.
  • Rate used for a conversion: the ECB rate on the conversion's CreatedAt date. This is stable: re-loading a six-month-old dashboard view shows the same converted total it showed six months ago.
  • Stale-cache fallback: if the daily refresh fails (Frankfurter outage, our job error), the previous day's rates are used and an alert fires to Rekomi's on-call. Your dashboard keeps working.

Supported currencies

31 ISO 4217 codes are supported in v1. This covers every Stripe-supported market that the ECB publishes a daily rate for.

CodeCurrency
USDUS Dollar
EUREuro
GBPPound Sterling
CADCanadian Dollar
AUDAustralian Dollar
JPYJapanese Yen
CHFSwiss Franc
SEKSwedish Krona
NOKNorwegian Krone
DKKDanish Krone
NZDNew Zealand Dollar
SGDSingapore Dollar
HKDHong Kong Dollar
MXNMexican Peso
BRLBrazilian Real
INRIndian Rupee
ZARSouth African Rand
PLNPolish Zloty
CZKCzech Koruna
HUFHungarian Forint
RONRomanian Leu
ILSIsraeli Shekel
TRYTurkish Lira
KRWSouth Korean Won
PHPPhilippine Peso
THBThai Baht
MYRMalaysian Ringgit
IDRIndonesian Rupiah
AEDUAE Dirham
SARSaudi Riyal
CNYChinese Yuan

Conversions sent in any other currency are rejected at ingest (see the developer docs). Stripe-driven conversions in unsupported currencies are recorded but flagged for review.

How payouts work in multi-currency

Rekomi batches payouts per (affiliate, currency). If an affiliate has both USD-earning and EUR-earning conversions, they receive two payouts in the same batch: one USD payout settling all their USD commission, one EUR payout settling all their EUR commission. There is no automatic conversion between currencies on a payout. Reasoning:

  1. The affiliate gets paid in the currency they earned in (usually their preference).
  2. Stripe Express and PayPal settle in a specific currency. Mixing currencies in one payout would force us to convert at our rate, which is worse for the affiliate than letting their bank do it.
  3. FX timing is removed from the equation: a 1,000 EUR commission moves as 1,000 EUR.

In the dashboard you'll see the per-currency split on the Payouts page. Your home currency total on the KPI strip aggregates them at the ECB rate on each conversion's date.

Tax forms in multi-currency

U.S. tax law (IRS 1099-NEC) requires reporting in USD regardless of the currency a payment was actually made in. The Rekomi 1099-NEC export handles this for you:

  • Each commission is converted to USD at the ECB rate on the conversion's date (not the payout date, not today's rate). This is what the IRS expects.
  • The export CSV includes both columns: native amount + native currency, and the USD equivalent used for the 1099 total.
  • If an affiliate's USD-equivalent total crosses the $600 threshold, they appear on the threshold-tracking page regardless of which currency their conversions came in as.

See Tax forms for the full export flow.

When to change HomeCurrency

The honest answer: most brands never need to. USD is a fine reporting currency even for non-U.S. businesses because every comparable benchmark (PartnerStack, Rewardful, your own SaaS metrics) is reported in USD too.

Change it when:

  • You report financials to investors in a non-USD currency.
  • Your primary cost base is in a non-USD currency and you want the affiliate program P&L to match the rest of the business.
  • You acquired a brand whose ledger is in another currency and you're consolidating.

Otherwise, the per-row native amount is shown everywhere it matters, so a USD home currency does not hide your non-USD revenue from you.

Limits and edge cases

  • Exactly 3 letters, exactly the 31 supported codes. No crypto. No legacy codes (e.g. ZWL, VEF). No currency-substitute tokens.
  • JPY, KRW, IDR, HUF have no minor unit. Rekomi still stores cents internally but treats the minor-unit math correctly on display (a 1,000 JPY conversion shows as 1,000 JPY, not as 10.00 JPY).
  • Per-currency unconvertible amount. If we somehow have a conversion in a currency we don't have a rate for (rare; would mean a code reached storage that wasn't in the allowlist at the time of FX refresh), the summary tile shows an "Unconvertible" badge with the per-currency breakdown so nothing is silently swept under the rug.

Payouts

Methods, schedules, batches, holds, and failure handling.

Tax forms

$600 threshold, 1099-NEC CSV export, and where tax forms live.

On this page

What is HomeCurrencyHow to change itFX rates and refresh cadenceSupported currenciesHow payouts work in multi-currencyTax forms in multi-currencyWhen to change HomeCurrencyLimits and edge cases