Multi-currency contracts

Knowledge Center > Zuora RevPro > Multi-currency contracts

Multi-currency contracts

When there are more than one transaction currencies in a revenue contract, this revenue contract is identified as a multi-currency contract.

Overview

For allocations or any calculations that are done for multi-currency revenue contracts, either the functional currency or the reporting currency will be used depending on the system level value of the MULTI_CURR_FV_REPORT_LEVEL profile. This profile value can be set to one of the following:

  • Lowest Common Currency

  • Reporting Currency

When the MULTI_CURR_FV_REPORT_LEVEL profile is set to Lowest Common Currency and all the lines within the revenue contract have the same functional currency, RevPro will do calculations in the functional currency. In all other circumstances, RevPro will use the reporting currency, which is specified by the REPORTING_CURRENCY profile, to do the calculations.

Multi-currency contract in Workbench

In RevPro Workbench, the multi-currency contracts are indicated by the letter M following the revenue contract number in the contract header in RevPro workbench as shown in the following graphic.

multi-currency-rc.png

The Overview tab of the Revenue Contract Detail page also indicates the allocation currency on the right pane. In the above graphic, allocations of the contract RC 10671 happen in the functional currency (USD). On the left pane, values are displayed in the functional currency and the reporting currency.

If the allocation happens in the transaction currency, values are displayed in the transaction currency, functional currency, and reporting currency. If the allocation happens in the reporting currency, values are displayed only in the reporting currency.

Examples of currency determination

Various examples are provided to help you better understand how the allocation currency is determined for the multi-currency contracts that are eligible for allocations in RevPro. The same logic also applies to the multi-currency contracts that are not eligible for allocation.

In the example tables, some column headers are abbreviated as follows:

  • T.Curr: Transaction currency

  • F.Curr: Functional currency, which is the book currency.

  • G.Curr: Reporting currency.

  • F.Ex.Rate: Functional exchange rate, which is the exchange rate from the transaction currency to the functional currency.

  • G.Ex.Rate: Reporting exchange rate, which the exchange rate from the functional currency to the reporting currency.

Example 1 - Allocation in transaction currency

In the following example, the transaction currencies of all the lines are the same, which is GBP. The reporting currency according to the REPORTING_CURRENCY profile is USD.

This revenue contract is not a multi-currency contract and the transaction currency (GBP) is used for allocations. The exchange rate, which is used to post the allocations from the transaction currency to the other two currencies (functional and reporting), is determined based on the earliest SO Book Date. In this example, the earliest SO Book Date is 01/01/2019, so the exchange rate from the transactional currency to the functional currency is 1.1 and from the functional currency to the reporting currency is 0.90.

Line No

SO Book Date

Company Code

Amount

T.Curr

F.Ex.Rate

F.Ex.Date

F.Curr

G.Ex.Rate

G.Ex.Date

G.Curr

1

01/01/2019

100

1000

GBP

1.1

01/01/2019

EUR

0.90

01/01/2019

USD

2

01/02/2019

100

2000

GBP

1.2

01/02/2019

EUR

0.88

01/02/2019

USD

3

01/03/2019

100

3000

GBP

1.3

01/03/2019

EUR

0.85

01/03/2019

USD

4

01/04/2019

100

4000

GBP

1.4

01/04/2019

EUR

0.82

01/04/2019

USD

Example 2 - Allocation in functional currency

In the following example, the transaction currencies are different so this contract is a multi-currency contract. The reporting currency is USD according to the REPORTING_CURRENCY profile. The MULTI_CURR_FV_REPORT_LEVEL profile is set to Lowest Common Currency.

Line No

SO Book Date

Company Code

Amount

T.Curr

F.Ex.Rate

F.Ex.Date

F.Curr

G.Ex.Rate

G.Ex.Date

G.Curr

1

01/01/2019

100

1000

EUR

1.0

01/01/2019

EUR

0.90

01/01/2019

USD

2

01/02/2019

100

2000

GBP

1.2

01/02/2019

EUR

0.88

01/02/2019

USD

3

01/03/2019

100

3000

USD

1.3

01/03/2019

EUR

0.85

01/03/2019

USD

4

01/04/2019

100

4000

GBP

1.4

01/04/2019

EUR

0.82

01/04/2019

USD

In this multi-currency contract, all the lines have the same functional currency so the allocations happen in the functional currency (EUR). The functional exchange rate, which is used to calculate allocations, is based on the line level exchange rates. The reporting exchange rate for posting allocations is determined based on the minimum SO Book Date of 01/01/2019 in this example, so the reporting exchange rate is 0.90.

Example 3 - Allocation in reporting currency

In the following example, the transaction currencies are different so this contract is a multi-currency contract. The reporting currency is USD according to the REPORTING_CURRENCY profile. The MULTI_CURR_FV_REPORT_LEVEL profile is set to Lowest Common Currency.

Line No

SO Book Date

Company Code

Amount

T.Curr

F.Ex.Rate

F.Ex.Date

F.Curr

G.Ex.Rate

G.Ex.Date

G.Curr

1

01/01/2019

100

1000

EUR

1.0

01/01/2019

EUR

.80

01/01/2019

USD

2

01/02/2019

200

2000

GBP

1.0

01/02/2019

GBP

.70

01/02/2019

USD

3

01/03/2019

300

3000

USD

1.0

01/03/2019

USD

1.0

01/03/2019

USD

4

01/04/2019

400

4000

GBP

1.0

01/04/2019

GBP

.72

01/04/2019

USD

The functional currencies of all the lines are different so allocations happen in the reporting currency (USD). The reporting exchange rate, which is used to calculate allocations, is based on the line level exchange rates. When allocations are posted, RevPro derives the functional exchange rate based on 1/reporting exchange rate at the line level. The reporting currency exchange rate for posting is the line level reporting exchange rate.

Example 4 - Allocation in reporting currency with functional currency being the same

In the following example, the transaction currencies are different so this contract is a multi-currency contract. The reporting currency is USD according to the REPORTING_CURRENCY profile. The MULTI_CURR_FV_REPORT_LEVEL profile is set to Reporting Currency.

Line No

SO Book Date

Company Code

Amount

T.Curr

F.Ex.Rate

F.Ex.Date

F.Curr

G.Ex.Rate

G.Ex.Date

G.Curr

1

01/01/2019

100

1000

EUR

1.0

01/01/2019

EUR

.90

01/01/2019

USD

2

01/02/2019

100

2000

GBP

1.2

01/02/2019

EUR

.88

01/02/2019

USD

3

01/03/2019

100

3000

USD

1.3

01/03/2019

EUR

.85

01/03/2019

USD

4

01/04/2019

100

4000

GBP

1.4

01/04/2019

EUR

.82

01/04/2019

USD

Although the functional currencies for all lines are the same, allocations happen in the reporting currency (USD) as specified by the MULTI_CURR_FV_REPORT_LEVEL profile. The reporting exchange rate, which is used to calculate allocations, is based on the line level exchange rates. When allocations are posted, RevPro derives the functional exchange rate based on 1/reporting exchange rate at the line level. The reporting currency exchange rate for posting is the line level reporting exchange rate.

Related articles

An example is provided to explain how the carve amount is calculated after the allocation currency is determined for a multi-currency contract. See Derivation of carve amount.

To understand how the linking and delinking operations can impact the allocation currency, see the examples provided in Impact of linking and delinking.

Last modified

Tags

Classifications

(not set)