Prorate Scale Is Not Calculating Correctly (Doc ID 1393470.1)

Last updated on SEPTEMBER 26, 2016

Applies to:

Oracle Communications Billing and Revenue Management - Version 7.4.0.0.0 to 7.4.0.0.0 [Release 7.4.0]
Information in this document applies to any platform.
***Checked for relevance on 08-APR-2014***

Symptoms

A product with cycle_forward_monthly event to charge prorated amount $0.75 is created. Purchased this product 9 days before billing date. It is expected that BRM calculates the prorate amounts as below:

prorate scale = days_to_prorate / days_in_month = 9 / 30 = 0.3
prorated amount = prorate_scale * amount = 0.3 * $0.75 = $0.225
amount after rounding = $0.23

But, the results are as below:

prorate scale (from /event) = 0.299999999999999
prorated amount = 0.299999999999999 * $0.75 = $0.22499999999999925
amount after rounding = $0.22

The difference is 0.01, and this is causing bill comparison differences.

Steps to Reproduce

1.  Configure a product with cycle_forward_monthly event to charge $0.75
2.  Set the prorate flag and prorate_first and prorate_last to "prorate"
3.  Purchase the product for an account 9 days before billing date
4.  Check the MRC event for the amount
5.  Expected Prorated Amount = $0.23, where as actual amount was $0.22

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms