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). You can calculate taxes for account groups in two ways. Taxes can be calculated for each nonpaying child bill unit and listed as separate items on the parent bill, or consolidated into a single item for the parent and nonpaying bill units.
Specify how BRM calculates taxes for account groups by using the CycleTaxInterval business parameter.
Note:
Regardless of the option you use, Bill Now always rolls activities for each nonpaying bill unit (/billinfo) into the parent bill unit and calculates taxes for the parent only. The parent’s single tax item includes taxes from both the parent and nonpaying bill units.
-
Go to BRM_home/sys/data/config.
-
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.xmlThis 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.
-
In bus_params_billing.xml.out, set the following entry:
<CycleTaxInterval>value</CycleTaxInterval>where value is one of the following:- billing: Consolidates taxes into a single item for the paying parent and nonpaying child bill units. Total tax is calculated at the parent level using the aggregated total due.
- accounting: Calculates taxes per nonpaying child bill unit; the total is the sum of taxes 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. -
Save and exit the file.
-
Rename the bus_params_billing.xml.out file to bus_params_billing.xml.
-
Use the following command to load your changes into the /config/business_params object:
pin_bus_params bus_params_billing.xmlYou 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.
-
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.
-
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
For U.S. customers, the tax rate is partially determined by the customer’s ZIP code. If the ZIP code is invalid or belongs to 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 setting the tax_valid entry in the CM pin.conf file to the appropriate package value. 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.
-
Vertex O Series validates city, state, and ZIP codes.
To specify a tax package to validate addresses:
-
Open the CM configuration file (BRM_home/sys/cm/pin.conf).
-
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.
6
BRM uses Vertex O Series to validate the ZIP code.
(The Taxation Gateway server must be running.)
For example:
- fm_cust_pol tax_valid 3 -
Save and close the file.
-
Stop and restart the CM.
Reporting Zero Tax Amounts
By default, when taxation returns a zero amount, BRM does not report the tax amount and does not create the TAX_JURISDICTIONS array. However, legal requirements in some jurisdictions demand that zero tax amounts be reported.
To configure BRM to report zero taxes:
-
In the CM configuration file (BRM_home/sys/cm/pin.conf), set the include_zero_tax entry to 1:
- fm_rate include_zero_tax 1 -
Stop and restart the CM.
To itemize taxes so zero-tax lines appear by jurisdiction:
-
In the CM pin.conf file, set the tax_return_juris entry to itemize:
- fm_rate tax_return_juris itemize -
Stop and restart the CM.
Reporting Taxes of Zero Percent
When a charge's tax rate is zero percent, BRM reports a zero tax percentage and sets 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 is used for tax calculation.
To configure whether BRM reports a zero tax percentage amount:
-
Go to BRM_home/sys/data/config.
-
Create an XML file from the /config/business_params object:
pin_bus_params -r BusParamsBilling bus_params_billing.xml -
In the file, set the ExcludePercentForZeroTaxAmt parameter:
<ExcludePercentForZeroTaxAmt>value</ExcludePercentForZeroTaxAmt>where value is:
-
enabled: BRM reports a zero tax percentage amount.
-
disabled: BRM does not report zero tax percentage amounts.
-
-
Save this file as bus_params_billing.xml.
-
Load the XML file into the BRM database:
pin_bus_params bus_params_billing.xml -
Stop and restart the CM.
Enabling and Disabling Taxation Globally
You can enable or disable BRM taxation globally by using the taxation_switch entry in the BRM_home/sys/cm/pin.conf file. 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:
Deferred taxation procedures are triggered even if taxation features are not configured. Disabling taxation can improve performance. You can toggle taxation for testing when BRM is configured for taxation.
To enable or disable taxation globally:
-
Open the CM pin.conf file.
-
Set taxation_switch to one of the following:
-
0: Disable tax calculation entirely.
-
1: Enable only real-time tax calculation.
-
2: Enable only deferred (cycle-time) tax calculation.
-
3: (Default) Enable both real-time and deferred tax calculation.
For example, this specifies to enable real-time tax calculation only:
- fm_bill taxation_switch 1 -
-
Save and close the file.
-
Stop and restart the CM.
Configuring Taxation in Pricing Center
For each rate plan in Pricing Center, specify:
-
The tax code to apply.
-
When to apply the tax code: during real-time rating or billing.
To assign taxation to specific rate plans:
-
Open a real-time rate plan in Pricing Center.
-
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 Rate Plan Properties Dialog Box"
Configuring Taxation in loadpricelist
To assign the tax calculation method for a rate plan by using loadpricelist, create a price list XML file and set the rate plan’s tax_when flag to one of the following:
-
NEVER: Do not calculate or apply taxes.
-
NOW: Calculate and apply taxes when the event occurs.
-
DEFER: Defer tax calculation until the end of the billing cycle.
-
DYNAMIC: Defer tax calculation until the end of the billing cycle but use the tax rate from the event time. 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, load it into the BRM database by 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
You can also configure the default values for simple, fixed-rate taxes (for example, GST or VAT) directly in Oracle Communications Elastic Charging Engine.
For more information, see "Configuring Taxation in ECE" in ECE Implementing Charging.