9 Managing System and Account Currencies

Learn how to set up system currencies and account currencies in Oracle Communications Billing and Revenue Management (BRM).

Topics in this document:

About System and Account Currencies

You specify two types of currency in your BRM system:

  • System currency: The default currency for your entire database. It is typically the currency of the country where your BRM system is installed. Every BRM installation includes a system currency. The default system currency is US Dollars (ISO code 840).

  • Account currency: The currency for a specific customer account. For example, a customer living in France has euro as the account currency. All payments, balance impacts, and billing adjustments use the customer's account currency.

    The account currency is set by the customer or customer service representative (CSR) when the account is created.

    Note:

    • You cannot change an account currency after the account has been created.

    • An account can have only one primary currency. If a customer requires two primary currencies, you need to create two accounts for that customer.

    • A nonpaying bill unit (/billinfo object) or account must use the same account currency as the parent account.

Your price list might include balance impacts in the system currency, which might be different from a customer's account currency. If so, BRM needs to convert the system currency that is used for rating to the customer's account currency before making an impact on the customer's account balance. Currency conversion takes effect in real time by using the following process:

  1. When an event is rated, the balance impact is calculated by using the system currency.

  2. The balance impact is converted to the customer's account currency and added to the balance.

By default, when rating an event, BRM tries to use a charge created for the account currency. If BRM cannot find a charge that uses the account currency, BRM searches for one that uses the system currency. If it cannot find one that uses the system currency, it continues to the next charge offer in priority order to rate the event.

Setting the System Currency

The default system currency is US Dollars (ISO code 840). To use US Dollars as the system currency, you do not have to do anything.

Note:

If your system currency is not US Dollars, you must set the system currency during installation. After installing BRM, you cannot change the system currency unless you use an SQL query, a method that BRM does not support.

To set the system currency to a currency other than US Dollars, do not preconfigure BRM during installation. Instead, edit the $PIN_CONF_SYS_CURRENCY entry in the pin_setup.values file and run the setup script.

Example of changing the system currency to the euro:

$PIN_CONF_SYS_CURRENCY = 978;

For more information, see "Installing BRM" in BRM Installation Guide.

Setting the Default Account Currency

The default account currency is used when a currency is not specified at account creation.

  1. Open the Connection Manager (CM) configuration file (BRM_home/sys/cm/pin.conf). BRM_home is the directory in which the BRM server software is installed.

  2. Change the value of the currency entry.

    For example, to change currency from US Dollars to British Pounds, change 840 to 826:

    - fm_cust_pol currency 826  
  3. Save and close the file.

  4. Stop and restart the CM.

Supporting a New Currency

To add a currency balance element, use PDC or Pricing Center. For more information, see "Configuring Balance Elements" in PDC Creating Product Offerings or Pricing Center Help.

To support a currency, you need to know its ISO currency code such as 840 for US Dollars. To find ISO currency codes, refer to the ISO 3166 standard.

Note:

The ISO currency codes are listed in the BRM_home/include/pin_currency.h file.

Using Multiple Currencies in Your Product Offerings

When you create your product offerings, you specify the currency for charges. Most charges use the system currency.

Customers can purchase charge offers that are rated with the system currency or with their account currency. The balance impacts, however, must use the account currency. There are two ways to accomplish this:

  • Allow BRM to translate all currencies to the account currency.

  • Create charge offers for each currency.

Converting currencies can result in fluctuating charges based on fluctuating exchange rates. Table 9-1 shows how exchange rates can cause variations in how much a customer pays for the same event, even if the amount charged by the charge offer stays the same.

Table 9-1 Effect of Exchange Rate Variation

Charge in System Currency Exchange Rate What Customer Pays in Account Currency

10

1 - 1.1

11

10

1 - 1.2

12

10

1 - .9

9

If you are contractually obligated to maintain consistent charges, you might need to create charge offers in multiple currencies.

For example, to charge for broadband access time, you could create charge offers that include broadband usage charge pricing with different currency balance impacts. There are advantages to this approach:

  • You do not have to update the currency conversion rates.

  • Your customers are billed in consistent amounts that do not change with exchange rates.

  • When customers create an account, they see prices in a familiar currency.

    Note:

    To create multiple charge offers using different currencies, create a set of charge offers for one currency, and then use the Product Creation wizard to copy the charge offers for each currency.

Changing Currency Conversion Rates

BRM stores conversion rate information in the /config/currency/conversionrates object. You must update the object when conversion rates change.

The object can store conversion rates that apply to multiple time periods. For example, you could have different rates for the period from January 1st through July 31st, and the period from August 1st through October 31st.

At CM startup, BRM caches the /config/currency/conversionrates object. To support accurate conversion for suspended payments, the entire object, including all conversion rates, is cached. When you recycle a suspended payment, BRM uses the conversion rate that was valid for the period when the payment was originally made.

It's important therefore to configure the /config/currency/conversionrates object to include conversion rates for all time periods that might be relevant to suspended payments.

Note:

Include only conversion rates for time periods that are required to support suspended payments. If the /config/currency/conversionrates object includes a very large number of conversion rates, caching it can consume significant amounts of memory.

By default, the conversion rates for EMU currencies to euro and for euro to EMU currencies is preconfigured and loaded into the database when BRM is installed.

You define the conversion rates and their time periods by adding PIN_FLD_CUR_RATES_TIMEFRAMES arrays to the /config/currency/conversionrates object. There is a separate array for each time period. The rates themselves are defined in the PIN_FLD_CUR_CONV_RATES array in PIN_FLD_CUR_RATES_TIMEFRAMES. The time periods are defined by PIN_FLD_START_T and PIN_FLD_END_T fields.

Note:

Stop and restart the CM after editing the object.