Architecture & Model Design

OneStream FX Rates: Understanding Rate Types, Translation Rules and Configuration

When we implement financial consolidation in OneStream, one of the common requirements is currency translation.

Let’s say we have a US parent company with subsidiaries in India, the UK and Australia. Each company records its financial transactions in its local currency, but the corporate team needs to report consolidated results in USD.

Now, we cannot simply add INR, GBP, AUD and USD balances together.

We first need to translate the financial information into the required reporting currency.

OneStream provides FX Rate Types and currency translation rules for this process.

But during implementation, we need to understand two things. Which exchange rate should be used, and how should that rate be applied?

These are different decisions.

Let’s look at how OneStream manages FX Rates and what we need to consider when configuring them for consolidation and planning.

OneStream FX Rates: Understanding Rate Types, Translation Rules and Configuration

How Currency Translation Works in OneStream

OneStream uses the local currency assigned to an entity and the reporting currency required by the parent or consolidation structure.

For example, we may have the following company structure.

EntityLocal currencyParent reporting currency
US ParentUSDUSD
India SubsidiaryINRUSD
UK SubsidiaryGBPUSD
Australia SubsidiaryAUDUSD

In this example, the India subsidiary reports its local financial results in INR.

When those results are consolidated into the US parent, OneStream needs to translate the relevant amounts into USD.

The translation process uses the configured exchange rates and translation rules.

These settings can be maintained at the Cube level and, where required, overridden at the Scenario level.

OneStream also supports more advanced translation logic through Finance Business Rules when the standard configuration does not meet the business requirement.

What Are FX Rate Types in OneStream?

What Are FX Rate Types in OneStream?

A Rate Type identifies which exchange rate should be used.

OneStream provides four predefined Rate Types.

Rate TypePurpose
Average RateRate representing a reporting period
Opening RateRate at the beginning of a period
Closing RateRate at the end of a period
Historical RateRate associated with a particular historical date or transaction

Each Rate Type has a specific purpose.

For example, revenue and expense accounts commonly use Average Rate, while asset and liability accounts commonly use Closing Rate.

However, these are not universal accounting rules for every financial statement account.

The actual configuration depends on accounting policy and the requirements of the financial consolidation model.

For example, certain equity transactions may require historical-rate treatment.

We need to confirm those requirements with the consolidation team before finalizing the configuration.

Average Rate for Revenue and Expense Accounts

Let’s take a revenue example.

An India subsidiary reports INR 1,000,000 of revenue for January.

The corporate reporting currency is USD.

Assume the approved Average Rate is:

1 INR = 0.012 USD

The translated revenue is:

1,000,000 × 0.012 = 12,000 USD

This is a simplified example using an illustrative exchange rate.

The main point is that revenue relates to activity during the reporting period, so a period-based rate is commonly used.

In OneStream, the configured Rate Type identifies the appropriate rate for that period.

However, the final translation result also depends on the configured Rule Type.

This becomes particularly important when translating year-to-date amounts.

Closing Rate for Balance Sheet Accounts

Now, let’s look at a balance sheet example.

Suppose the same India subsidiary has an ending cash balance of INR 5,000,000.

For the reporting period, assume the approved Closing Rate is:

1 INR = 0.0115 USD

The translated balance is:

5,000,000 × 0.0115 = 57,500 USD

Unlike revenue, a balance sheet account generally represents a position at a particular reporting date.

That is why Closing Rate is commonly used for many asset and liability accounts.

OneStream allows us to configure the Rate Type for assets and liabilities separately from the Rate Type used for revenue and expenses.

This distinction is available in the Cube FX settings.

Difference Between Rate Type and Rule Type

This is one area we need to understand clearly when configuring OneStream.

Rate Type and Rule Type are not the same.

Rate Type determines which exchange rate is selected.

Rule Type determines how the amount is translated.

OneStream provides Direct and Periodic translation Rule Types.

Direct Translation

Direct translation applies the selected exchange rate to the current value.

The basic calculation is:

Translated Value = Local Value × Exchange Rate

For example, if the local balance is INR 100,000 and the exchange rate is 0.012 USD per INR, the translated value is USD 1,200.

This calculation is straightforward when the current balance needs to be translated using the selected period’s rate.

OneStream uses Direct as the default Rule Type for assets and liabilities when a Cube is created.

Periodic Translation

Periodic translation works differently.

This method considers the movement between the current and previous periods.

Let’s take a simple example.

Suppose we have the following year-to-date revenue amounts.

PeriodLocal YTD revenueExchange rate
January100,0000.012
February220,0000.011
March360,0000.010

If we simply translate March YTD revenue using March’s rate, the result is:

360,000 × 0.010 = 3,600 USD

But this approach does not preserve the translation of the earlier periods using their respective rates.

With Periodic translation, OneStream considers the movement for the current period and adds it to the previously translated amount.

Using these illustrative rates:

January translated revenue:

100,000 × 0.012 = 1,200 USD

February translated movement:

(220,000 − 100,000) × 0.011 = 1,320 USD

February translated YTD:

1,200 + 1,320 = 2,520 USD

March translated movement:

(360,000 − 220,000) × 0.010 = 1,400 USD

March translated YTD:

2,520 + 1,400 = 3,920 USD

This is the main difference between Direct and Periodic translation.

The calculation depends on the Rule Type, not simply on whether the selected rate is Average or Closing.

OneStream uses Periodic as the default Rule Type for revenue and expenses when creating a Cube.

Where Do We Configure FX Rates in OneStream?

There are several areas we need to review.

1. FX Rate Maintenance

The FX Rates area is available under:

Application > Cube > FX Rates

Here, we can select the Rate Type, Time, Source Currency and Destination Currency.

For example, we may select Average Rate, January 2026, INR as the source currency and USD as the destination currency.

We can then enter or maintain the approved exchange rate for that combination.

OneStream also supports creating additional Rate Types when the business requires them.

2. Cube FX Settings

The next area is the Cube Properties.

Under FX Rates, we configure the default currency and the Rate Types and Rule Types used for different account categories.

The important settings include:

Rate Type for Revenues and Expenses

Rate Type for Assets and Liabilities

Rule Type for Revenues and Expenses

Rule Type for Assets and Liabilities

For a typical consolidation design, revenue and expense accounts may use Average Rate with Periodic translation, while asset and liability accounts may use Closing Rate with Direct translation.

However, we should always validate these settings against the approved accounting requirements.

3. Scenario FX Settings

OneStream also allows Scenario-level FX configuration.

For example, we may want the Actual scenario to use the Cube’s standard FX settings.

But for Budget or Forecast, the finance team may need different exchange-rate assumptions.

The Scenario dimension provides a setting called Use Cube FX Settings.

When this is enabled, the scenario follows the configured Cube FX settings.

When it is disabled, we can configure the supported scenario-specific FX settings.

This is useful when the organization needs different translation treatment for actual and planning data.

FX Rates for Budget and Forecast

FX Rates for Budget and Forecast

In enterprise planning, we often need to use exchange-rate assumptions that differ from actual exchange rates.

For example, the finance team may approve a set of budget rates for the next financial year.

Those rates may remain fixed throughout the budget process, even when actual exchange rates change.

OneStream supports custom Rate Types that can be used for requirements like this.

We can create a Rate Type for the approved budget assumptions and maintain the relevant values.

The planning configuration can then reference the required rates through the supported FX settings or translation logic.

We also need to decide what happens when the company revises its forecast assumptions.

Should the forecast use the latest rates, the original budget rates, or a separate approved forecast-rate set?

That is a business decision.

The OneStream configuration should follow the approved planning policy.

How OneStream Stores FX Rates

OneStream maintains FX Rates in a central system Cube that other Cubes can reference.

This means we do not need to maintain completely separate exchange-rate repositories for every financial Cube.

For example, the organization may have consolidation and planning Cubes.

Both can reference the centrally maintained FX Rates, while their configuration determines which Rate Types and translation methods are used.

This provides a common location for maintaining exchange-rate values.

However, the fact that rates are centrally maintained does not mean every Cube or Scenario must use the same Rate Type.

The configuration still controls how those rates are selected and applied.

Locking FX Rates After Financial Close

Another important requirement is controlling changes to historical exchange rates.

Let’s say the January financial close is complete.

The finance team approves the final exchange rates and does not want those rates changed during the February close.

OneStream provides FX Rate locking for this requirement.

The locking feature works by Rate Type and Time.

For example, we can lock the January Average Rate and January Closing Rate after approval.

OneStream documents that locked rates cannot be changed through normal rate maintenance. File loads and supported rate-setting functions also fail when attempting to change locked rates.

This is an important control for financial reporting.

One point to remember is that the lock applies to the selected Rate Type and Time. It is not maintained separately for each source and destination currency pair.

So we need to understand the impact before locking or unlocking a period.

Security for FX Rate Maintenance

In a large organization, not every user should be allowed to modify currency rates.

Normally, the finance or treasury team provides the approved FX rates, while the OneStream support team manages the integration and configuration.

OneStream provides security roles for managing and locking rates.

For example, ManageFXRates controls access to rate maintenance.

LockFxRates and UnlockFxRates are separate permissions.

This allows the organization to separate the responsibility for maintaining exchange rates from the responsibility for locking or unlocking approved periods.

The exact role assignment depends on the organization’s control requirements.

What We Need to Validate Before Production

When we implement currency translation, we should not stop after loading the FX rates.

We need to validate the financial results.

For example, we can select one legal entity and one reporting period.

We compare its local currency balances with the translated amounts in OneStream.

We then confirm that the correct Rate Type and Rule Type are applied.

For revenue and expense accounts, we should check that the Periodic translation produces the expected year-to-date result.

For asset and liability accounts, we need to verify the translated ending balances.

We also need to review accounts that require special translation treatment.

Finally, we should confirm that the approved FX rates are available for all required currencies and periods.

A missing or incorrect rate can affect the consolidated financial statements.

So the validation needs to cover both the configuration and the resulting financial amounts.

Common FX Configuration Issues

One issue we see during design reviews is confusion between Average Rate and Periodic translation.

Average Rate is a Rate Type. Periodic is a Rule Type.

They control different parts of the translation process.

Another issue is assuming that every revenue account must use Average Rate and every balance sheet account must use Closing Rate without reviewing the accounting requirements.

For many accounts, these are appropriate settings, but special transactions may require different treatment.

We also need to avoid mixing approved actual rates with budget assumptions unless the business specifically requires that approach.

And when we lock historical rates, we should confirm that the finance team has completed its review and approval process.

Conclusion

FX Rates are an important part of OneStream financial consolidation and planning.

When we configure currency translation, we need to understand how Rate Types and Rule Types work together.

Rate Types determine which exchange rate is used.

Rule Types determine how that rate is applied to the financial values.

OneStream supports standard and custom Rate Types, Cube and Scenario FX settings, and controls for maintaining and locking exchange rates.

For enterprise implementations, the main objective is to make sure the translation configuration follows the accounting policy and produces results that the finance team can reconcile.

Getting the rate loaded is only the first step. We also need to validate how OneStream uses that rate during consolidation and planning.

Frequently Asked Questions

What are the standard FX Rate Types in OneStream?

OneStream provides Average Rate, Opening Rate, Closing Rate and Historical Rate.

What is the difference between Average Rate and Closing Rate?

Average Rate represents a rate for a reporting period. Closing Rate represents the rate at the end of the reporting period.

What is the difference between Direct and Periodic translation?

Direct applies the current exchange rate to the current value. Periodic translates the current-period movement and combines it with the previously translated amount.

Can OneStream use different FX rates for Actual and Budget?

Yes. OneStream supports Cube and Scenario FX settings, custom Rate Types, and additional translation logic for planning requirements.

Can we lock FX rates after the financial close?

Yes. OneStream supports locking FX Rate Types by Time, with separate security permissions for locking and unlocking rates.

Where are FX Rates maintained in OneStream?

FX Rates are maintained through the Application area under Cube and FX Rates. The rates are stored centrally in the system Cube for use by other Cubes.

OneStreamOneStream EPMOneStream Software
Related Insights

More from the architecture desk.

Architecture & Model Design

OneStream Metadata Builder: How to Manage Bulk Metadata Loads in Enterprise Applications

When we build a OneStream application, one of the first activities is setting up the metadata....

Read more
Architecture & Model Design

OneStream Attribute Members: Dynamic Reporting Without Duplicate Data

When we design a OneStream application, the business often wants to analyze financial data in different...

Read more
Architecture & Model Design

Why Headcount Was Counted Twice in Workday Adaptive Planning

The client The client is a global investment fund. They run Workday Financial Management, Workday HCM...

Read more

Discover more from EPMLogic

Subscribe now to keep reading and get access to the full archive.

Continue reading