8 Configuring 31-Day Billing

Learn how to enable Oracle Communications Billing and Revenue Management (BRM) to use all 31 days in a month as the billing day of month (DOM).

Topics in this document:

About Using 31-Day Billing

By default, you can set the billing day of month (DOM) to any day between 1 and 28. If your customer signs up on the 29th, 30th, or 31st, the billing DOM is set to the 1st. This can result in a large number of customers being billed on the 1st of the month.

You can change this setting to support billing on all days of the month. For example, if you create a customer account on the 29th, the billing DOM is set to the 29th instead of the 1st.

If your customers' billing DOM is the 29th, 30th, or 31st, for the months that do not have these days, you can configure whether billing should be run on the last day for the same month (set to back option) or the first day of the next month (set to forward option). By default, the billing DOM is set forward to the 1st of the next month.

For example, when the DOM is set to 31, because April has 30 days:

  • The set to forward option sets the billing date to May 1.

  • The set to back option sets the billing date to April 30.

Enabling the 31-Day Billing Feature

To use 31-day billing, you must either modify the init_objects.source file before loading it into the database or set the 31DayBilling business parameter in the billing instance by running the pin_bus_params utility. For information on this utility, see BRM Developer's Guide. After BRM is configured to allow 31-day billing, you can specify to use the set to back option or the set to forward option.

Switching to 31-Day Billing During BRM Installation

Before loading init_objects.source, change the value of the PIN_FLD_MAXIMUM field from 28 to 31 in the /config/fld_validate object that has the Actg_cycle value in the PIN_FLD_NAME field as follows:

# /config/fld_validate  - Actg_cycle validation
<PCM_OP $PIN_OPNAME=$PIN_CONF_INIT_OPNAME; $PIN_OPFLAGS=$PIN_CONF_INIT_OPFLAGS>
0 PIN_FLD_POID                 POID [0] $PIN_CONF_DB_NO /config/fld_validate 606 0
0 PIN_FLD_DESCR                 STR [0] "Field Validation"
0 PIN_FLD_HOSTNAME              STR [0] "-"
0 PIN_FLD_NAME                  STR [0] "Actg_cycle"
0 PIN_FLD_PROGRAM_NAME          STR [0] "-"
0 PIN_FLD_VALIDATION      SUBSTRUCT [0]
1 PIN_FLD_FIELD_TYPE            INT [0] 2
1 PIN_FLD_MAXIMUM               NUM [0] 31
1 PIN_FLD_MINIMUM               NUM [0] 31
</PCM_OP> 

Note:

When you upgrade to a new BRM release, ensure that you make this change in the new init_objects.source file. The installation program overwrites the init_objects.source file, and the changes you have made will be lost.

Switching to 31-Day Billing After You Install BRM

To switch to 31-day billing after you have installed BRM, set the 31DayBilling business parameter in the billing instance by running the pin_bus_params utility.

To enable the 31-day billing feature:

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

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

    pin_bus_params -r BusParamsBilling bus_params_billing.xml 
    
  3. In the XML file, set the following entry to enabled:

    <31DayBilling>enabled</31DayBilling>
    
  4. Load the XML file into the BRM database:

    pin_bus_params bus_params_billing.xml
    
  5. Stop and restart the CM.

Disabling the 31-Day Billing Feature

To disable the 31-day billing feature:

  1. In the init_objects.source file, change the value of the PIN_FLD_MAXIMUM field from 31 to 28 in the /config/fld_validate object that has the Actg_cycle value in the PIN_FLD_NAME field as follows:

    # /config/fld_validate  - Actg_cycle validation
    <PCM_OP $PIN_OPNAME=$PIN_CONF_INIT_OPNAME; $PIN_OPFLAGS=$PIN_CONF_INIT_OPFLAGS>
    0 PIN_FLD_POID                 POID [0] $PIN_CONF_DB_NO /config/fld_validate 606 0
    0 PIN_FLD_DESCR                 STR [0] "Field Validation"
    0 PIN_FLD_HOSTNAME              STR [0] "-"
    0 PIN_FLD_NAME                  STR [0] "Actg_cycle"
    0 PIN_FLD_PROGRAM_NAME          STR [0] "-"
    0 PIN_FLD_VALIDATION      SUBSTRUCT [0]
    1 PIN_FLD_FIELD_TYPE            INT [0] 2
    1 PIN_FLD_MAXIMUM               NUM [0] 28
    1 PIN_FLD_MINIMUM               NUM [0] 31
    </PCM_OP> 
  2. Go to BRM_home/sys/data/config.

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

    pin_bus_params -r BusParamsBilling bus_params_billing.xml 
    
  4. In the bus_params_billing.xml XML file, set the following entry to disabled:

    <31DayBilling>disabled</31DayBilling>
    
  5. Load the XML file into the BRM database:

    pin_bus_params bus_params_billing.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 BRM System Administrator's Guide.

Setting the Forward and Back Billing Options

To set the forward and back billing options, run the pin_bus_params utility to change the MoveDayForward business parameter. For information on this utility, see BRM Developer's Guide.

To configure the billing DOM:

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

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

    pin_bus_params -r BusParamsBilling bus_params_billing.xml 
    
  3. If you want to set the billing date to the first day of the month, set the value of MoveDayForward to firstDay in the XML file. This is the default.

    <MoveDayForward>firstDay</MoveDayForward>
    
  4. If you want to set the billing date to the last day of the month, set the value of MoveDayForward to lastDay in the XML file.
    <MoveDayForward>lastDay</MoveDayForward>
    
  5. Load the XML file into the BRM database:

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