You are on page 1of 54

Currency Translation in HFM

Keith Berry
US-Analytics

US-Analytics is an industry leading professional services firm focused


on helping clients successfully establish and maintain long term Business
Intelligence (BI) and Enterprise Performance Management (EPM)
applications and programs.
BI and EPM Strategy and Processes
Custom and packaged BI and EPM Applications
Oracle Infrastructure
Managed Services and Hosting
For over a decade, market leading companies have trusted US-Analytics
to solve complex business problems, drive managerial excellence, and
deliver operational agility.
Learn more at Booth #107 or
www.us-analytics.com

Background

12+ Years Hyperion implementation experience

Certified in HFM and Essbase

Second year at Kscope

Currency Translation 101

Guidance
US GAAP

ASC Topic 830, Foreign Currency Matters (old SFAS 52)

IFRS

IAS 21,The Effects of Changes In Foreign Exchange Rates

Some differences in determining functional currency and translating


hyperinflationary currencies

Currency Type Definitions


Local Currency

Currency where the entity is located

Functional Currency

Currency of the primary economic environment in which the entity operates


Determined by multiple factors listed in accounting guidance
Management judgment

Reporting/Presentation Currency

Currency in which the consolidated entity will report

Translation Methods
Temporal Rate Method

Also called Remeasurement


Translate from Local Currency to Functional Currency
Translation gain/loss reported as part of Net Income

Current Rate Method

Translate from Functional Currency to Reporting Currency


Translation gain/loss reported in Equity

Translation
Functional

Local
No change

Local
Currency

Local
Currency

Reporting
Current

USD
Temporal

USD

Temporal

Another
Currency

No change

Current

Temporal Rate Method


Balance Sheet

Monetary assets and liabilities translated at rates in effect at end of the reporting
period
Non-monetary assets and liabilities translated at rates in effect when the
assets/liabilities were acquired
Contributed Capital translated at historical rates
RE is difference needed to balance the Balance Sheet

Income Statement

Items related to Balance Sheet (e.g. depreciation) use balance sheet rate
All other items at average rate

Translation Adjustment

Translation gain/loss is adjustment booked to Net Income needed to make Beginning


RE meet Ending RE

Current Rate Method


Balance Sheet

Assets and Liabilities translated at end of period rates


Contributed Capital and Retained Earnings translated at historical rates

Income Statement

Revenue and expenses at rate in effect at time of recognition (spot/average)


Average rate for period is usually acceptable
No translation gain/loss adjustment to Net Income

Translation Adjustment

Cumulative Translation Adjustment (CTA) booked to Equity section of Balance Sheet


to make Beginning RE meet Ending RE

Current Rate Example


Setup company in EUR by issuing common stock for cash
Translate from EUR to USD

EUR - > USD End of Period Rate = 1.33

Current Rate Example

Current Rate Example


Conduct first period of business

Generate Net Income


Establish other Balance Sheet items
Accounts Payable, Accounts Receivable, Inventory, etc.

Translate from EUR to USD

EUR - > USD Avg Rate = 1.25


EUR - > USD End of Period Rate = 1.40
EUR - > USD Common Stock Historical Rate = 1.33

Current Rate Example

Current Rate Example

Net Asset Position (NAP) = Assets - Liabilities


Rate
Beginning Net Asset Position X
(Current Month EOP Rate - Prior Month EOP Rate)
Activity
Change in Net Asset Position X
(Current Month EOP Rate - Current Month Average Rate)

Recap
Currencies

Local
Functional
Reporting/Presentation

Methods

Temporal (Remeasurement)
Local -> Functional
Gain/loss in Net Income
Current Rate
Functional -> Reporting
Gain/loss in Equity (CTA)

HFM usually Current Rate method

HFM Translation Out of the Box

Configuration
Application Currency
Accounts defined as CURRENCYRATE
Accounts assigned to translate Balance or Flow in Application Settings
PVA

PVA Impact on Flow Accounts


PVA
rate x periodic amount
YTD is sum of periodic translations

Non-PVA
rate x YTD amount
Periodic is current YTD less prior YTD

Configuration
Each account assigned Account Type

Account Types categorized as Balance or Flow


Balance Asset, Liability
Flow Revenue, Expense
Not Translated Balance, Flow

Currency Tables

Rates in application defined in metadata


Scale
Generates members on Value dimension

Default Currency

Translation Tables

Default location in HFM created for intersection of each currency defined


Rates loaded as From/To by period
Multiply or Divide
Load to global location or specific entity

Default Translation
Direct rate in current entity
Indirect rate in current entity

Italy.EUR -> Italy.USD


Italy.USD -> Italy.EUR

Direct rate in [None] entity


Indirect rate in [None] entity

[None].EUR -> [None].USD


[None].USD -> [None].EUR

Triangulation through application currency

Triangulation
If specific From/To rate not loaded, HFM will derive rate via the applications
base currency

Example:

Application Currency = EUR


GBP -> CHF rate has not been loaded
GBP -> EUR
EUR -> CHF
GBP -> EUR = 1.17
EUR -> CHF = 1.23
GBP -> CHF translated at 1.17 x 1.23 = 1.439

Calculation

HFM Deals With Data in Groups

There are too many data points to handle individually


Group the data by dimension to make it easier to manage
Must pull all data points in a group to access any single
point
HFM calls these groups subcubes

Subcubes
Subcube

Coordinates

Scenario
Year
Entity
Value

View

Subcube

Contents

Account
ICP
Customs
Period

data stored YTD, other views (MTD, QTD) derived on the fly

Subcube Types
Two types of subcubes based on the Value Dimension

Currency Subcubes

Base data for the entity


Triplet
The angle brackets

Node Subcubes

Tracks aggregation and eliminations for an entity into a specific parent


The square brackets [Elimination], [Proportion], etc.
Currency of the parent (not identified in member name)

Value Dimension

HFM Value Dimension

EMEA

Currency subcube - EMEA

Node subcubes EMEA.France


France

UK

Currency subcube France


[Elimination]
[Proportion], Etc.

Node subcubes EMEA.UK

GBP Total
GBP Adjs
GBP

Currency subcube UK

Value Dimension

Node subcubes EMEA.UK


UK

Currency subcube - UK

Value Dimension

Example
Entity UK defined with Default Currency of GBP
UK placed in three alternate hierarchies under different parents. Two
parents have Default Currency of EUR, the third a Default Currency of USD

Sales
-EUR-

EMEA
-EUR-

UK
--GBP

Corp
-USD-

UK
--GBP

UK
--GBP

EMEA parent, before consolidation

<Entity Currency> pointers


to GBP subcube based on
entity Default Currency

GBP subcube for entity


UK populated

Consolidation of EMEA performed


Before

After
EUR Total consolidated to parent
<Parent Currency>
pointers to EUR subcube
based on parent Default
Currency

EUR subcube for entity


UK populated

Sales parent, before consolidation


EUR Total value not yet consolidated to
parent

EUR subcube already present from


EMEA consolidation
GBP subcube (from data load)

Sales parent, after consolidation


Before

After
EUR Total consolidated to parent

Corp parent, before consolidation

EUR subcube already present from


EMEA consolidation
GBP subcube (from data load)
No USD subcube data yet

Corp parent, after consolidation


USD Total consolidated to parent
pointer to USD subcube

USD subcube populated

Recap so far
Value dimension contains placeholders for all currencies
The Value dimension will show data for all currently populated currency
subcubes
<Entity Currency> and <Parent Currency> are pointers to named currency
subcubes based on current entity selection

Currency subcube for Default Currency of entity populated by data load


Currency subcube for entity in currency of parent populated during
consolidation. This data is used in the consolidation to the next level.
Currency subcube re-used if entity consolidates into two different parents of
same currency

Compare to adjustment through [Parent Adjs]


Journal booked to [Parent Adjs] for UK under EMEA

Adjustment through <Parent Curr Adjs>


Journal booked to <Parent Curr Ads> for UK under EMEA

Manual translate
New currency subcube can also be populated via manual Translate process
Any currency defined in the system
Supplemental data; not used in consolidation
Direct translation of existing subcube
EMEA
-EUR-

Consolidation

UK
-EUR-

UK
-GBP-

Manual

UK
-CHF-

Manual Translate
HFM will track and update currency subcubes needed for consolidation
It will track status, but not update subcubes created by manual Translate
User must manage
Impact of additional currencies

Custom Translation Components

Custom Translation

Translation Rules
CTA Calculation
Historical Rate/Override Process

Sub Translate ()
Executes each time currency subcube is updated
Consolidation
Manually Translate
Calculate () for source currency member <Entity Currency>
Calculate () for and source currency adjs member <Entity Curr Adjs> (if present)
Translate ()
Calculate () for translated currency
ICP Report
EPU

Hs.Trans / Hs.TransPeriodic
Hs.Trans("DestPOV","SourcePOV","Rate1","Rate2")

Destination
Account, ICP, Customs
Writes to all if not specified
Source
Full POV
If unspecified, Destination POV drives source
Rate
Translate at difference between Rate1 and Rate2
If Rate2 not present, translate at Rate1
Cumulative
Hs.Trans "A#A10110", "", "3","1.5
Hs.Trans "C1#CTA_R", "", "A#EOPRate", "A#EOPRate.P#Prior"
Hs.Trans "C1#CTA_A", "", "A#EOPRate", "A#AvgRate"

CTA Calculation - Simple

Assumes CTA is difference on Balance Sheet immediately after translation


Steps
- Calculate Balance account in local currency prior to translation
- Translate
- Calculate CTA
In Sub Calculate () -

How Do I Know When Translation Has Occurred?

Override Process

Equity accounts translated at historical rates that can vary by entity and
account
Certain accounts such as Retained Earnings composed of layers requiring
different historical rates for each (blended rate)
Historical rates vary by entity, but usually do not change by period
Complex to build and manage in HFM
Historical balances can be updated from source system updated with
changes in local currency

Override Process

Create non-reporting memo accounts to hold post-translated balances


Base account name with prefix or suffix
Account type Balance to ensure not translated

Override Process
Immediately after translation, replace balance with correct historical balance

Drive process from existence of override balances


Ensure override POV exactly matches target to ensure data is overwritten

You might also like