6 Configuring Tax Calculation Options

In Oracle Communications Billing and Revenue Management (BRM), you can configure global tax calculation settings.

Topics in this document:

Configuring Tax Calculation for Account Groups

In an account group, parent accounts always pay taxes for child accounts with nonpaying bill units (/billinfo objects). However, there are two ways to calculate taxes. Taxes can be calculated for each individual nonpaying child bill unit and can be listed as separate items on the parent bill, or taxes can be consolidated into a single item for both the parent and nonpaying bill units.

You specify how BRM calculates taxes for account groups by using the CycleTaxInterval business parameter.

Note:

Regardless of the option you select for the entry, Bill Now always rolls activities for each nonpaying bill unit (/billinfo object) into the parent bill unit and calculates taxes for the parent only. The single tax item for the parent includes taxes from both the parent and nonpaying bill units.

To specify how to calculate taxes for account groups:
  1. Go to BRM_home/sys/data/config.

  2. Use the following command to create an editable XML file from the billing instance of the /config/business_params object:

    pin_bus_params -r BusParamsBilling bus_params_billing.xml

    This command creates an XML file named bus_params_billing.xml.out in your current directory. If you do not want this file in your current directory, specify the path as part of the file name.

  3. In bus_params_billing.xml.out, set the following entry:

    <CycleTaxInterval>value</CycleTaxInterval>
    where value is one of the following:
    • billing: Specifies that taxes are consolidated into a single item for both the paying parent and nonpaying child bill unit. The total tax is calculated at the parent level for the entire hierarchy using an aggregated total due as its basis.
    • accounting: Specifies that taxes are calculated for each individual nonpaying child bill unit. The total tax is a summation of taxes that were calculated for each bill unit.

    The default value is accounting.

    Caution:

    BRM uses the XML in this file to overwrite the existing instance of the /config/business_params object. If you delete or modify any other parameters in the file, these changes affect the associated aspects of the BRM configuration.
  4. Save and exit the file.

  5. Rename the bus_params_billing.xml.out file to bus_params_billing.xml.

  6. Use the following command to load your changes into the /config/business_params object:

    pin_bus_params bus_params_billing.xml

    You should run this command from the BRM_home/sys/data/config directory, which includes support files used by the utility. To run it from a different directory, see "pin_bus_params" in BRM Developer's Guide.

  7. Read the object with the testnap utility or the Object Browser to verify that all fields are correct.

    For general instructions on using testnap, see "Using the testnap Utility to Test BRM" in BRM Developer's Guide. For information on how to use Object Browser, see "Reading Objects" in BRM Developer's Guide.

  8. Stop and restart the Connection Manager (CM).

    For more information, see "Starting and Stopping the BRM System" in BRM System Administrator's Guide.

Validating Customer Addresses

When taxes are calculated for customers in the United States, the tax rate is partially determined by the customer's ZIP code. If the customer's ZIP code is not correct and fails validation, or it is for a different state, the tax software calculates the taxes as 0.

To avoid this problem, you can configure BRM to validate the customer's state and ZIP code when the customer creates an account.

Some third-party tax packages provide address validation. You can enable address validation by specifying which package to use for the tax_valid entry in the CM pin.conf file. The validation performed depends on the software you specify:

  • Vertex Sales Tax Q Series validates city, state, and ZIP codes.

  • Vertex Communications Tax Q Series does not support address validation. If you configure BRM to use Communications Tax Q Series for validation, it always returns a positive result.

To specify a tax package to validate addresses:

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

  2. Set the value of the tax_valid entry to one of the values in Table 6-1.

    Table 6-1 tax_valid Values

    Value Description

    0

    BRM does not check the ZIP code. This is the default value.

    3

    BRM uses Vertex Sales Tax Q Series to validate the ZIP code.

    (The Vertex DM must be running.)

    4

    No effect. BRM uses Communications Tax Q Series to validate the ZIP code, but Communications Tax Q Series does not perform any validation. A positive result is always returned.

    For example:

    - fm_cust_pol tax_valid 3
  3. Save and close the file.

  4. Stop and restart the CM.

Reporting Zero Tax Amounts

By default, when a zero amount is returned from taxation, BRM does not report the tax amount and the TAX_JURISDICTIONS array is not created for the event. However, legal requirements in some jurisdictions demand that zero tax amounts be reported.

To configure BRM to report zero taxes:

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

  2. Uncomment the fm_rate include_zero_tax entry and change the value of the entry to 1:

    - fm_rate include_zero_tax 1
  3. Save and close the file.

  4. Stop and restart the CM.

If multiple taxes, including zero taxes, are reported from the same jurisdiction, they are aggregated by default. This may hide the effect of reporting zero taxes. To prevent zero taxes from being hidden in this way, you should configure BRM to itemize taxes by jurisdiction.

To configure BRM to itemize all taxes by jurisdiction:

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

  2. Change the value of the following entry to itemize:

    - fm_rate tax_return_juris itemize
  3. Save and close the file.

  4. Stop and restart the CM.

Reporting Taxes of Zero Percent

When a charge's tax rate is zero percent, BRM reports a 0 tax percentage rate and sets the PIN_FLD_BAL_IMPACTS to 0 by default. To configure this feature, run the pin_bus_params utility to change the ExcludePercentForZeroTaxAmt business parameter. For more information about this utility, see "pin_bus_params" in BRM Developer's Guide.

Note:

This business parameter applies to flat taxes and custom tax implementations only. It does not apply when Vertex Manager is used for tax calculation.

To configure whether BRM reports a zero tax percentage amount:

  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 file, set the ExcludePercentForZeroTaxAmt parameter:

    <ExcludePercentForZeroTaxAmt>value</ExcludePercentForZeroTaxAmt>

    where value is:

    • enabled to have BRM report a zero tax percentage amount.

    • disabled to have BRM not report zero tax percentage amounts.

  4. Save this file as bus_params_billing.xml.

  5. Load the XML file into the BRM database:

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

Enabling and Disabling Taxation Globally

You can turn BRM taxation on and off globally by using the taxation_switch entry in the CM configuration file (BRM_home/sys/cm/pin.conf). You can choose to enable real-time tax calculation, deferred tax calculation, or both (the default setting). You can also disable tax calculation entirely.

Note:

Because deferred taxation procedures are triggered even if BRM is not configured to use taxation features, turning taxation off can improve performance. If BRM is configured for taxation, you can turn taxation off and on for testing.

To enable or disable taxation globally:

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

  2. Set the value of the taxation_switch entry:

    • 0: Tax calculation is entirely disabled.

    • 1: Only real-time tax calculation is enabled.

    • 2: Only deferred (cycle-time) tax calculation is enabled.

    • 3: (Default) Both real-time and deferred tax calculations are enabled.

    For example, this specifies to enable real-time tax calculation only:

    - fm_bill taxation_switch 1
  3. Save and close the file.

  4. Stop and restart the CM.

Configuring Taxation in Pricing Center

You can specify the following for each rate plan that you create in Pricing Center:

  • The tax code to apply

  • When to apply the tax code: during real-time rating or billing

To assign taxation to specific rate plans:

  1. Open a real-time rate plan in Pricing Center.

  2. In the Rate Plan Properties dialog box, specify when to calculate taxes and which tax code to apply as shown in Figure 6-1.

    Figure 6-1 Rate Plan Properties Dialog Box

    Description of Figure 6-1 follows
    Description of "Figure 6-1 Rate Plan Properties Dialog Box"

Configuring Taxation in loadpricelist

To assign the tax calculation method for a specific rate plan using loadpricelist, create a price list XML file and set each rate plan's tax_when flag to one of the following:

  • NEVER: Does not calculate and apply taxes.

  • NOW: Calculates and applies taxes when an event occurs.

  • DEFER: Defers tax calculation for an account until the end of its billing cycle.

  • DYNAMIC: Defers tax calculation until the end of a billing cycle, but uses the tax rate from the time the event occurred. For example, if an account purchases a product on June 15 but its billing cycle ends on June 30, BRM would perform the tax calculation on June 30 but use the tax rate from June 15.

For example, the following specifies to apply dynamic taxation to a rate plan:

<rate_plan tax_when="DYNAMIC">
...
</rate_plan>

After you create the price list XML file, you load it into the BRM database using the loadpricelist utility. For more information, see "Using the XML Pricing Interface to Create a Price List" in BRM Setting Up Pipeline Pricing.

Configuring Tax Calculation in ECE

ECE supports a fixed tax rate (a flat-rate taxation also known as GST or VAT). In ECE, you can apply a tax on both charges and alterations (discounts).

To configure taxation in ECE:

  1. Access the ECE configuration MBeans in a JMX editor, such as JConsole. See "Accessing ECE Configuration MBeans" in ECE Implementing Charging for more information.

  2. Expand the ECE Configuration node.

  3. Expand charging.taxation.

  4. Expand Operations.

  5. Click addTaxDetails.

  6. Specify values for the following attributes:

    Note:

    These attributes are mandatory. You must set all of them when configuring taxation.

    • taxCode: Enter the tax code used by the charge offer or discount offer to which the tax applies.

      The tax code is used by charge offers and discount offers to point to the tax rate that must be applied when a usage request is processed for the charge offer or discount offer.

      Enter the same tax code entered in PDC or Pricing Center when the taxation section of the charge offer and discount offer was defined.

    • taxRate: Enter the tax rate to apply.

      For example, entering 0.20 applies a 20% tax on the total usage impact.

    • taxGlId: Enter the General Ledger ID used for the tax impact.

  7. Specify an additional taxCode, taxRate, and taxGlId value for each charge offer or discount offer to which a tax applies.