Articles September 21, 2026
MRR in several currencies: why it moves when no customer did
You bill most customers in euros and some in dollars. The board wants one number. The moment you convert, a new source of change enters your MRR that has nothing to do with customers: the exchange rate. If it is not kept apart, a weak dollar looks like contraction and a strong one like expansion, and somebody spends a morning looking for the customers behind it.
Value each customer in the currency they pay in
A customer’s MRR is what they agreed to pay per month, in their currency. A customer on a $499 plan has an MRR of $499 in January and in June, whatever the euro did in between. Their ledger should say so: movements belong to the billing currency. An upgrade from $499 to $799 is an expansion of $300, not of “about €276, depending on the day”.
Only the report converts.
Which rate, on which day
Three choices are defensible. They answer different questions:
| Rate | MRR of a past month | Good for |
|---|---|---|
| The rate at each month’s end | fixed once the month is over | “what was our MRR worth then”: the usual choice, and the one that matches how finance values balances |
| Today’s rate for every month | changes every day, for every month | comparing months as if rates never moved; it rewrites history daily |
| One fixed rate for the year | stable, and increasingly wrong | plans and budgets, not reporting |
sumwerk converts at the European Central Bank’s reference rate of each month’s end (the running month at the latest rate). Weekends and holidays take the last published rate. It is a public, daily, free source, and anybody can check a figure by hand.
Give the rate its own line
With month-end rates, MRR at the end of a month no longer equals last month’s MRR plus the movements, because last month’s dollar customers are now worth a different number of euros. The difference is real, and it is not a movement of any customer. So it gets a line of its own:
| Amount | |
|---|---|
| MRR at the end of May | €100,000 |
| New business | +€4,000 |
| Expansion | +€1,500 |
| Churn and contraction | −€2,500 |
| Exchange rates | −€600 |
| MRR at the end of June | €102,400 |
Each movement is converted at the rate of its own day, the month ends at their own rates, and what is left over is the effect of exchange rates on customers who did nothing. A tool that has no such line has put the €600 somewhere: usually into expansion or contraction, where it makes your net revenue retention look better or worse than your customers behaved.
What this does to retention
Net revenue retention compares what a cohort pays today with what it paid a year ago. Both sides are in the reporting currency, each at its own month-end rate. A dollar that lost ten percent in a year takes about ten percent off the dollar customers’ side of your NRR, with no churn at all. That is correct, since it is what the revenue is worth to you, but read NRR of a mixed book with the rate in mind, and look at it per currency when it surprises you (in sumwerk: Segments by currency, which shows NRR per row).
Three mistakes to avoid
- Converting invoices instead of subscriptions. The rate on the invoice date differs from the rate at month end, and an annual invoice spreads one day’s rate over a year.
- Storing converted amounts as the truth. Store what the customer pays, in their currency, and convert when reporting. Otherwise a change of reporting currency means converting a conversion.
- Changing the reporting currency quietly. Every past month gets other figures. That is fine, but it is a restatement, and it should say so, once, with the date and the reason.