The Day the Dollar Lied: Why Historical Exchange Rates Matter in Salesforce
“My forecast looks perfect,” said the sales manager.
“Yes,” replied the CFO, “except for that tiny detail — yesterday’s euro was worth less.”
Every Salesforce admin who has enabled multicurrency has eventually met this painful truth: exchange rates are not static.
In this article, we’ll walk through how to configure Dated Exchange Rates correctly, understand how Salesforce applies them to Opportunities, and see how the Axy7 CurrencyUpdater app can make the process accurate, automated, and audit-ready.
Our story follows BlueWave Robotics, a growing technology company selling in USD, EUR, and GBP, learning to manage exchange rates the right way.

1. Enabling Multicurrency and Dated Exchange Rates
BlueWave Robotics starts its Salesforce journey with deals in several currencies.
Initially, all Opportunities convert neatly into USD — until the finance team realizes that a deal closed last quarter shows a different USD value today.
That happens because, by default, Salesforce uses a single corporate exchange rate table, not tied to specific dates.
The solution: activate Dated Exchange Rates.
Step-by-step:
-
Go to Setup → Company Information → Activate Multiple Currencies.
(If already active, proceed to the next step.) -
Enable Advanced Currency Management (ACM):
-
Setup → Manage Currencies → Activate Dated Exchange Rates.
-
-
Define your corporate currency (e.g., USD) and add the others you use.
Once active, Salesforce stores conversion rates in a standard object called DatedConversionRate, where each record has:
-
IsoCode (e.g., EUR)
-
StartDate
-
NextStartDate
-
ConversionRate
Each date range determines which rate applies when an Opportunity’s Close Date falls within that period.
Reference:
Salesforce Help: Manage Advanced Currency Management
Salesforce Help: Dated Exchange Rates Overview
2. Understanding How Dated Exchange Rates Affect Opportunities
At BlueWave Robotics, an Opportunity named “Germany Deal Q1” closes on March 31, 2025, for €100,000.
At that time, the EUR → USD rate is 1.07. Salesforce stores this in DatedConversionRate.
Six months later, when the euro weakens to 1.02, the Opportunity’s amount in USD should not change — historical deals must keep the rate valid at the time of closing.
This is exactly what Dated Exchange Rates ensure.
How Salesforce chooses the rate:
When a user views an Opportunity, Salesforce looks at:
-
The Opportunity’s CurrencyIsoCode (EUR).
-
Its Close Date.
-
The corresponding DatedConversionRate record valid for that date range.
Important limitation:
Custom objects and fields don’t automatically use Dated Exchange Rates — they always use the latest rate in the ConversionRate table.
This is why ISVs like Axy7 CurrencyUpdater exist: to extend that same logic to custom data models.
3. Keeping Your Exchange Rates Up to Date
BlueWave’s admin soon learns that entering DatedConversionRate records manually is tedious — especially for 20+ currencies every day.
Using Axy7 CurrencyUpdater
With the Axy7 CurrencyUpdater app installed from AppExchange, the process becomes automated.
-
In the Setup tab, connect your preferred source (e.g., CurrencyLayer, Bank of England).
-
Choose the update frequency — daily is recommended.
-
Activate the scheduled job.
Every night, the app:
-
Retrieves the latest official FX data.
-
Updates Salesforce’s DatedConversionRate table.
-
Triggers Salesforce’s internal recalculation for standard objects (Opportunities, Quotes, etc.).
-
Keeps your CRM aligned with your financial system.
Benefit:
Opportunities always reflect the correct conversion at close date, preventing discrepancies between Salesforce and ERP reports.
“We used to spend hours explaining currency differences to Finance,” says BlueWave’s admin.
“Now, they trust Salesforce numbers again.”
Reference:
Axy7 CurrencyUpdater AppExchange Listing
CurrencyUpdater Installation Guide
4. Introducing Historical Updates (Version 65.0 – Fall ’25)
By the end of the fiscal year, BlueWave’s finance team wants to reconcile all closed deals with official quarter-end rates.
They need to update exchange rates as they were on December 31, 2024 — not today’s.
Starting with CurrencyUpdater v65.0 (Fall ’25), this is now possible with the Historical Update feature.
How It Works
From the Stats tab in CurrencyUpdater:
-
Click “Update Historical Rates”.
-
Select any past date (e.g., 2024-12-31).
-
Run the process.
The system refreshes the DatedConversionRate table for that date, ensuring all historical deals reflect accurate FX values.
Availability:
-
Supported only in Enterprise and Unlimited editions.
-
Requires the feature flag:
(Enable by contacting support at support@axy7.com)
Apex API Access:
Admins can also trigger updates programmatically:
API access requires enabling the parameter:
This feature brings Salesforce closer to full financial audit accuracy — ensuring reported revenue, ARR, and historical dashboards remain consistent with the true FX context.
5. Common Limitations, Best Practices, and Warnings
Limitations
-
Custom objects and custom rollups do not automatically use Dated Exchange Rates; they always rely on the latest
ConversionRatetable. -
Opportunities cloned from older ones may reuse outdated rates if the Close Date isn’t updated.
-
Salesforce does not retroactively re-evaluate closed deals when new rates are inserted; that’s why historical updates matter.
-
In sandboxes, currency data is not automatically synchronized from production.
Best Practices
-
Keep at least one DatedConversionRate per currency per month — daily is ideal for high-volume trading or global SaaS companies.
-
When deploying to sandboxes, always refresh your FX tables using the CurrencyUpdater app before running forecasts.
-
Use scheduled or API-based updates to ensure all rates are consistent with your ERP or accounting systems.
-
Document your corporate currency policy and communicate it to sales and finance users.
Warnings
-
Avoid manual edits in
DatedConversionRateunless necessary — they can break historical integrity. -
Do not disable Advanced Currency Management mid-fiscal year.
-
Validate your Connected App and integration credentials regularly; authentication errors can interrupt daily updates.
6. Summary and Conclusions
BlueWave Robotics’ journey shows a common progression:
-
Activate multicurrency.
-
Enable Dated Exchange Rates.
-
Automate daily updates with Axy7 CurrencyUpdater.
-
Reconcile past data using the new Historical Update feature.
The result:
Consistent revenue reports, precise historical analytics, and full confidence in Salesforce as a source of financial truth.
Key Takeaways:
-
Dated Exchange Rates are essential for accurate financial reporting.
-
Salesforce supports them natively for Opportunities and Quotes but not for custom objects.
-
CurrencyUpdater bridges that gap, automating both daily and historical updates.
-
With v65.0 (Fall ’25), Axy7 customers gain a new level of control over historical accuracy.
So next time someone in Finance asks, “Why does the deal look different today?”, you can answer with a smile:
“Because yesterday’s dollar doesn’t lie anymore.”


