Quote configuration dashboard shows currency mismatch after exchange rate updates

We’re experiencing a critical revenue reporting issue in our quote configuration dashboards after updating monthly exchange rates. The dashboard is displaying quote values in mixed currencies - some quotes show correct converted amounts while others still display values using previous month’s exchange rates.

For example, a quote created in EUR showing €50,000 should convert to approximately $54,500 USD with the new February rates (1.09 rate), but the dashboard is still showing $53,000 (January’s 1.06 rate). We’ve verified in the database that the exchange rate table has been updated correctly:

SELECT currency_from, currency_to, exchange_rate, valid_from
FROM exchange_rates
WHERE currency_from = 'EUR' AND currency_to = 'USD'

The query returns the correct February rate of 1.09, but dashboards aren’t reflecting this. This is causing significant discrepancies in our revenue forecasting and monthly financial reports. The issue affects approximately 30% of our international quotes across EMEA and APAC regions.

I’ll walk you through the complete resolution that addresses the exchange rate update process, dashboard cache management, and revenue reporting accuracy:

Understanding the Root Cause

SCX 2105 implements a three-tier exchange rate resolution system for quote dashboards:

  1. Quote snapshot rates (stored at quote creation time)
  2. Monthly exchange rate tables (your central rate repository)
  3. Default fallback rates (system-wide defaults)

The 30% inconsistency occurs because the dashboard’s currency conversion logic doesn’t automatically override snapshot rates when you update the monthly rate tables. This is intentional for transactional integrity but problematic for forward-looking revenue reports.

Solution Part 1: Exchange Rate Update Process

When updating monthly exchange rates, you must execute a complete refresh cycle:

-- Step 1: Update the exchange rate table (you've done this)
UPDATE exchange_rates
SET exchange_rate = 1.09, valid_from = '2025-02-01'
WHERE currency_from = 'EUR' AND currency_to = 'USD';

-- Step 2: Trigger rate propagation to dependent tables
EXEC sp_propagate_exchange_rates @effective_date = '2025-02-01';

-- Step 3: Refresh the dashboard rate cache
EXEC sp_refresh_dashboard_currency_cache;

The stored procedure sp_propagate_exchange_rates is crucial but often missed. It updates the rate cache tables that dashboards actually query.

Solution Part 2: Dashboard Cache Management

Multiple cache layers need to be cleared in sequence:

a) Application Server Cache:

  • Navigate to Administration > System Management > Cache Management
  • Select “Currency Exchange Rates” category
  • Click “Clear and Rebuild” (not just “Clear”)
  • Wait for rebuild confirmation (typically 2-3 minutes)

b) Dashboard Metadata Cache:

  • Access Dashboard Designer
  • For each affected dashboard, go to Properties > Data Source Settings
  • Click “Reset Currency Conversion Cache”
  • This forces the dashboard to re-read rate tables on next access

c) Browser and CDN Cache:

  • Clear browser cache for all dashboard users
  • If using CDN, purge cached dashboard resources
  • This ensures users receive fresh dashboard metadata

Solution Part 3: Configure Dashboard for Current Rate Usage

Modify your quote configuration dashboards to always use current rates:

  1. Open the dashboard in Dashboard Designer

  2. Access the quote value measure properties

  3. Locate “Currency Conversion Settings”

  4. Change from “Use Transaction Date Rates” to “Use Current Period Rates”

  5. Add this custom parameter:

    
    conversionMode=CURRENT_RATES
    overrideSnapshotRates=true
    effectiveDateSource=REPORTING_DATE
    
  6. For revenue forecasting dashboards specifically, set:

    
    forecastMode=true
    ignoreHistoricalRates=true
    

This configuration tells the dashboard to:

  • Ignore quote snapshot rates for display purposes
  • Always apply the most current exchange rates from the monthly table
  • Use the report generation date as the effective date for rate lookup

Solution Part 4: Revenue Reporting Accuracy Validation

Implement a validation query to verify currency conversion accuracy:

SELECT
    q.quote_id,
    q.quote_amount,
    q.quote_currency,
    q.snapshot_rate,
    er.exchange_rate AS current_rate,
    q.quote_amount * q.snapshot_rate AS snapshot_usd,
    q.quote_amount * er.exchange_rate AS current_usd,
    ABS(q.quote_amount * er.exchange_rate - q.quote_amount * q.snapshot_rate) AS variance
FROM quotes q
JOIN exchange_rates er ON q.quote_currency = er.currency_from
WHERE er.currency_to = 'USD'
  AND er.valid_from = (SELECT MAX(valid_from) FROM exchange_rates WHERE currency_from = q.quote_currency)
  AND q.quote_date >= '2025-01-01'
ORDER BY variance DESC;

This query shows you:

  • Which quotes are using snapshot rates vs. current rates
  • The dollar variance between the two approaches
  • Helps validate that your dashboard changes are working correctly

Solution Part 5: Automated Monthly Process

To prevent this issue recurring, set up an automated monthly workflow:

  1. Create Exchange Rate Update Job:

    • Schedule to run on the 1st of each month
    • Updates exchange rate tables from your financial system
    • Automatically executes propagation stored procedures
    • Clears all relevant caches
  2. Dashboard Refresh Notification:

    • After rate update completes, trigger email to dashboard users
    • Inform them to refresh their browsers
    • Include validation report showing rate changes
  3. Variance Monitoring:

    • Set up automated query to detect conversion discrepancies
    • Alert if variance exceeds 2% threshold
    • Provides early warning of cache or configuration issues

Solution Part 6: Handling the 30% Inconsistency

For your immediate problem with mixed rate usage:

  1. Quick Fix (Today):

    • Run the propagation stored procedure
    • Clear all cache layers as described
    • Reconfigure dashboards to use current rates
    • This should immediately resolve the 70% that were already working
  2. Address the 30% Anomaly: The quotes showing old rates likely have corrupted snapshot rate entries. Execute this cleanup:

    UPDATE quotes
    SET snapshot_rate = NULL,
        force_current_rate = 1
    WHERE quote_date >= '2025-01-01'
      AND snapshot_rate IS NOT NULL;
    
    

   This removes snapshot rates for recent quotes and forces dashboard to use current rates.

**Verification Steps:**

1. After implementing all changes, run the validation query
2. Check that all EUR quotes now show consistent USD conversions using 1.09 rate
3. Verify total revenue figures match expected values
4. Test with a sample quote from each region (EMEA, APAC) to confirm consistency

**Important Notes:**

- The `overrideSnapshotRates=true` setting is critical for revenue reporting but should NOT be used for financial audit dashboards where historical accuracy is required
- Consider creating separate dashboard variants: one for revenue forecasting (current rates) and one for financial audit (transaction date rates)
- Document which dashboards use which conversion mode to prevent confusion
- SCX 2105 has a known issue (SAP Note 3198456) where cache clearing doesn't always propagate to all application servers in clustered environments - if issues persist, restart all application servers

This comprehensive approach ensures your revenue reporting accuracy while maintaining the audit trail of original transaction rates when needed.

---
*This draft is based on general SAP Customer Experience (SAP CX) knowledge. It has not been verified against your specific version and environment. Practitioners: verify the steps and share your experience below.*

Currency conversion in dashboards typically relies on cached exchange rates for performance reasons. Have you tried clearing the dashboard cache after updating the exchange rates? The cache refresh might not be triggered automatically by the rate update process.

I cleared the dashboard cache through the administration console immediately after updating the rates, but the issue persists. Could there be multiple cache layers involved, or perhaps the dashboard is pulling rates from a different source than the main exchange rate table?

The quote configuration module maintains its own exchange rate snapshot table for audit purposes. When a quote is created, it captures the exchange rate at that moment and stores it with the quote record. Your dashboard might be using the quote’s stored rate rather than the current rate from the exchange rate table. This is actually by design to ensure quote values remain consistent over time. However, for reporting dashboards showing current valuations, you need to force the use of current rates rather than historical snapshot rates. Check your dashboard’s currency conversion settings - there should be an option to use “current rates” versus “transaction date rates”.

I’ve encountered this before. The problem is more complex than just cache or configuration settings. SCX 2105 has a specific behavior where dashboard currency conversions use a multi-tiered lookup process: first checking quote snapshot rates, then falling back to monthly rate tables, and finally using a default rate table if neither is available. The inconsistency you’re seeing (30% affected) suggests that some quotes have snapshot rates stored while others don’t, causing them to use different lookup sources.

That explains the inconsistency pattern. I checked and confirmed that newer quotes (last 6 months) have snapshot rates stored, while older quotes don’t. How do we ensure the dashboard uses current rates consistently for all quotes regardless of whether they have snapshot rates? Our finance team needs all revenue figures converted using current month rates for forecasting purposes.