Exchange Rates
When a company trades in a currency that isn't its own, REDA has to convert — to turn a euro invoice into the pounds its books are kept in. An exchange rate is simply what one currency is worth in another (for example £1 = €1.17). Because rates move every day, REDA uses dated rates: each rate has a start date, and a document converts at the rate that applied on its own date — not today's. That's what keeps a January invoice valued the way it was in January, even when you look at it in June.
Access you'll need. Any REDA Financials permission set benefits from the rates automatically; maintaining rates and scheduling the sync is a Salesforce administrator / Accounting Admin v2 setup task, not something the AP, AR, or Read Only v2 sets configure.
How the rates are structured
- Per currency, relative to corporate. Each currency has a rate against the org's corporate currency (corporate = 1).
- Dated. A rate is effective from a date until the next one supersedes it, so historical documents convert at the rate that applied on their date.
- Cross rates are derived. To convert EUR→GBP, REDA divides the GBP rate by the EUR rate (the "to" currency's rate over the "from" currency's rate) — it doesn't need a EUR↔GBP pair.
- Precise, then rounded. Derived rates are worked to eight decimal places; converted amounts are then rounded to two. The rate used is stamped on the document when it posts, so the conversion is permanently auditable.
Maintaining rates
Automating daily rate updates (optional add-on)
REDA includes an engine that fetches daily rates from Open Exchange Rates, normalises them to your corporate currency, and writes them as dated rates — so you never key rates by hand. There's one deliberate gap: the small automated process that actually writes the rate records is not in the installed package. Your administrator adds it yourself, once.
Before you start
- Multi-currency (Advanced Currency Management) is activated in your org.
- Your subscription includes the FX rate-sync key (the engine reads it from your licence).
- You can add the process one way or another — VS Code, Salesforce CLI, or Workbench (any one is fine).
Step 1 — Download the process
• reda-fx-rate-flow.zip — a ready-to-deploy package for Workbench
• Create_Dated_Conversion_Rate.flow-meta.xml — the source file for VS Code / Salesforce CLI
Step 2 — Deploy it (pick one method)
| Method | How |
|---|---|
| VS Code (Salesforce Extensions) | Place Create_Dated_Conversion_Rate.flow-meta.xml in your project at force-app/main/default/flows/, right-click it → SFDX: Deploy Source to Org. |
| Salesforce CLI | Drop the file in a project's flows folder and run:sf project deploy start -d force-app/main/default/flows/Create_Dated_Conversion_Rate.flow-meta.xml -o <your-org> |
| Workbench (no tooling) | Sign in at workbench.developerforce.com → Migration → Deploy → choose reda-fx-rate-flow.zip → tick Single Package → Deploy. |
Create_Dated_Conversion_Rate. The sync
engine calls the process by that precise name. Rename it and the engine won't find it — daily sync
stays off.
Step 3 — Schedule the daily sync
With the process in place, turn on the daily job from the Operations scheduler in Administration. It runs each day; you can also trigger it on demand to backfill today's rates. Each run:
| # | What the engine does |
|---|---|
| 1 | Reads your FX rate-sync key from the licence. |
| 2 | Fetches the latest rates from Open Exchange Rates. |
| 3 | Normalises them to your org's corporate currency. |
| 4 | For each active currency, calls the process to write a dated rate for today (the corporate currency stays at 1). |
Where the rate gets applied
| Moment | Rate used |
|---|---|
| A foreign-currency invoice posts | The dated rate on the invoice date converts it to the entity's functional currency. |
| Payment settles later at a different rate | The difference posts to Realized FX. |
| Period-end revaluation (if your accounting policy calls for one) | If you restate open foreign-currency balances at the closing rate — typically with an adjusting journal — the paper difference posts to Unrealized FX. |
Where to go next
- 3-Tier Currency Architecture — the currencies these rates convert between.
- Currency on Documents — how rates apply to each document.
- Understanding Multi-Currency — the concepts around rates.
- Enabling Multi-Currency — turn currency management on first.
Frequently asked questions
Because a document should be valued at the rate that applied when it happened. A sale made in January is converted at January's rate, so its recorded value doesn't drift every time exchange rates move. Each rate has a start date, and REDA picks the one in force on the document's date.
No — just one rate per currency against the corporate currency. REDA works out any pair by dividing one by the other. Trade in five currencies and you maintain five rates, not twenty.
At least whenever the rate you use changes — commonly a fresh rate each month, loaded before you post that month's foreign-currency documents. If you'd rather not do it by hand, the optional add-on updates them daily, automatically.
The conversion stops with a clear error rather than guessing: "No exchange rate found for … effective on …". Nothing posts at a wrong value — you add the missing dated rate and try again. Keep rates current as part of opening each period and you'll never see it.
The most recent rate whose start date is on or before the document's date. So a rate loaded for 1 June applies to every document dated from 1 June until the next dated rate begins.
Was this article helpful?