2 Adjusting Multiple Accounts Simultaneously

In Oracle Communications Billing and Revenue Management (BRM), you can adjust multiple paying accounts simultaneously.

Topics in this document:

Adjusting Multiple Accounts Simultaneously

In some situations, you may want to adjust multiple paying accounts simultaneously. For example, if regular daily rates were mistakenly applied during a holiday discount period, you would most likely want to perform adjustments for all accounts that used the service over the holiday.

This type of adjustment is called a bulk adjustment. To perform a bulk adjustment, create a file that lists each account that should receive the bulk adjustment and provides information about the adjustment. You then run the pin_apply_bulk_adjustment utility to perform the adjustments based on the data in the file.

The file also specifies whether the adjustment is taxable. BRM bases tax calculation on the full adjustment amount for each account. Depending on how adjustment taxation is configured, BRM may apply the adjustment tax reversal when the bulk adjustment runs or send the adjustment amount for deferred taxation during the next billing run.

When BRM processes a bulk adjustment, it performs each adjustment as a separate transaction. Therefore, there is no need to roll back the successful adjustments if some adjustments fail. BRM reports any accounts that failed the bulk adjustment in a log file. All CSV records that failed to process due to an incorrect format or due to server-side errors are written to an error file. The default name of this file is pin_mta_failed.csv. The names and locations of these files can be defined in the pin_apply_bulk_adjustment pin.conf file.

The file is in CSV format and is typically supplied by an external source program. CSV is a standard file format that uses commas as field delimiters and line breaks as record delimiters. CSV files should contain no blank lines. CSV files used for bulk adjustments are typically generated by an external program, and the records must use the following format:

account_POID, adjustment_amount, balance_group_POID, tax_flag, tax_code, tax_supplier_ID, balance_element_ID, end_time, reason_code_domain, reason_code, description

Note:

A CSV record should not contain the line break implied above. Line breaks should occur at the end of each record.

Consider these guidelines:

  • The account_POID, adjustment_amount, and balance_element_ID fields are mandatory. You can omit any of the other fields. If you omit any field in a record (including those at the end of the record), you must still include the associated comma so BRM can keep track of which field it is processing.

  • If you omit the balance_group_POID, BRM adjusts the default balance group.

  • The tax_flag field indicates whether the adjustment requires tax reversal. If the flag is set to 1, the adjustment does not need tax reversal. If the flag is set to 2, the adjustment includes a tax reversal. If you omit this field, the adjustment occurs without a tax reversal.

  • The balance_element_ID is the numeric code for the balance element you are adjusting (for example, 840 for US dollars). You can specify currency or noncurrency balance elements.

  • The format for the end_time field is MM/DD/YYYY. BRM uses midnight for the date you specify as the time stamp for the adjustment.

  • If you include a reason_code_domain, you must also include a reason_code, and the reverse.

  • If the description field includes any commas, you must enclose the field in quotation marks ("). Quotation marks are optional for description fields that do not include commas.

The following CSV file segment shows a bulk adjustment with tax:

0.0.0.1 /account 15269 0, -9.5, 0.0.0.1 /balance_group 12901 0, 2, , , 840, , , , Rate issue
0.0.0.1 /account 12581 0, -9.5, 0.0.0.1 /balance_group 16165 0, 1, , , 840, , , , Rate issue
0.0.0.1 /account 15557 0, 10, , , , , 1000010, 04/26/2004, 12, 5, "Service drop, fix this"

In the preceding example, the first record specifies an adjustment with a tax reversal against the currency balance element for a specific balance group. The adjustment amount is $9.50. The second record specifies a similar adjustment, except that this adjustment has no tax reversal. The last record specifies an adjustment of 10 free domestic minutes to the account's default balance group. BRM does not apply a tax reversal for this adjustment.

To run bulk adjustments, generate a CSV file and then run the "pin_apply_bulk_adjustment" utility to load the file into the database.

  1. Generate the CSV file and check it for format problems and spurious blank lines.

  2. Use the following command to run the pin_apply_bulk_adjustment utility:

    pin_apply_bulk_adjustment -f input_file.csv

    where input_file is the file name and path of your input file.

  3. Check the pin_bulk_adjust.pinlog file for any failed adjustments.

    The bulk adjustment application generates an intermediate file in flist format. The default name of this file is pin_mta_search.flist.

    All of the CSV records that failed to process due to the wrong format or server-side errors are written to an error file. The default name of this file is pin_mta_failed.csv.

    The names and locations of these files are defined in the pin_apply_bulk_adjustment pin.conf file.