13 Improving Invoicing Performance

Learn how to improve invoicing performance in Oracle Communications Billing and Revenue Management (BRM).

Topics in this document:

Improving Performance by Customizing Search Results

By default, when generating invoices, BRM searches for all items and events in the database, regardless of whether they are included in the invoice. BRM performs the following search operations in steps, which means that it returns search results in blocks instead of returning all search results at one time:

  • Searches for the /bill object to retrieve the account summary information such as the bill number, billing cycle details, payment due date, and amount due.

  • Searches for items and events associated with the /bill object to retrieve billing information such as purchase fees, cycle fees, and usage fees.

  • Searches for all A/R items and events associated with the /billinfo object to retrieve A/R information such as adjustments, disputes, and refunds.

After the search operations are complete, BRM then categorizes the results and displays only the specified events and items on the invoice.

You can improve performance by using the CM configuration file entries inv_item_fetch_size and inv_event_fetch_size to change the number of items and events returned in a block of search results.

  1. Open the CM configuration file (BRM_home/sys/cm/pin.conf).

  2. Change the value of the inv_item_fetch_size entry.

    The default is 10000.

  3. Change the value of the inv_event_fetch_size entry.

    The default is 10000.

  4. Stop and restart the CM.

To customize the search operation (for example, to search for specific items or to omit a step), use the PCM_OP_INV_POL_SELECT policy opcode. See BRM Opcode Guide.

Improving Performance by Customizing Event Caching

You can improve performance by limiting the amount of information cached. However, when retrieving information, it is quicker to read from a cached field than from the event table. To customize event caching, you can change the fields that are cached, or disable event caching.

By default, BRM caches the fields shown in Table 13-1. To change the fields that are cached, use the PCM_OP_ACT_POL_SPEC_EVENT_CACHE policy opcode. See BRM Opcode Guide.

Table 13-1 Cached Invoicing Fields

Field Description

PIN_FLD_AMOUNT

The account balance impact. The value can be positive or negative.

PIN_FLD_DISCOUNT

The discount applied to the balance impact.

PIN_FLD_IMPACT_TYPE

Balance impact type - rated by BRM rated-engine (0x1), pre-rated (0x2), taxed (0x4), purchase order (0x8), re-rated(0x20), and reverse_rated(0x40).

PIN_FLD_ITEM_OBJ

Link to the item object affected by this event. Applies only to the balance array element that impacts currency balances. (This may be different from the PIN_FLD_ITEM_OBJ field in the base /event object.)

PIN_FLD_QUANTITY

The quantity applied. The number of units actually applied using this charge.

PIN_FLD_RATE_TAG

Description of the charge used. Same as PIN_FLD_DESCR in the /rate object.

PIN_FLD_RESOURCE_ID

Numeric value of the balance element that is impacted.

PIN_FLD_TAX_CODE

Tax code for the charge used. When taxes do not apply, this field is set to 0.

You can also disable event caching. To do so:

  1. Open the CM configuration file (BRM_home/sys/cm/pin.conf).

  2. Set the event_cache entry to 0:

    - fm_inv   event_cache   0

    Note:

    If this entry is set to any other value or is not present in the file, invoicing assumes there is data in the event cache and produces invoices without event details.

  3. Save and close the file.

  4. Stop and restart the CM.

Improving Performance by Removing Invoice Details You Do Not Need

By default, BRM invoices include billing details, such as usage items, device details, and tax totals, which helps customers understand the charges on their invoices. If your company does not offer telephony services or if your company does not want to publish certain details on invoices, you can improve invoicing performance by configuring BRM to retrieve only the invoice details needed.

To do so, you use a CM configuration file entry to specify the details to exclude from your invoices:

  • Exclude device details from invoices. Improves performance by configuring BRM to skip the device search and the totaling of balance impacts per device.

    Note:

    Do not exclude device details if any of the accounts in your system contain devices; otherwise, accounts with devices will have incorrect invoices.

  • Exclude tax totals from invoices. Improves performance by configuring BRM to skip the aggregation of tax totals. Exclude tax totals only if you do not have tax in the entire system and you will not perform A/R actions with taxes.

    Note:

    When you exclude tax totals from invoices, the Taxes and Surcharges line in the invoice Summary of Current Charges section is set to 0.00.

  • Exclude package, bundle, and charge offer pricing details from invoices. Improves performance by configuring BRM to skip the retrieval of package, bundle, and charge offer pricing details from the BRM database. When you exclude that information, invoices do not include package names, detail names, or Siebel CRM promotion names.

  • Exclude balance group details. Improves performance by configuring BRM to skip the search for balance group details.

    Note:

    When you exclude balance group details, invoices do not include noncurrency balances.

To improve invoicing performance:

  1. Open the CM configuration file (BRM_home/sys/cm/pin.conf).

  2. Set the inv_perf_features entry to the appropriate value:

    - fm_inv inv_perf_features FlagValue
    

    where FlagValue is a bitmap flag that specifies the details to exclude from your invoices. Each bit position controls a specific feature. To use multiple features, you must OR the bitmaps. For example, to exclude balance impact details, device details, and tax total details from your invoices, set FlagValue to 0x00003010.

    • 0x00000010 includes balance impact details from invoices.

    • 0x00000800 improves search performance.

    • 0x00001000 excludes device details from invoices.

    • 0x00002000 excludes tax totals from invoices.

    • 0x00004000 excludes package, bundle, charge offer pricing details from invoices.

    • 0x00008000 excludes balance group details from invoices.

  3. Save and close the file.

  4. Stop and restart the CM.