Skip to main content

Sync currency exchange rate for billing documents

Zuora

Sync currency exchange rate for billing documents

For multi-currency transactions, Zuora Billing uses either Invoice Post Date or Invoice Date as the exchange rate date for billing transactions depending on which date is earlier. In addition, Zuora Billing gives you the flexibility to customize the currency conversion configuration based on your business requirements. However, Zuora Revenue uses Invoice Date as the exchange rate date by default. The behavior discrepancy between Zuora Billing and Zuora Revenue can potentially result in issues when you reconcile two systems.

So we recommend that you sync the transaction-level exchange rate from Zuora Billing into Zuora Revenue. It guarantees that the exchange rate for billing transactions is consistently used across the two systems. The RevPro3.0 Billing Fxrate Sync Process program is provided and can be scheduled to run on a daily basis.

Prerequisites

To sync the exchange rate for billing items from Zuora Billing into Zuora Revenue, complete the following configuration on both applications.

Zuora Billing configuration

  • Ensure that the Currency Conversion feature has been enabled for your Zuora tenant. Contact Zuora Support to enable this feature.
  • Navigate to Finance Settings > Manage Currency Conversion in the Zuora UI to select the Automatically include additional Currency Conversion information in data source exports check box. For more information, see Manage Currency Conversion.

Zuora Revenue configuration

  • Ensure that the value for the KS_ENABLE_ZBILL_EXCHG_RATE profile is set to Y. This profile indicates whether to sync the exchange rate from Zuora Billing. The default value is Y. Navigate to Setups > Application > Profiles in the Zuora Revenue UI to check its value.
  • (Optional): Configure the BILLING_EXCHANGE_RATE_DATE profile as needed. This profile is set to Latest Rate Available by default. If you change this profile to Rate On Specified Date, the rate on the SO date will be used for SO transactions and the rate on the invoice date will be used for billing transactions. If the exchange rate on the SO date or invoice date is not available, an error message will be displayed.

Run RevPro3.0 Billing Fxrate Sync Process

The RevPro3.0 Billing Fxrate Sync Process program can be run as ad-hoc jobs or be scheduled to run on a regular basis. To run or schedule this program, navigate to Reports > Schedule Jobs. For step-by-step instructions, see Schedule jobs. You might need to specify the following parameters to run or schedule this program.

Program parameter Description
from_date Specifies the start date of the time range when the exchange rate will be synced to Zuora Revenue. This parameter is required only for ad-hoc jobs. For scheduled jobs, the program will automatically sync the exchange rate for the previous day.
to_date Specifies the end date of the time range when the exchange rate will be synced to Zuora Revenue. This parameter is required only for ad-hoc jobs. For scheduled jobs, the program will automatically sync the exchange rate for the previous day.
currencies Determines the currencies for which the exchange rate will be synced. This parameter is not mandatory. The program can automatically identify the active currencies in Zuora Billing to sync exchange rates.
entity_id

Determines the Zuora Billing entity for which the exchange rate will be synced. This parameter is not required if there is only one entity in Zuora Billing. If there are multiple entities in Zuora Billing, whether this parameter is required depends on how the exchange rate is extracted and uploaded:

  • If the exchange rate is extracted and uploaded in the global entity, this parameter is not required.
  • If the exchange rate is extracted and uploaded for individual entities, this parameter is mandatory. The program must be scheduled for each entity because only one entity ID can be specified in each schedule.

Result

As a result, the following fields are obtained from Zuora Billing using data source or AQuA and first synced into Zuora Revenue Pre-staging tables:

  • <Object>.ExchangeRate
  • <Object>.ExchangeRateDate

The <Object> can be one of the following supported Zuora Billing objects:

  • InvoiceItem
  • InvoiceItemAdjustment
  • CreditMemoItem
  • DebitMemoItem

Examples

For example, a transaction is conducted in EUR through Zuora Billing, but the home currency for your Zuora tenant is USD. You use Oanda as the exchange rate provider.

  • The Invoice Date for this transaction is January 1, 2019, where the exchange rate is 0.75.
  • The Invoice Post Date for this transaction is December 31, 2018, where the exchange rate is 0.77.

After you have completed the configuration to sync exchange rates from Zuora Billing to Zuora Revenue, the transaction line in Zuora Revenue is as below:

Transaction Transaction amount Currency Home currency Invoice date Exchange Rate Exchange Rate Date
INV 100 EUR USD 2019-01-01 0.77 2018-12-31

Without the preceding Zuora Billing settings and Zuora Revenue profile being correctly configured, no exchange rate is synced. Zuora Revenue populates the exchange rate on the invoice date during data transformation. If the exchange rate on the invoice date is not available in the system, Zuora Revenue uses the last available exchange rate.

In this case, the data that is synced to Zuora Revenue Pre-staging tables is as follows:

Transaction Transaction amount Currency Home currency Invoice Date
INV 100 EUR USD 2019-01-01

After data transformation, the exchange rate is populated automatically. The corresponding transaction line in Zuora Revenue Staging tables is as follows:

Transaction Transaction amount Currency Home currency Invoice Date Exchange Rate
INV 100 EUR USD 2019-01-01 0.75

Because Zuora Billing uses 0.77 as the exchange rate, the billing data mismatch occurs between Zuora Billing and Zuora Revenue. Therefore, it is recommended that you sync the exchange rate from Zuora Billing into Zuora Revenue. By doing so, Zuora Revenue uses the same exchange rate as Zuora Billing, which avoids the data discrepancy between the two systems.