Formula
FX impact = this month’s MRR at this month’s rates
− this month’s MRR at last month’s ratesWorked example
Illustrative figures. A €50,000 contract that did not change while EUR/USD moved from 1.08 to 1.10.
| Line | USD |
|---|---|
| Opening MRR at 1.08 | 54,000 |
| Expansion | – |
| FX impact | 1,000 |
| Closing MRR at 1.10 | 55,000 |
Choose a rate policy and keep it
- Month-end rate: matches the MRR measurement date and the balance-sheet convention.
- Monthly average: smoother, and closer to how revenue is translated in the P&L.
- Today’s rate for every month: convenient, but past months change every time the rate moves, so reported history never stays put.
Whichever you choose, state it in the board pack and use it for every month.
Stale and missing rates
Before closing a month, check that every billing currency has a rate for that month. Falling back to an older rate without saying so is how small, unexplained differences get into the bridge.
Constant-currency retention
For NRR and GRR, convert the starting and current MRR at the same rates. Otherwise a weaker dollar shows up as retention.
How Revnewed calculates it
The reporting currency and rate policy are workspace settings: month-end rate (the default), latest as of date, or monthly average. Rates can be synced from the European Central Bank or uploaded.
A rate dated before the month is used but flagged as stale. With no earlier rate, the earliest later rate is used and flagged. Revenue in a currency with no rate at all is left out of totals and listed as a warning.
Common mistakes
- FX inside expansion
- The customer did not buy more; the dollar moved.
- Restating history at today’s rate
- Every past month changes whenever the rate does.
- Invoice-date rates
- Converting each invoice at its own date mixes billing timing with currency, and annual invoices make it worse.