2 Calculating Taxes for Accounts Receivable Actions

Learn how Oracle Communications Billing and Revenue Management (BRM) calculates taxes for adjustments, disputes, and settlements.

Topics in this document:

About Taxation for Adjustments, Disputes, and Settlements

You can configure how BRM calculates taxes for adjustments, disputes, and settlements, such as whether tax reversals occur when account adjustments are created or at billing time.

You can specify whether to perform an adjustment, dispute, or settlement with or without taxes at the account, bill, item, and event level. For taxable account, bill, and item adjustments, BRM uses information supplied by a tax configuration file to calculate the tax reversal for the account.

If you include taxes in an A/R action and:

  • Billing has already occurred: Taxes are always calculated when you create the adjustment, dispute, or settlement.

  • Billing has not occurred: The tax amount is applied only if the item has real-time taxes. If the item has deferred taxes, the tax amount is calculated and applied at billing time.

To ensure tax calculations are performed correctly for adjustments, disputes, settlements, and write-offs:

  • Configure a separate item for taxes exclusively. See "Cumulative Custom Item for Taxes" in BRM Configuring and Running Billing.

  • All events associated with an item must use the same tax method: tax now or tax deferred. Nontaxable events are valid in either taxation scenario.

About Adjustment Tax and Billing Cycles

If the adjustment occurs at the account, subscription service, or member service level, BRM uses the total amount of the adjustment without consideration of the specific events that are included in the adjustment.

For bill, item, and event adjustments, BRM distinguishes between items and events that need real-time taxes and those that need deferred taxes. If some adjusted items or events are nontaxable, BRM omits them from the deferred amount that it will transfer for taxation during billing. BRM also proportions the deferred amount for partial adjustments according to how much of an adjustment was actually granted.

About Dispute and Settlement Taxes and Billing Cycles

For bill and item disputes and settlements, real-time taxes are applied when you create the dispute or settlement. When processing a dispute or settlement with deferred taxes, BRM determines whether the original item has been billed. If billing has not yet occurred, BRM has not levied the tax for the original item. In this case, there is no need to apply the taxes separately because the dispute or settlement will have acted on the balance of the original item before BRM ever calculates the taxes for that item.

However, if the dispute or settlement is opened against an item already billed, the customer has already been charged tax. In this case, BRM must specifically accommodate the dispute or settlement tax. BRM defers applying the tax reversal amount until you run billing.

BRM proportions the deferred amount for partial disputes and settlements by the relative size of the dispute or settlement.

Configuring Tax Calculation for Adjustments, Disputes, and Settlements

Depending on tax law, jurisdictions, and other factors, you may need to specify whether to apply a tax reversal when performing certain adjustments, disputes, and settlements. For example, the law may require that you reverse taxes for any adjustment you apply to a charge for a call placed outside the country, but not require you to reverse taxes for adjustments to prepaid balances.

As a prerequisite for this configuration, you must load a /config/ar_taxes object that defines tax treatment parameters for each event type. BRM uses this object to enrich the adjustment, dispute, and settlement opcode flists with the tax information needed to calculate the tax reversal.

After loading the pin_config_ar_taxes.xml file, you have the following options:

  • If you use Customer Center for accounts receivable operations, you can configure a default tax treatment for adjustments, disputes, and settlements. Customer Center uses this configuration to determine whether these activities always have a tax reversal, never have a tax reversal, or have a tax reversal at the CSR's discretion. See "Configuring the Default Tax Treatment for Customer Center".

  • If you don't use Customer Center to make adjustments, you can edit the CM pin.conf file to configure BRM to specify that tax reversals occur at the time account adjustments are created rather than deferring them until billing. See "Configuring the Default Tax Method for Account Adjustments".

    If you use Customer Center, the tax reversal entry in the pin.conf file is ignored. Instead, you use the Customer Center Configurator to set up the tax treatment.

Before you load the tax configuration, you must first load the tax suppliers. See "About Tax Suppliers".

The pin_config_ar_taxes.xml file provides information on the tax supplier and tax code for each adjustment, dispute, and settlement event type.

  • The tax suppliers you specify in the pin_config_ar_taxes.xml file must be listed in the tax_supplier_map file.

  • The tax code you use in the pin_config_ar_taxes.xml file must be present in the taxcodes_map file. The tax code is mapped to a package that calculates tax for that charge offer type, and can be a numeric or descriptive string.

For information on tax suppliers, tax codes, and the associated map files, see "Creating Tax Suppliers".

The pin_config_ar_taxes.xml file must follow all standard XML formatting rules. The following example shows a typical pin_config_ar_taxes.xml file.

Note:

The <Name> field in the sample identifies the tax supplier.

<?xml version="1.0" encoding="UTF-8" ?> 
  <AccountReceivablesConfiguration>
    <TaxConfigurationList>
      <TaxConfiguration>
        <Event>/event/billing/adjustment/item</Event>
        <Name>ABC Inc - California branch</Name>
        <TaxCode>usage</TaxCode>
      </TaxConfiguration>
      <TaxConfiguration>
        <Event>/event/billing/dispute/item</Event>
        <Name>ABC Inc - California branch</Name>
        <TaxCode>usage</TaxCode>
      </TaxConfiguration>
      <TaxConfiguration>
        <Event>/event/billing/settlement/item</Event>
        <Name>ABC Inc - New Jersey branch</Name>
        <TaxCode>usage</TaxCode>
      </TaxConfiguration>
      <TaxConfiguration>
        <Event>/event/billing/adjustment/account</Event>
        <Name>ABC Inc - Illinois branch</Name>
        <TaxCode>cycle</TaxCode>
      </TaxConfiguration>
    </TaxConfigurationList>
  </AccountReceivablesConfiguration>

To load the tax configuration:

  1. Edit the sample pin_config_ar_taxes.xml file in the BRM_home/sys/data/config directory.

    You can rename the file and save it to a different directory.

  2. Save the pin_config_ar_taxes.xml file.

  3. Use the following command to run the load_pin_ar_taxes utility:

    load_pin_ar_taxes -f input_file.xml

    where input_file.xml is the name and path to the XML file.

  4. Stop and restart the Connection Manager (CM) and, if necessary, your client application.

To verify that the pin_config_ar_taxes.xml file was loaded, you can display the /config/ar_taxes object by using the Object Browser, or use the robj command with the testnap utility. See "Reading an Object and Writing Its Contents to a File" in BRM Developer's Guide.

Configuring the Default Tax Treatment for Customer Center

If you are using Customer Center as your CRM application, you can configure a default tax treatment for adjustments, disputes, and settlements. Customer Center uses this configuration to determine whether these activities always have a tax reversal, never have a tax reversal, or have a tax reversal at the CSR's discretion. Configuring a default tax treatment can help you enforce uniform tax treatments for a given location and eliminate the need for a decision by the CSR.

You configure the tax treatment on the Balance tab in the Customer Center Configurator. This configuration overrides any tax treatment specification in the pin.conf file. To set up tax treatment for adjustments, disputes, and settlements, select one of the following options under Tax treatment on the Configurator Balance tab:

  • Include tax: Always perform a tax reversal for the adjustment, dispute, or settlement.

  • Exclude tax: Never perform a tax reversal for the adjustment, dispute, or settlement.

  • None: Allow the CSR to choose whether to include taxes.

For information on using the Customer Center Configurator Balance tab and the implications of these three options, see "Balance Configurator" in BRM Developer's Guide.

Configuring the Default Tax Method for Account Adjustments

You can configure BRM to calculate the tax for account adjustments using one of these methods:

  • Billing-time taxation: BRM defers tax calculation for all account adjustments until the end of the billing cycle. This is the default.

  • Adjustment-time taxation: BRM calculates taxes when an account adjustment is created.

  • Dynamic taxation: BRM defers tax calculation for all account adjustments until the end of the billing cycle. However, it calculates the tax using the tax rate at the time of the account adjustment. For example, if an account creates an adjustment on June 15 and with a billing date of June 30, BRM calculates the tax on June 30 using the tax rate from June 15. Dynamic taxation provides the benefits of billing-time taxation while allowing you to change tax rates during a billing cycle.

To configure the default tax method for account adjustments:

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

  2. Modify the tax_now parameter:

    -fm_ar tax_now value

    where value is set to one of the following:

    • 0: Billing-time taxation. This is the default value.

    • 1: Adjustment-time taxation.

    • 2: Dynamic taxation.

    • 3: Itemized taxation.

    Note:

    To ensure tax calculations are performed correctly, all events associated with an item must use the same tax method.

  3. Save and close the file.

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

Configuring Itemized Tax Information

If you choose, you can save tax information at the item level. To do this, set the ItemizedTaxCalculation business parameter to enabled. To configure this feature, run the pin_bus_params utility to change the ItemizedTaxCalculation business parameter. See "pin_bus_params" in BRM Developer's Guide for more information about this utility.

To configure whether BRM uses itemized taxation:

  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 ItemizedTaxCalculation parameter:

    <ItemizedTaxCalculation>value</ItemizedTaxCalculation>

    where value is:

    • enabled to have BRM store tax information at the item level.

    • disabled (default) to have BRM not use itemized taxation.

  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.

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

When you have enabled itemized tax calculation, the following information can be retrieved for each /item on a bill using the PCM_OP_AR_GET_ITEM_DETAIL opcode:

  • Settled tax amount
  • Settled taxed amount
  • Settled nontaxed amount
To enable itemized taxes during account adjustment, set the value of tax_now in BRM_home/sys/cm/pin.conf to 3. See "Configuring the Default Tax Method for Account Adjustments" for more information about setting this parameter. When this parameter is set to 3:
  • When the adjustment is made at the account level with tax, the behavior remains the same as when the feature is not enabled: that is, the tax will not be calculated, /event/billing/adjustment/account will only contain the charge value impact, and the adjustment amount will remain unallocated.
  • When the adjustment is allocated to an item, the tax will be calculated proportionately based on the tax applied for the destination item. A new /event/billing/adjustment/account will be created to record the tax billing impact, and the old adjustment event will be linked in the PIN_FLD_LINK_OBJ field of the new adjustment event.

If you have itemized taxation enabled and an event is rated with event-time tax, the event will contain one balance impact for the charge amount and another for the tax. The PIN_FLD_AMOUNT_TAXED and PIN_FLD_TAX fields in the /item will be updated accordingly.

If you have itemized taxation enabled and a bill or item-level adjustment occurs, the following processing will occur:
  • If the adjustment input flist contains the PIN_AR_WITH_TAX flag, then the tax will be calculated on the adjustment amount.
  • The proportionate tax amount for the items will be calculated from the PIN_FLD_TAXES field in PIN_FLD_TAX_DATA, instead of using the tax percent and tax code from /config/ar_taxes. The adjusted tax amount will be updated in the PIN_FLD_AMOUNT_TAX_ADJUSTED field of PIN_FLD_TAXES and then updated in PIN_FLD_TAX_DATA.

Items created before this feature is enabled will not contain the itemized information. After the feature has been enabled, the itemized information may be inaccurate for the billing cycle during which the feature is activated, because of events that occurred before the feature was enabled.