Treasury Management analytics shows mismatched currency conversion rates in multi-currency cash position reports

Our Treasury Management analytics dashboard is displaying incorrect currency conversion amounts for multi-currency transactions. We’re on SAP S/4HANA 1809 and the issue is affecting our consolidated cash position reports.

The problem manifests when viewing cash positions across different subsidiaries with various local currencies. The analytics dashboard seems to be applying inconsistent exchange rates when converting to our group currency (USD). When I manually verify the conversions using the rate tables in transaction OB08, the amounts don’t match what the dashboard shows.

For example, a EUR cash position of 500,000 should convert to approximately $545,000 using yesterday’s exchange rate of 1.09, but the dashboard shows $538,750. Similar discrepancies appear across multiple currencies - GBP, JPY, CHF. The variance isn’t consistent either; sometimes it’s 1-2% off, other times it’s closer to the correct amount.

We’ve verified that the rate tables are properly maintained and that the correct exchange rate types are configured in Treasury Management. The currency conversion settings in the analytics dashboard point to the standard rate table, yet the calculations remain incorrect. Has anyone experienced similar currency conversion errors with the 1809 analytics dashboard?

Let me provide you with a complete solution to resolve the currency conversion mismatches in your Treasury Management analytics dashboard. This issue involves multiple layers of currency handling that need to be aligned.

Currency Conversion Architecture Analysis: In SAP S/4HANA 1809, Treasury Management uses a distinct currency conversion framework compared to standard Financial Accounting. The analytics dashboard reads exchange rates from multiple potential sources, and misalignment between these sources causes the discrepancies you’re observing.

Rate Table Verification and Configuration: First, verify that your exchange rates are properly maintained across all relevant tables. Transaction OB08 maintains rates in table TCURR for Financial Accounting, but Treasury Management analytics may also reference additional rate tables:

  • TCURR: Standard FI exchange rates
  • TCURV: Currency conversion settings and inversion rules
  • TCURN: Currency translation ratios
  • TCURF: Conversion factors for currency pairs

Navigate to transaction OB08 and verify that rates are maintained for all your currency pairs (EUR/USD, GBP/USD, JPY/USD, CHF/USD) with the correct exchange rate type. For Treasury, you should typically use:

  • Rate Type “B” (Bank Buying Rate) for cash positions
  • Rate Type “G” (Bank Selling Rate) for payment forecasts
  • Custom rate types if you’ve configured Treasury-specific rates

Analytics Dashboard Rate Type Configuration: The core issue is likely that your analytics dashboard is using a different exchange rate type than what you’re verifying manually. Access your Treasury analytics dashboard configuration:

In the Fiori Launchpad, go to Treasury Analytics → Dashboard Settings → Currency Conversion. You’ll see the configured rate type - this must match your Treasury Management rate type configuration. If it shows “M” (average rate) but your Treasury system uses “B” (bank buying rate), this explains the discrepancies.

To fix this, navigate to transaction RSRT (query monitor) and locate your Treasury cash position queries. Edit each query and go to the “Currency Conversion” tab. Set:

  • Exchange Rate Type: B (or your custom Treasury rate type)
  • Exchange Rate Date: Transaction Date (not system date)
  • Conversion Method: Use Exchange Rate Table
  • Target Currency: USD (your group currency)

Rate Table Synchronization: A critical but often overlooked aspect is that analytics datasources maintain their own copy of exchange rates. Even if rates are correct in OB08, they need to be replicated to the analytics layer.

Execute transaction RSCUR to access the currency conversion administration for analytics. Check the “Exchange Rate Table” settings:

  1. Verify that it points to TCURR (standard rate table)
  2. Check the last update timestamp - if it’s not current, rates are stale
  3. Execute “Replicate Exchange Rates” to force an immediate sync from TCURR to the analytics rate cache

Schedule automatic replication by setting up a background job (transaction SM36) that executes program RSCUR_REPLICATION daily at your rate update time.

Time-Dependent Conversion Logic: The variance you’re seeing (1-2% sometimes, closer other times) suggests time-dependent rate selection issues. Treasury analytics should use the exchange rate valid on the transaction date, not the report execution date.

In your analytics dashboard data model (CDS view or BW InfoProvider), verify the currency conversion formula includes proper date handling. The conversion should reference the document date field, not a hardcoded date. Check the CDS view definition or InfoProvider transformation rules to confirm the date parameter is correctly passed to the conversion function.

Inversion and Direct Quotation Handling: For your specific example (EUR 500,000 → USD at rate 1.09), verify the quotation method. Execute transaction OB08 and display the EUR/USD rate. Check if it’s stored as:

  • Direct quotation: 1 EUR = 1.09 USD (then 500,000 × 1.09 = $545,000)
  • Indirect quotation: 1 USD = 0.917 EUR (then 500,000 ÷ 0.917 = $545,200)

If your dashboard shows $538,750, it’s either using an older rate (approximately 1.0775) or applying inversion incorrectly. Check table TCURV for your currency pair and verify the inversion indicator matches your rate maintenance approach.

Analytics Dashboard Cache Management: Exchange rate caching can cause dashboard values to lag behind rate table updates. In the analytics dashboard administration, navigate to Cache Settings and:

  • Set Currency Conversion Cache TTL to 0 (disable caching for rates)
  • Enable “Always Use Current Rates” option
  • Clear existing cache: Execute report RSDDSTAT_DATA_AGING with option “Delete All”

Validation and Testing Process: After implementing these corrections, perform systematic validation:

  1. Select a specific cash position transaction (e.g., EUR 500,000 on June 18, 2025)
  2. Verify the exchange rate in OB08 for that date (should be 1.09)
  3. Calculate manually: 500,000 × 1.09 = $545,000
  4. Check analytics dashboard for the same transaction
  5. Values should now match exactly

Test across multiple currency pairs and transaction dates to ensure consistency. Monitor for any remaining discrepancies and check transaction SLG1 (application log) for currency conversion warnings or errors.

Ongoing Maintenance: Establish a daily reconciliation process where Treasury staff compare a sample of dashboard amounts against manual calculations. Document the exchange rate types used in different contexts (cash position vs. forecast vs. hedge accounting) to ensure consistent application across all Treasury analytics.


This draft is based on general SAP S/4HANA knowledge. It has not been verified against your specific version and environment. Practitioners: verify the steps and share your experience below.

Check which exchange rate type your dashboard is using. Treasury often uses different rate types (M, B, G) than standard accounting. The analytics dashboard might be defaulting to rate type M (average rate) when it should be using B (bank buying rate) or your custom rate type. Verify in the dashboard data source configuration.

I’ve seen this before - it’s usually a timing issue with when the rates are read. The analytics dashboard might be using cached exchange rates from an earlier point in the day, while you’re comparing against rates that were updated more recently in OB08. Check transaction RSCUR for the currency conversion settings in the analytics layer. There’s often a separate rate table maintenance for BW/analytics that doesn’t automatically sync with the FI rate tables. You need to ensure the rates are replicated to the analytics datasource.

Another possibility is the inversion method. When converting between certain currency pairs, SAP uses direct or indirect quotation methods, and if the analytics dashboard has the wrong inversion indicator set, you’ll get incorrect conversions. Check table TCURV to see how your currency pairs are configured. Also verify that the “from” and “to” currencies in your dashboard queries are in the correct order - sometimes the query inadvertently swaps them.

The 1.09 vs actual conversion showing $538,750 instead of $545,000 suggests the dashboard might be applying an older exchange rate. In Treasury analytics, there are multiple valid-from dates for exchange rates, and the dashboard query needs to specify which date to use for conversion. If your query uses the transaction posting date but the rate table lookup uses the current date, you’ll see mismatches. Review the time-dependent currency conversion logic in your dashboard data model.

Don’t overlook the currency conversion type setting in the InfoProvider. If you’re using a MultiProvider or CompositeProvider for treasury data, each underlying provider might have different currency conversion settings. Check transaction RSDCUBM and review the currency conversion properties for your treasury analytics cubes. Make sure they all reference the same rate table and use consistent conversion logic.