Function documentationCurrency Conversion Setup Locate this document in the navigation structure

 

You use this to convert local currency values into one or more reporting or group currencies in accordance with major Generally Accepted Accounting Principles.

Features

Currency conversion applies to both financial and legal consolidation applications to which a corresponding rate application has been referenced.

When performing currency translation, different exchange rates such as average and period end rates, as well as logic, are applied. The business rule table for currency conversion contains the necessary rates and logic for a unique account rate type. The account rate type is then assigned, as a property, to the accounts to which it relates. When currency conversion runs, it translates each account in accordance with the rules defined for the account rate type which has been assigned to that particular account.

If you need to store data in the local currency of the entity and also convert it to one or more reporting or group currencies, a currency type dimension must exist. In addition, the system must access a rate application that stores the exchange rates used for the automatic translation. The following list provides a summary of the application setup required to support currency translation:

  • The application set must include a rate application where exchange rates are stored. You must assign this rate application to any application that utilizes it.

  • The application itself must include a currency type dimension.

  • The currency dimension must include the properties REPORTING, whose values are Y or blank, and CURRENCY_TYPE, whose values are G for group currency, T for transaction currency, or L for local currency.

  • The entity dimension must include the property CURRENCY, whose values are valid Input_Currencies.

  • The account dimension must include the property RATETYPE, whose values are valid accounts in the rate application.

  • The TIMEID dimension must include the properties YEAR, PERIOD, TIMEID, and MONTHNUM.

  • The DATASRC dimension is not mandatory for currency translation, but if you include it, the dimension must include the following properties:

    • DATASRC_TYPE, whose values include the following:

      • I – Input

      • M – Manual Adjustment

      • A – Automatic Adjustment or Elimination

      • L – Datasrc level (use only for consolidation)

    • IS_CONVERTED, whose values include the following:

      • N – these members are ignored in the conversion

      • Y (or blank) – these members are converted from LC into the desired currency unless the members are flagged as requiring manual adjustment; these members have their currency conversions entered manually

      • G – these members are copied from the reporting currency of the GROUP that is being translated into the currency member corresponding to the given group

  • The FLOW dimension is not mandatory for currency translation, but if you include it, the dimension must include the property FLOW_TYPE.

  • The INPUTCURRENCY dimension within the applicable rate application must include the property MD, whose values are M for multiply rates or D for divide rates.

  • The appropriate FXTRANS logic must be available.

  • The DEFAULT logic must include a call to the FXTRANS logic, if the translation is to be performed whenever data is entered.

The default translation reads all values in local currency where currency = LC, applies the correct exchange rate according to the applicable rate application, and writes the results in the appropriate reporting currency (USD, EURO, and so on).

Rate selection

For the selection of the correct rate, the following rules apply:

  • The source currency is derived from the property CURRENCY of the entity being translated.

  • The rate to be applied during translation, such as ENDFLOW, HISTRATE, and so on, is derived from the property RATETYPE of the account being translated.

  • The valid rate indicators are those corresponding to an account of the rate application belonging to the GROUP FX rate.

  • The system does not convert any accounts with a rate type that is not a part of the currency conversion business rules and converts all accounts with a blank rate type with a factor 1.

Note Note

The default currency translation supplied with the product for multi-currency applications performs a cross-rate translation; it multiplies the amount in local currency by the ratio between the rate of the destination currency and the rate of the source currency. This allows the application to use only one table of rates for translating any source currency into any destination currency.

End of the note.

Note Note

Other types of default translations can be defined by using the business rules tables to support these types of currency translations:

  • Ability to use different tables of rates by reporting (destination) currency

  • Ability to distinguish between Multiply currencies and Divide currencies

End of the note.

Preconditions for Running Currency Translation

Currency translation can run in the following two modes:

  • Reporting currency mode

    Reporting currency mode converts transaction data recorded in a local currency to the specified reporting currency. For this mode, make sure the script is similar to the following:

    *RUN_PROGRAM CURR_CONVERSION

    CATEGORY = %C_CATEGORY_SET%

    CURRENCY = %RPTCURRENCY_SET%

    TID_RA = %TIME_SET%

    RATEENTITY = GLOBAL

    ......

    *ENDRUN_PROGRAM

    Pay attention to the keyword CURRENCY. If running currency translation for the reporting currency, the keyword on the left side should be CURRENCY. If running currency translation for a group, use the keyword GROUP.

  • Group mode

    Group mode converts subsidiaries' data to a group's currency. This is mainly used before consolidation.

Whatever mode the currency translation runs in, the following conditions must be satisfied:

  • The reporting application must contain only one CURRENCY (type R) dimension.

  • The reporting application must reference the RATE application.

  • Some dimensions, such as Account, Entity, and Currency, must contain appropriate properties as noted in the following table:

    Application

    Dimension

    Property

    Description

    Main

    ACCOUNT

    RATETYPE

    The value of the RATETYPE property must be a valid key member in the rule table for currency translation, such as AVG, END, and ENDFLOW.

    Main

    ENTITY

    CURRENCY

    The CURRENCY property denotes the local currency for the current ENTITY. For example, for ENTITY US, the currency is USD; for FRANCE, the currency is EUR. The value of this property must be a valid member of the INPUTCURRENCY dimension.

    Main

    CURRENCY

    CURRENCY_TYPE

    The CURRENCY_TYPE property specifies the currency type, and it should take the following values:

    • L (local currency)

    • R (reporting currency)

    • G (group currency, for consolidation only)

    Main

    TIME

    YEAR

    The YEAR property contains the year information of the ID. For example, if the ID is 2008.AUG, YEAR is 2008.

    Main

    TIME

    PERIOD

    The PERIOD property denotes the period to which the current time belongs. For example, if the ID is 2008.AUG, PERIOD is AUG.

    Main

    TIME

    PERIOD

    The TIMEID property is a numerical value for the current time. For example, for 2008.AUG, the TIMEID is 20080800.

    Main

    TIME

    MONTHNUM

    The MONTHNUM property takes the numerical value of month. For example, for 2008.AUG, the MONTHNUM is 8.

When optional dimensions such as DATASRC and FLOW do not exist, currency translation still runs successfully. However, if they do exist, they impact the translation process. In this case, the following properties in these dimensions are mandatory:

Dimension

Property

Description

DATASRC

DATASRC_TYPE

The DATASRC_TYPE property signifies the data source type. The following four values are available:

  • I (input)

  • M (manual adjustment)

  • L (datasrc level, for consolidation only)

  • A (automatic adjustment or elimination)

DATASRC

IS_CONVERTED

When the IS_CONVERTED property is set to N or blank, members are ignored in the conversion. When set to Y, members are converted from the local currency to the desired currency.

FLOW

FLOW_TYPE

The FLOW_TYPE property can take many values, but the most important is the value CLOSING. The rule of currency translation with FORCE_CLOSING = Y makes use of it.

To run currency translation in reporting currency mode, the mandatory condition mentioned above should be satisfied. If optional dimensions such as DATASRC and FLOW exist, the condition of the optional dimension is also necessary.

To run currency translation in group mode, beside the same requirement as reporting currency mode, the following additional conditions are mandatory:

  • The OWNERSHIP application must be set up and referenced.

  • Group information must be maintained either in a CURRENCY dimension or a separate GROUP dimension.

    When using the CURRENCY dimension, CURRENCY and GROUP information resides in the same dimension. The following properties are need in CURRENCY dimension:

    • The ENTITY property can be blank or a valid Entity ID. It is used to define the link between the group and the entity and to indicate the entity where the aggregation should be stored. (Refer to the STORE_ENTITY property below.)

    • The GROUP_CURRENCY property can be used only on CURRENCY members with the property CURRENCY_TYPE= G. It must contain a valid ID from the CURRENCY dimension with the property CURRENCY_TYPE = R.

    • The STAGE_ONLY property controls the way the converted values must be saved in case of a multilevel conversion of groups. This property can have the three values Y, E, or N (blank).

    • The STORE_ENTITY property can have the values Y or blank. It indicates whether the system copies the results of the currency translation for the current GROUP into the entity specified in ENTITY property.

    • The STORE_GROUP_CURR property can have the values Y or blank. It indicates whether the system stores the currency translation result in the GROUP currency. If not, the system stores the result only in GROUP, not in currency.

    • The GROUP_ID property defines the group hierarchy. It should take the value of the other GROUP ID.

      Note Note

      This property may use other names, such as PARENT_GROUP and, if so, you should maintain the related parameter OWNERSHIP application via the Administration module.

      End of the note.

    When currency and group reside in one dimension, make sure the script file is similar to the following before running currency translation for the group:

    *RUN_PROGRAM CURR_CONVERSION

    CATEGORY = %C_CATEGORY_SET%

    GROUP= %GROUPS_SET%

    TID_RA = %TIME_SET%

    RATEENTITY = GLOBAL

    ......

    *ENDRUN_PROGRAM

    Pay attention to the keyword GROUP. If running currency translation in group mode, the keyword GROUP should be used instead of CURRENCY.

    When using a separate GROUP dimension, you should create a new dimension, for example, GROUP. This new dimension should be type G. For more information about using the new GROUP dimension type, see Dimensions Setup for Consolidations.

    Note Note

    As of Planning and Consolidation 7.5, when building a consolidation, both a group dimension and a currency dimension are required to hold consolidation group members and currency members separately.

    End of the note.