Writeoff of Account Fails After Event Level Adjustment (Doc ID 2077348.1)

Last updated on NOVEMBER 30, 2015

Applies to:

Oracle Communications Billing and Revenue Management - Version 7.4.0.1.0 and later
Information in this document applies to any platform.

Symptoms

On :  7.4.0.22.0 version, Accounts Receivable (AR)

The requirement: When an adjustment is made on a written-off account, the user needs to reverse the write-off, apply the adjustment, and write-off the account again.
                            This is similar to how payments are implemented on written-off accounts in BRM out of the box.

After making an event level adjustment, an error occurs during write-off.

ERROR
-----------------------
E Wed Mar 16 01:20:39 2016  machine  cm:10305  fm_bill_utils_beid.c:1108 1:machine:testnap:10303:-143160576:922:1439573340:1
       fm_utils_round_amount error
       <location=PIN_ERRLOC_PCM:1 class="PIN_ERRCLASS_APPLICATION":4 errno=PIN_ERR_NULL_PTR:39>
       <field num=0:0,0 recid=0 reserved=0 reserved2=0 time(sec:usec)=0:0>
       <facility=0 msg_id=1001 version=0>
E Wed Mar 16 01:20:39 2016  machine  cm:10305  fm_ar_item_writeoff.c:3333 1:machine:testnap:10303:-143160576:922:1439573340:1
       fm_bill_consider_event_adj_new error
       <location=PIN_ERRLOC_FLIST:6 class="PIN_ERRCLASS_SYSTEM_DETERMINATE":1 errno=PIN_ERR_NOT_FOUND:3>
       <field num=PIN_FLD_BAL_IMPACTS:9,256 recid=0 reserved=0 reserved2=0 time(sec:usec)=0:0>
       <facility=0 msg_id=0 version=0>
E Wed Mar 16 01:20:39 2016  machine  cm:10305  fm_ar_item_writeoff.c:1828 1:machine:testnap:10303:-143160576:922:1439573340:1
       fm_bill_new_writeoff error
       <location=PIN_ERRLOC_FLIST:6 class="PIN_ERRCLASS_SYSTEM_DETERMINATE":1 errno=PIN_ERR_NOT_FOUND:3>
       <field num=PIN_FLD_BAL_IMPACTS:9,256 recid=0 reserved=0 reserved2=0 time(sec:usec)=0:0>
       <facility=0 msg_id=0 version=0>
E Wed Mar 16 01:20:39 2016  machine  cm:10305  fm_ar_item_writeoff.c:3173 1:machine:testnap:10303:-143160576:922:1439573340:1
       ebuf error
       <location=PIN_ERRLOC_FLIST:6 class="PIN_ERRCLASS_SYSTEM_DETERMINATE":1 errno=PIN_ERR_NOT_FOUND:3>
       <field num=PIN_FLD_BAL_IMPACTS:9,256 recid=0 reserved=0 reserved2=0 time(sec:usec)=0:0>
       <facility=0 msg_id=0 version=0>
E Wed Mar 16 01:20:39 2016  machine  cm:10305  fm_ar_item_writeoff.c:3083 1:machine:testnap:10303:-143160576:922:1439573340:1
       ebuf error
       <location=PIN_ERRLOC_FLIST:6 class="PIN_ERRCLASS_SYSTEM_DETERMINATE":1 errno=PIN_ERR_NOT_FOUND:3>
       <field num=PIN_FLD_BAL_IMPACTS:9,256 recid=0 reserved=0 reserved2=0 time(sec:usec)=0:0>
       <facility=0 msg_id=0 version=0>
E Wed Mar 16 01:20:39 2016  machine  cm:10305  fm_ar_item_writeoff.c:789 1:machine:testnap:10303:-143160576:922:1439573340:1
       op_ar_item_writeoff policy validation error
       <location=PIN_ERRLOC_FLIST:6 class="PIN_ERRCLASS_SYSTEM_DETERMINATE":1 errno=PIN_ERR_NOT_FOUND:3>
       <field num=PIN_FLD_BAL_IMPACTS:9,256 recid=0 reserved=0 reserved2=0 time(sec:usec)=0:0>
       <facility=0 msg_id=0 version=0>


PRICING
-----------------------
For the MRC products: $50 per month for product 1, $8 per month for product 2
One-time: $90 charge

STEPS
-----------------------
Aug 01, create account, purchase MRCs, run billing (almost like a bill now)
Sep 01, run billing
Sep 02, account goes into collections (I don't think the collections scenario has anything to do with the issue), I would ignore this.
Oct  01, run billing
Nov 01, run billing
Nov 13, cancel the MRC products
Nov 18, apply a one-time fee product
Dec 01, run billing
Jan  01, run billing
Feb 01,  run billing
Mar 01,  run billing
Mar 14,  write off account
Mar 15,  apply adjustment on one-time fee product (full credit amount) --> this applies the adjustment, reverses the write off, and does a writeoff again (for a lesser amount: original writeoff - adjustment amount)

This is all done within "the wrapper" which includes the following opcodes:
1. PCM_OP_AR_EVENT_ADJUSTMENT
2. PCM_OP_AR_REVERSE_WRITEOFF
3. PCM_OP_AR_ACCOUNT_WRITEOFF

The user has an utility function that reassesses the account makes a decision based on business requirements. One of those requirements is to re-writeoff the account if it was written off.

The system uses Vertex for taxes and it is set at 10% flat charges, so when doing the adjustment, the user sets it for $90 but it is on a taxable event, so the total for the adjustment is $99.


Changes

There are a few customizations in the tax handling. The user has multiple taxcodes and they will generate GST and potentially GST+PST in geographic locations. The user has policy code to push this into the actual tax type (GST, PST, HST, QST) because this is how it is grouped on the invoice and this is how it is pushed into the books.

For example:

    0 PIN_FLD_POID           POID [0] 0.0.0.1 /event/billing/cycle/tax 294493194383960875 1
    0 PIN_FLD_BAL_IMPACTS   ARRAY [0] allocated 22, used 22
    1     PIN_FLD_AMOUNT       DECIMAL [0] 5
    1     PIN_FLD_TAX_CODE        STR [0] "GST"
    0 PIN_FLD_BAL_IMPACTS   ARRAY [1] allocated 22, used 22
    1     PIN_FLD_AMOUNT       DECIMAL [0] 0.8
    1     PIN_FLD_TAX_CODE        STR [0] "GST"
    ......
    0 PIN_FLD_TAXES         ARRAY [0] allocated 20, used 7
    1     PIN_FLD_TAX_CODE        STR [0] "cable"
    0 PIN_FLD_TAXES         ARRAY [1] allocated 20, used 7
    1     PIN_FLD_TAX_CODE        STR [0] "cable_exxx"

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