5 Creating Tax Exemptions
In Oracle Communications Billing and Revenue Management (BRM), you use tax exemptions to remove tax liability (either entirely or partially) from a charge. For example, you use tax exemptions to exempt a customer account from all tax liability.
Topics in this document:
-
Creating Product-Level Tax Exemption Codes Using ImportExportPricing (Patch Set 6 and Later)
-
Creating Tax Exemption Selectors Using ImportExportPricing (Patch Set 6 and Later)
See "About Tax Exemptions" for more information.
About Creating Tax Exemptions for an Account
You can apply account-level tax exemptions after an account has been created by using the following:
-
Billing Care. For information, see "Adding Tax Exemptions" in Billing Care Online Help.
-
A custom client application calling the PCM_OP_CUST_SET_TAXINFO opcode. For information, see "Adding Tax Information to Accounts" in BRM Opcode Guide.
-
A custom client application calling the Update an Account's Tax Settings endpoint in the Billing Care REST API. For information, see REST API Reference for Billing Care.
Note:
Because tax exemptions can be applied only after creating an account, tax exemptions do not apply to charges incurred when you create an account.
About Creating Tax Exemptions for Products
You configure product-level tax exemptions by first creating tax exemption codes, which define the exemption rate for each tax jurisdiction level. You then create a tax exemption selector that assigns tax exemption codes to product purchases based on one or more account, service, event, and profile attributes.
To create product-level tax exemptions:
-
Create one or more tax exemption codes using the following:
-
(Patch Set 8 and Later) The Pricing Design Center (PDC) UI. See "Creating Tax Exemption Codes" in PDC Online Help.
- (Patch Set 6 and Later) The ImportExportPricing utility. See "Creating Product-Level Tax Exemption Codes Using ImportExportPricing (Patch Set 6 and Later)".
-
-
Create one or more tax exemption selectors using the following:
-
(Patch Set 8 and Later) The PDC UI. See "Creating a Tax Exemption Selector" in PDC Online Help.
- (Patch Set 6 and Later) The ImportExportPricing utility. See "Creating Tax Exemption Selectors Using ImportExportPricing (Patch Set 6 and Later)".
-
After configuring your tax exemptions, you can associate tax exemption selectors with your charge offers.
Creating Product-Level Tax Exemption Codes Using ImportExportPricing (Patch Set 6 and Later)
In Patch Set 6 and later releases, you can create tax exemption codes in an XML file and publish it to PDC, BRM, and Elastic Charging Engine (ECE) using the ImportExportPricing utility.
To create tax exemption codes using ImportExportPricing:
-
Define your tax exemption codes in an XML file. You can base your tax exemption codes on those provided in the Sample_Tax_Exemption_Code.xml file available in the PDC_home/apps/Samples/Examples directory, where PDC_home is the directory in which the PDC software is installed.
The file contains examples of tax exemption codes for different jurisdictions. See "Creating an XML File for Tax Exemption Codes (Patch Set 6 and Later)" for more information about the XML elements in the file.
- Import the XML file into PDC using the ImportExportPricing
utility:
ImportExportPricing -import -config MyTaxExemptions.xml [-ow]
where MyTaxExemptions is the name of the XML file where you defined the tax exemption codes.
To modify existing tax exemption codes, include the -ow parameter.
See "Importing Pricing and Setup Components" and "ImportExportPricing" in PDC Creating Product Offerings for more information about the utility's syntax and parameters.
The ImportExportPricing utility publishes the tax exemption codes to the PDC database, the real-time rating engine (RRE), and ECE.
Note:
You cannot publish tax exemption codes to the batch rating engine (BRE).Creating an XML File for Tax Exemption Codes (Patch Set 6 and Later)
In BRM 12.0 Patch Set 6 and later, you can implement tax exemption codes by defining them in an XML file that you import into PDC. In the file, you enter a tax exemption code and then assign criteria such as a validity date and jurisdiction to it.
The following XML example shows tax exemption codes:
<?xml version="1.0" encoding="UTF-8"?> <cim:ConfigObjects xmlns:cim="http://xmlns.oracle.com/communications/platform/model/Config"> <taxExemptionCodes> <name>US Tax Exemption</name> <description>Tax Exemption for US</description> <priceListName>Default</priceListName> <code>USATaxExemptionCode</code> <taxExemptionCodeMaps> <validFrom>20010101</validFrom> <validTo>20321231</validTo> <percent>0.375</percent> <jurisdiction>FEDERAL</jurisdiction> </taxExemptionCodeMaps> <taxExemptionCodeMaps> <validFrom>20100101</validFrom> <validTo>20301231</validTo> <percent>0.75</percent> <jurisdiction>LOCATION</jurisdiction> </taxExemptionCodeMaps> <taxExemptionCodeMaps> <percent>0.5</percent> <jurisdiction>STATE</jurisdiction> </taxExemptionCodeMaps> <taxExemptionCodeMaps> <validFrom>20080601</validFrom> <validTo>20280531</validTo> <percent>0.25</percent> <jurisdiction>COUNTY</jurisdiction> </taxExemptionCodeMaps> </taxExemptionCodes> <taxExemptionCodes> <name>India Tax Exemption</name> <description>Tax Exemption for India</description> <priceListName>Default</priceListName> <code>IndiaTaxExemptionCode</code> <taxExemptionCodeMaps> <validFrom>20080101</validFrom> <percent>0.675</percent> <jurisdiction>FEDERAL</jurisdiction> </taxExemptionCodeMaps> <taxExemptionCodeMaps> <percent>0.725</percent> <jurisdiction>LOCATION</jurisdiction> </taxExemptionCodeMaps> <taxExemptionCodeMaps> <validFrom>20200101</validFrom> <validTo>20301231</validTo> <percent>0.25</percent> <jurisdiction>STATE</jurisdiction> </taxExemptionCodeMaps> </taxExemptionCodes> </cim:ConfigObjects>
Table 5-1 describes the important XML elements specific to tax exemption codes.
Table 5-1 XML Elements in the Tax Exemption File
Element | Description |
---|---|
name | The name of the tax exemption code. |
description | A description of the tax exemption code. |
priceListName | The name of the price list to which the exemption applies. |
code | The name of the relevant tax exemption code. It is a unique alphanumeric value that defines categories with different tax treatments. |
validFrom | The start date of the validity period for the tax exemption code in
yyyymmdd format.
Note: You can use multiple validity periods to create different rates for a single tax exemption code, but the validity periods must not overlap. |
validTo | The end date of the validity period for the tax exemption code in yyyymmdd format. |
percent | The tax exemption amount in decimal format. For example, 0.5 means 50%. |
jurisdiction | The jurisdiction level for which this rate is applicable. Values are FEDERAL, STATE, COUNTY, CITY, and LOCATION. |
Creating Tax Exemption Selectors Using ImportExportPricing (Patch Set 6 and Later)
In Patch Set 6 and later releases, you can create tax exemption selectors in an XML file and publish them to PDC, BRM, and ECE using the ImportExportPricing utility.
To implement tax exemption selectors using ImportExportPricing:
-
Define your tax exemption selectors in an XML file. You can base them on the sample tax exemption selectors provided in the PDC_home/apps/Samples/Examples/SampleTaxExemptionSelector.xml file.
See "Creating an XML File for Tax Exemption Selectors (Patch Set 6 and Later)" for more information about the XML elements in the file.
-
Import the XML file into PDC using the ImportExportPricing utility:
ImportExportPricing -import -pricing MyTaxExemptionSelectors.xml
where MyTaxExemptionSelectors is the name of the XML file where you defined the tax exemption selectors.
The ImportExportPricing utility publishes the tax exemption selectors to the PDC database, real-time rating engine (RRE), and ECE.
Note:
You cannot publish tax exemption selectors to the batch rating engine (BRE).Creating an XML File for Tax Exemption Selectors (Patch Set 6 and Later)
In BRM 12.0 Patch Set 6 and later, you can implement tax exemption selectors by defining them in an XML file that you import into PDC. In the file, you enter a tax exemption selector and then define the rules for assigning tax exemption codes to product purchase events.
The following sample XML shows how to create tax exemption selectors:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <pdc:PricingObjectsJXB xmlns:pdc="http://xmlns.oracle.com/communications/platform/model/pricing"> <taxExemptionSelector xmlns:pdc="http://xmlns.oracle.com/communications/platform/model/pricing"> <name>Sample TaxExemptionSelector</name> <description>Sample TaxExemptionSelector</description> <pricingProfileName>Product Offering</pricingProfileName> <priceListName>Default</priceListName> <obsolete>false</obsolete> <stereoType>TAX_EXEMPTION_SELECTOR</stereoType> <productSpecName>TelcoGprs</productSpecName> <eventSpecName>EventSessionTelcoGprs</eventSpecName> <customerSpecName>Account</customerSpecName> <validityPeriod> <validFrom>0</validFrom> <rule> <name>TES_rule1</name> <result> <resultName>USATaxExemptionCode</resultName> </result> <fieldToValueExpression> <operation>EQUAL_TO</operation> <seperator>;</seperator> <fieldName>TelcoGprs.GPRS_INFO.ROUTING_AREA</fieldName> <fieldValue>National</fieldValue> <fieldKind>PRODUCT_SPEC_FIELD</fieldKind> </fieldToValueExpression> <fieldToValueExpression> <operation>EQUAL_TO</operation> <seperator>;</seperator> <fieldName>EventSessionTelcoGprs.TELCO_INFO.PRIMARY_MSID</fieldName> <fieldValue>PMSID10248112193</fieldValue> <fieldKind>EVENT_SPEC_FIELD</fieldKind> </fieldToValueExpression> <fieldToValueExpression> <operation>IN_LIST</operation> <seperator>;</seperator> <fieldName>EventBillingProductFeeCycleCycle_forward_monthly.CYCLE_INFO.CYCLE_START_T</fieldName> <fieldValue>20100101</fieldValue> <fieldKind>EVENT_SPEC_FIELD</fieldKind> </fieldToValueExpression> <fieldToValueExpression> <operation>IN_LIST</operation> <seperator>;</seperator> <fieldName>EventBillingProductFeeCycleCycle_forward_monthly.CYCLE_INFO.CYCLE_END_T</fieldName> <fieldValue>20301231</fieldValue> <fieldKind>EVENT_SPEC_FIELD</fieldKind> </fieldToValueExpression> <fieldToValueExpression> <operation>EQUAL_TO</operation> <seperator>;</seperator> <fieldName>AnyEvent.USAGE_TYPE</fieldName> <fieldValue>Downlink</fieldValue> <fieldKind>EVENT_SPEC_FIELD</fieldKind> </fieldToValueExpression> <fieldToValueExpression> <operation>EQUAL_TO</operation> <seperator>;</seperator> <fieldName>Account.ACCOUNT_NO</fieldName> <fieldValue>ID12221521</fieldValue> <fieldKind>CUSTOMER_SPEC_FIELD</fieldKind> </fieldToValueExpression> </rule> <rule> <name>TES_rule2</name> <result> <resultName>IndiaTaxExemptionCode</resultName> </result> <fieldToValueExpression> <operation>EQUAL_TO</operation> <seperator>;</seperator> <fieldName>TelcoGprs.GPRS_INFO.ROUTING_AREA</fieldName> <fieldValue>SouthWest</fieldValue> <fieldKind>PRODUCT_SPEC_FIELD</fieldKind> </fieldToValueExpression> <fieldToValueExpression> <operation>EQUAL_TO</operation> <seperator>;</seperator> <fieldName>EventSessionTelcoGprs.TELCO_INFO.PRIMARY_MSID</fieldName> <fieldValue>PMSID10265018152</fieldValue> <fieldKind>EVENT_SPEC_FIELD</fieldKind> </fieldToValueExpression> <fieldToValueExpression> <operation>IN_LIST</operation> <seperator>;</seperator> <fieldName>EventBillingProductFeeCycleCycle_forward_monthly.CYCLE_INFO.CYCLE_START_T</fieldName> <fieldValue>20200101</fieldValue> <fieldKind>EVENT_SPEC_FIELD</fieldKind> </fieldToValueExpression> <fieldToValueExpression> <operation>IN_LIST</operation> <seperator>;</seperator> <fieldName>EventBillingProductFeeCycleCycle_forward_monthly.CYCLE_INFO.CYCLE_END_T</fieldName> <fieldValue>20321231</fieldValue> <fieldKind>EVENT_SPEC_FIELD</fieldKind> </fieldToValueExpression> <fieldToValueExpression> <operation>EQUAL_TO</operation> <seperator>;</seperator> <fieldName>AnyEvent.USAGE_TYPE</fieldName> <fieldValue>Uplink</fieldValue> <fieldKind>EVENT_SPEC_FIELD</fieldKind> </fieldToValueExpression> <fieldToValueExpression> <operation>EQUAL_TO</operation> <seperator>;</seperator> <fieldName>Account.ACCOUNT_NO</fieldName> <fieldValue>ID22220531</fieldValue> <fieldKind>CUSTOMER_SPEC_FIELD</fieldKind> </fieldToValueExpression> </rule> </validityPeriod> </taxExemptionSelector> </pdc:PricingObjectsJXB>
Table 5-2 describes the important XML elements specific to tax exemption selectors.
Table 5-2 XML Elements in the Tax Exemption Selector File
Element | Description |
---|---|
name | The name of the tax exemption selector. |
description | A description of the tax exemption selector. |
pricingProfileName |
The pricing profile to associate with the tax exemption selector. |
priceListName | The name of the price list to which the selector applies. |
stereoType | The type of pricing object: TAX_EXEMPTION_SELECTOR. |
productSpecName |
The service type to which the tax exemption selector applies. |
eventSpecName |
The event type to which the tax exemption selector applies. |
customerSpecName |
The tag to use when the service type is Account. |
validityPeriod |
Indicates when the rules in the tax exemption selector are valid. The default effective period starts immediately and never ends. |
name |
The name of a rule. |
resultName | The name of the tax exemption code to apply when all criteria in the rule is met. |
operation | The operator to apply. Values are EQUAL_TO and IN_LIST. |
seperator |
The character that is used to separate the field values, such as a semicolon (;). |
fieldName |
The name of the field to evaluate. |
fieldValue |
The required value of the field. |
fieldKind |
The type of attributes to be selected for assigning the tax exemption code. The valid values are: EVENT_SPEC_FIELD, PRODUCT_SPEC_FIELD, CUSTOMER_SPEC_FIELD, and PROFILE_SPEC_FIELD. |