Costs and multicurrency

The rating engine rates the coverables in the coverage currency and returns cost data to PolicyCenter. PolicyCenter converts the cost data into Cost objects. PolicyCenter stores the currency and the amount on Amount properties on the Cost, for example Cost.ActualAmount. The Amount properties are of MonetaryAmount type which has properties for an amount and a currency. If necessary, PolicyCenter coverts the amounts to the settlement currency. The rating engine then stores the amounts in duplicate billing amount properties (AmountBilling) on the Cost entity, for example Cost.ActualAmountBilling. If the coverage currency differs from the settlement currency, the rating engine also stores a pointer to the exchange rate. The Cost.CurrencyChanged Boolean property is set to true if the PolicyCenter converted the currency on the cost.

The convertCostsToSettlementCurrency method in the AbstractRatingEngineBase class performs the currency conversion and stores the converted amounts in duplicate AmountBilling properties.

The duplicate amount properties on the Cost entity are:

Property

Description

ActualAmountBilling

The ActualAmount in the settlement currency for accounting and reporting.

StandardAmountBilling

The StandardAmount in the settlement currency for accounting and reporting.

OverrideAmountBilling

The OverrideAmount in the settlement currency for accounting and reporting.

ActualTermAmountBilling

The ActualTermAmount in the settlement currency for accounting and reporting.

StandardTermAmountBilling

The StandardTermAmount in the settlement currency for accounting and reporting.

OverrideTermAmountBilling

The OverrideTermAmount in the settlement currency for accounting and reporting.

PolicyFXRate

If the coverage currency is not the same as the settlement currency, this property contains a foreign key to a copy of the exchange rate from the exchange rate service. PolicyCenter uses this PolicyFXRate to convert the as-rated costs from the coverage currency to billing costs in the settlement currency. When you configure PolicyCenter, do not keep more than one copy of the same PolicyFXRate on a single policy period.

As shown in the following object model diagram, the policy period has an array of exchange rates used for monetary amount conversion. This array is PolicyPeriod.PolicyFXRates.



Each FXRate object records an exchange rate and the time that it was obtained from the market. Exchange rates can vary over the life of the policy, come from different sources, or cover different currency pairs, therefore the policy period maintains an array of exchange rates.

The following table describes some of the properties on the PolicyFXRate object:

Property

Description

Rate  

The exchange rate at which one currency can be converted to another.

MarketTime  

The time at which the market indicated the rate went into effect.

RetrievedAt

The time at which the quotation was obtained from the market.

FromCurrency

The currency to convert from.

ToCurrency

The currency to convert to.

Market  

The exchange rate market, FXRateMarket, which set the rate.

PolicyPeriod

A foreign key to the policy period to which this object belongs.