Currency & FX conversion

Variables, if set to Currency format, have a Currency drop-down where you can explicitly choose the Currency (e.g. USD, JPY, GBP), which will set the currency prefix symbol (e.g. $ ¥ £) or wording (e.g. AUD).
The currency setting on variables is useful for two main reasons:
  1. 1.
    Visual indication: Displaying clearly which currency each variable is in (in the variable icon, and in each cell)
  2. 2.
    FX conversion: Converting data in different currencies to the variable-set currency (i.e. for multi-currency / multi-entity consolidation).

Exchange rate (FX) conversion

When data that has a currency set (read more here) is connected to a variable in a different currency, Causal will automatically convert all data-connected values to the variable-set-currency.
  • e.g. if your variable is in AUD, but you connect data that is in USD, Causal will convert the USD data values to AUD
  • e.g. if your data is in USD but you want to see how that converts to EUR, set the variable to EUR and Causal will convert USD to EUR

Data source currency settings

  • For common data sources (like QBO and Xero) currency settings are automatically detected and set by Causal.
  • For other data sources where Causal can’t auto-detect the currency (e.g. Google Sheets), currency can be manually set (but currency settings are completely off by default).
  • ✨ When you create new variables from a data source with currency set, Causal will set the variable's format and currency appropriately ✨
Note: Only the user that created the data source can update the currency settings.

What logic does Causal use to convert?

There are two different types of rates Causal uses, Average and Final. These are shown (and set if user-editable) in the data source preview.
  • Average: the average FX rate during the period (month/week/day/etc, depending on the model granularity). This is the default for Profit & Loss data sources.
  • Final: the final FX rate of the period. This is the default for Balance Sheet data sources.
For example, in a monthly model, the Average rate would be the average of the daily rates for the month, and the Final rate would be the rate on the last day of the month..


Where can I see the FX rates used? Where does Causal source the FX rates from? Can I adjust the FX rates used?
You can see the FX rates for each period used by drilling-down into the cells of the converted variable. The rates are sourced from Open Exchange Rates, and are not adjustable.
Why don't Payroll / HRIS data sources have currency auto-set?
Payroll/HRIS data sources do not have currency set because often different employees are paid in different currencies. Our Headcount wizard (and this headcount template model) show how you to translate all employees into one common currency using a “Currency” category, and a user-populated FX rate variable. We don’t recommend setting a data-source level currency for this data source, unless every employee is paid in the same currency.
What happens when I have "future" data that goes beyond what Causal has FX rates for?
For any periods where Causal cannot access an historic FX rate, Causal will carry the latest historic rate forward, and convert "future" data values at that rate. For example, in a monthly model, if there are historic FX rates until November 2023, but you have data available and connected for December 2023, Causal will convert the December 2023 value using the latest rate from November 2023 (depending on whether data source is set to Average or Final FX rates).
What is the "Custom" currency option?
  • If you use a currency that isn’t on our list (e.g. a certain cryptocurrency), you can select Custom (at the very bottom of the list) and set your own prefix/suffix to reflect the currency. Note: if you have a Custom currency set, Causal will not be able to do any auto-translation.
What if I don't want to use Causal's currency conversion?
No problem! Simply set the variable ‘unit’ to Number instead of Currency, and Causal will not do any conversion when the data source currency differs from the variable currency.
If you’d like to explore how to set up currency translation without Causal’s currency feature, you can check out this template which uses a Currency category, and a user-populated FX rate variable.
What if there is data present for the current period (e.g. month in a monthly model), but the period isn’t yet finished?
Causal will take the average or final rate of the elapsed time period to-date. e.g. if there is data present for January 2024, but we are only at 15th Jan 2024, Causal will use the average or final rate for 1st-15th January 2024.
What about constants, how are they converted?
For any data items that are constant (i.e. non-time-varying), Causal will convert these at the latest completed period's rate. For example, in a monthly model, if there are historic FX rates until November 2023, but the current date is 15th December 2023, Causal will convert the constant value using the latest rate from November 2023 (depending on whether data source is set to Average or Final FX rates).
Causal uses the same logic for data connected to models without a time dimension (i.e. granularity of None).

Different ways to set up your consolidation models

There are many ways you can set up your consolidation in Causal.
You can either have no entity breakdown (in which case you'd drill-down to see detail at the entity level), or you can use categories to breakdown by entity (see below) which means you can easily visualise historics by entity, and forecast by entity too.
Marketing is broken down by Entity (UK, US), and data is connected at the entity level)
Note: You can also have separate models for each entity, and then have a linked consolidation model that combines them together. Note however we don't recommend this, as (1) you won't be able to take advantage of our automatic FX conversion (unless you also connect the consolidated model to data from each entity), (2) adding extra entities would be manual (building an extra model, vs. simply adding an extra category item in the Entity category as per above).