5 Giving Refunds to Customers

In Oracle Communications Billing and Revenue Management (BRM), you create refunds to return money that your company owes to its customers.

Topics in this document:

About Refunds

You can give customers a refund whenever your company owes them money. Unlike an adjustment, which credits the customer's account balances, a refund returns money that your company owes a customer directly to the customer.

Refunds for BRM-initiated payments return money to the direct debit or credit card account the customer uses to make payments. For customers who pay invoices, your company makes a refund by check or other externally initiated payment method.

Note:

You cannot refund suspended payments.

Giving refunds to customers is a two-step process. You first create refunds as refund items in the BRM database. You then run the pin_refund utility to deposit the refunds and close the refund items.

There are two ways to create refund items:

  • Use Billing Care or Customer Center to create refund items for individual accounts. You can create refunds for accounts or bills that have a credit balance.

  • Use the pin_mass_refund utility to create refund items for all accounts that have a credit balance (that is, all accounts that your company owes money to).

When creating a refund item, the BRM evaluates the open bill items and A/R action items for the account, transfers credit among the items to close as many as possible, creates a refund item to contain the remaining credit, and closes the remaining open items that had a credit in Due.

When you refund an account whose bill unit is nonpaying, the refund is applied to the account that owns the paying parent bill unit. BRM associates the refund item with the parent bill unit's balance group that has the greatest amount due. If the parent bill unit has no amount due, the refund item is associated with the default balance group of the account that owns the parent bill unit. For more information about bill unit hierarchies, see "Managing Account and Bill Unit Hierarchies" in BRM Managing Customers.

Creating Refund Items for All Accounts with a Credit Balance

Run the pin_mass_refund utility to create a refund item for accounts that have a credit balance. See "pin_mass_refund".

Include the pin_mass_refund utility in any of the billing scripts, such as pin_bill_day. Run the pin_mass_refund utility before you run the pin_refund utility. See "Running the Billing Scripts" in BRM Configuring and Running Billing.

Giving Refunds for BRM-Initiated Payments

Run the pin_refund utility to give refunds to all accounts that have open refund items. See "pin_refund".

You do not specify start and end date parameters when you run this utility. If you miss a billing day, the pin_refund utility processes all existing refund items.

The pin_refund utility is included by default in the pin_bill_day, pin_bill_week, and pin_bill_month scripts. For information about these billing scripts, see "Running the Billing Scripts" in BRM Configuring and Running Billing.

Note:

When you use multiple clearing house vendors, you run this utility for each clearing house.

Giving Refunds for Externally Initiated Payments

To make refunds for externally initiated payments, you first create the refund items. You then make the refund payments by check or by an externally initiated payment method.

Create the payments outside of your BRM system and then manually record them in BRM by using Payment Tool.

Tip:

You can create a custom application that finds refund items and sends the amount and account identification to a check-writing program.

Specifying the Minimum Amount to Refund

You can specify the minimum amount to give as a refund. The pin_refund billing utility processes refund items with an amount greater than the minimum you specify.

The minimum value is expressed in terms of the account currency. By default, the minimum amount is 2.

To specify the minimum amount to refund:

  1. Open the CM configuration file (BRM_home/sys/cm/pin.conf) in a text editor.

  2. Change the value of the minimum_refund entry. For example, to process refund items only for amounts greater than 3:

    - fm_pymt_pol minimum_refund 3
  3. Save the file.

You do not need to restart the CM to enable this entry.

Defining Nonrefundable Items

By default, only refund items are nonrefundable. To make other credit items nonrefundable, run the pin_bus_params utility to change the NonrefundableCreditItems business parameter. See "pin_bus_params" in BRM Developer's Guide for more information.

To add nonrefundable item types:

  1. Go to BRM_home/sys/data/config.

  2. Create an XML file from the /config/business_params object:

    pin_bus_params -r BusParamsAR bus_params_AR.xml  
  3. In the XML file, add the nonrefundable /item objects after the /item/refund entry, separated by commas:

    <NonrefundableCreditItems>/item/refund</NonrefundableCreditItems>

    Note:

    Do not remove /item/refund.

  4. Save the file as bus_params_AR.xml.

  5. Load the XML file into the BRM database:

    pin_bus_params bus_params_AR.xml  
  6. Stop and restart the CM.

  7. (Multischema systems only) Run the pin_multidb script with the -R CONFIG parameter. For more information, see "pin_multidb" in BRM System Administrator's Guide.

Reversing Refunds

If a refund fails, you can reverse the refund. Refunds can fail because of returned checks and invalid credit cards.

Note:

  • You can reverse only failed refunds.

  • A refund can be reversed only once. You cannot reverse a refund that has been reversed before.

To reverse a refund, write a custom application that calls the PCM_OP_AR_REVERSE_REFUND opcode. See "Reversing Refunds" in BRM Opcode Guide.