The tax service providers tax calculation APIs get the input from the view ZX_O2C_CALC_TXN_INPUT_V. For the list of available attributes refer to the view description in the Oracle E-Business Suite Electronic Technical Reference Manual.
Tax service providers require some attributes that do not exist as standard columns in the E-Business Suite tables or can be mapped to an attribute out of two or more potential attribute in E-Business Suite. To achieve this, view ZX_O2C_CALC_TXN_INPUT_V has some extra columns. There are tax functions that populate the values of these extra columns in the tables ZX_PRVDR_HDR_EXTNS_GT and ZX_PRVDR_LINE_EXTNS_GT used for the view.
The packages ARP_TAX_VIEW_TAXWARE and ARP_TAX_VIEW_VERTEX contain the tax functions for Taxware and Vertex respectively. These tax functions contain default logic that can be re-written for an installation. The tax functions are called from the procedures in the packages ZX_TAXWARE_USER_PKG and ZX_VERTEX_USER_PKG, which insert records in ZX_PRVDR_HDR_EXTNS_GT and ZX_PRVDR_LINE_EXTNS_GT tables.
The table below contains the tax functions contained in ARP_TAX_VIEW_TAXWARE ARP_TAX_VIEW_VERTEX packages and the values assigned to Vertex and Taxware API parameters by the calling procedures in the packages ZX_TAXWARE_USER_PKG and ZX_VERTEX_USER_PKG.
Function/Procedure Name | Column Name in ZX_O2C_CALC_TXN_INPUT_V | Default Value | Mapped Attribute of Taxware API | Mapped Attribute of Vertex API |
---|---|---|---|---|
TRANSACTION_DATE | LINE_EXT_DATE_ATTRIBUTE1 | TRX_LINE_GL_DATE of ZX_LINES_DET_FACTORS | TaxLink.FiscalDate | fTransDate |
PRODUCT_CODE | LINE_EXT_VARCHAR_ATTRIBUTE2 | SEGMENT1 of MTL_SYSTEM_ITEMS | TaxLink.ProdCode | fTDMProdCd |
AUDIT_FLAG | LINE_EXT_VARCHAR_ATTRIBUTE8 | ATTRIBUTE15 of AR_RECEIVABLES_TRX | TaxLink.ReptInd | Not mapped directly, but determines if the transaction should be recorded in the Vertex repository. |
SHIP_TO_ADDRESS_CODE | LINE_EXT_VARCHAR_ATTRIBUTE9 |
|
TaxLink.StateCode = substr(SHIP_TO_ADDRESS_CODE,2,2) TaxLink.PriZip = substr(SHIP_TO_ADDRESS_CODE,4,5) TaxLink.PriGeo = substr(SHIP_TO_ADDRESS_CODE,9,2) |
.fJurisSTGeoCd = substr(SHIP_TO_ADDRESS_CODE,2,9) .fJurisSTInCi = substr(SHIP_TO_ADDRESS_CODE,1,1) |
SHIP_FROM_ADDRESS_CODE | LINE_EXT_VARCHAR_ATTRIBUTE10 | Warehouse address jurisdiction code | JurLink.ShipFr.State = substr(SHIP_FROM_ADDRESS_CODE,2,2) JurLink.ShipFr.Zip = substr(SHIP_FROM_ADDRESS_CODE,4,5) JurLink.ShipFr.Geo = substr(SHIP_FROM_ADDRESS_CODE,9,2) |
.fJurisSFGeoCd = substr(SHIP_FROM_ADDRESS_CODE,2,9) .fJurisSFInCi = substr(SHIP_FROM_ADDRESS_CODE,1,1) |
POA_ADDRESS_CODE | LINE_EXT_VARCHAR_ATTRIBUTE11 | Taxware: Organization jurisdiction code Vertex: Salesperson jurisdiction code |
JurLink.POA.State = substr(POA_ADDRESS_CODE,2,2) JurLink.POA.Zip = substr(POA_ADDRESS_CODE,4,5) JurLink.POA.Geo = substr(POA_ADDRESS_CODE,9,2) |
.fJurisOAGeoCd = substr(POA_ADDRESS_CODE,2,9) .fJurisOAInCi = substr(POA_ADDRESS_CODE,1,1) |
CUSTOMER_CODE | LINE_EXT_VARCHAR_ATTRIBUTE12 | Bill To Party Number (PARTY_NUMBER of HZ_PARTIES) | TaxLink.CustNo | .fTDMCustCd |
COMPANY_CODE | LINE_EXT_VARCHAR_ATTRIBUTE14 | 01 | TaxLink.CompanyID | .fTDMCompCd |
DIVISION_CODE | LINE_EXT_VARCHAR_ATTRIBUTE15 | 01 | TaxLink.DivCode | .fTDMDivCd |
SERVICE_INDICATOR | LINE_EXT_VARCHAR_ATTRIBUTE1 | Profile: ZX_TAXVDR_SERVICEIND | JurLink.ServInd | N/A |
TAX_SEL_PARM | LINE_EXT_NUMBER_ATTRIBUTE6 | Profile: ZX_TAXVDR_TAXSELPARAM | TaxSelParm | N/A |
CUSTOMER_NAME | LINE_EXT_VARCHAR_ATTRIBUTE13 | Bill To Party Name (PARTY_NAME of HZ_PARTIES) | TaxLink.CustName | N/A |
VENDOR_CONTROL_EXEMPTIONS | LINE_EXT_VARCHAR_ATTRIBUTE16 | Job Number (ATTRIBUTE1 from RA_CUST_TRX_TYPES) | TaxLink.JobNo | N/A |
USE_NEXPRO | LINE_EXT_VARCHAR_ATTRIBUTE17 | Profile: ZX_TAXVDR_USENEXPRO | TaxLinkUseNexproInd | N/A |
POO_ADDRESS_CODE | LINE_EXT_VARCHAR_ATTRIBUTE20 | Salesperson jurisdiction code | JurLink.POO.State = substr(POO_ADDRESS_CODE,2,2) JurLink.POO.Zip = substr(POO_ADDRESS_CODE,4,5) JurLink.POO.Geo = substr(POO_ADDRESS_CODE,9,2) |
N/A |
CALCULATION_FLAG | LINE_EXT_VARCHAR_ATTRIBUTE21 | 00000 (Calculate tax at all jurisdiction levels) | TaxLink.NoStaTax TaxLink.StaExempt TaxLink.NoCnTax TaxLink.CnExempt TaxLink.NoLoTax TaxLink.LoExempt TaxLink.NoSecCnTax TaxLink.SecCnExempt TaxLink.NoSecLoTax TaxLink.SecLoExempt |
N/A |
TRX_LINE_TYPE | LINE_EXT_VARCHAR_ATTRIBUTE1 | SALE | N/A | .fTransType |
CUSTOMER_CLASS | LINE_EXT_VARCHAR_ATTRIBUTE13 | Null | N/A | .fTDMCustClassCd |
GET_EXEMPTIONS (parameter state_exempt_percent) | LINE_EXT_NUMBER_ATTRIBUTE1 | RATE_MODIFIER of ZX_EXEMPTIONS for STATE Tax | TaxLink.StExemptAmt = TaxLink.GrossAmt * (GET_EXEMPTIONS.state_exempt_percent) | .fPriStExmtAmt = fTransExtendedAmt * (GET_EXEMPTIONS.state_exempt_percent) |
GET_EXEMPTIONS (parameter county_exempt_percent) | LINE_EXT_NUMBER_ATTRIBUTE2 | RATE_MODIFIER of ZX_EXEMPTIONS for COUNTY Tax | TaxLink.CntyExemptAmt = TaxLink.GrossAmt * (GET_EXEMPTIONS.county_exempt_percent) | .fPriCoExmtAmt = fTransExtendedAmt * (GET_EXEMPTIONS.county_exempt_percent) |
GET_EXEMPTIONS (parameter city_exempt_percent) | LINE_EXT_NUMBER_ATTRIBUTE3 | RATE_MODIFIER of ZX_EXEMPTIONS for CITY Tax | TaxLink.CityExemptAmt = TaxLink.GrossAmt * (GET_EXEMPTIONS.city_exempt_percent) | .fPriCiExmtAmt = fTransExtendedAmt * (GET_EXEMPTIONS.city_exempt_percent) |
GET_EXEMPTIONS (parameter state_exempt_reason) | LINE_EXT_VARCHAR_ATTRIBUTE4 | NULL | TaxLink.StReasonCode | .fPriStExmtRsnCd |
GET_EXEMPTIONS (parameter county_exempt_reason) | LINE_EXT_VARCHAR_ATTRIBUTE5 | NULL | TaxLink.CntyReasonCode | .fPriCoExmtRsnCd |
GET_EXEMPTIONS (parameter city_exempt_reason) | LINE_EXT_VARCHAR_ATTRIBUTE6 | NULL | TaxLink.CityReasonCode | .fPriCiExmtRsnCd |
GET_EXEMPTIONS (parameter use_step) | LINE_EXT_VARCHAR_ATTRIBUTE3 | Taxware: ‘Y’ | TaxLink.UseStep | N/A |
GET_EXEMPTIONS (parameter step_proc_flag) | LINE_EXT_VARCHAR_ATTRIBUTE7 | Taxware: 1 | TaxLink.StepProcFlg | N/A |
GET_EXEMPTIONS (parameter crit_flag) | LINE_EXT_VARCHAR_ATTRIBUTE19 | ‘R’ | TaxLink.CritFlg | N/A |
GET_EXEMPTIONS (parameter sec_county_exempt_percent) | LINE_EXT_NUMBER_ATTRIBUTE4 | RATE_MODIFIER of ZX_EXEMPTIONS for SECONDARY COUNTY Tax | TaxLink.SecCnExemptAmt = TaxLink.GrossAmt * (GET_EXEMPTIONS.sec_county_exempt_percent) | N/A |
GET_EXEMPTIONS (parameter sec_city_exempt_percent) | LINE_EXT_NUMBER_ATTRIBUTE5 | RATE_MODIFIER of ZX_EXEMPTIONS for SECONDARY CITY Tax | TaxLink.SecLoExemptAmt = TaxLink.GrossAmt * (GET_EXEMPTIONS.sec_city_exempt_percent) | N/A |
GET_EXEMPTIONS (parameter state_certificate_number) | LINE_EXT_VARCHAR_ATTRIBUTE22 | EXEMPT_CERTIFICATE_NUMBER of ZX_EXEMPTIONS for STATE Tax | TaxLink.StTaxCertNo | N/A |
GET_EXEMPTIONS (parameter county_certificate_number) | LINE_EXT_VARCHAR_ATTRIBUTE23 | EXEMPT_CERTIFICATE_NUMBER of ZX_EXEMPTIONS for COUNTY Tax | TaxLink.CnTaxCertNo | N/A |
GET_EXEMPTIONS (parameter city_certificate_number) | LINE_EXT_VARCHAR_ATTRIBUTE24 | EXEMPT_CERTIFICATE_NUMBER of ZX_EXEMPTIONS for CITY Tax | TaxLink.LoTaxCertNo | N/A |
GET_EXEMPTIONS (parameter cert_no) | LINE_EXT_VARCHAR_ATTRIBUTE3 | EXEMPT_CERTIFICATE_NUMBER of ZX_EXEMPTIONS for CITY, COUNTY or STATE Tax in the order it is found | N/A | .fPriCustExmtCrtfNum |
GET_EXEMPTIONS (parameter district_exempt_reason) | LINE_EXT_VARCHAR_ATTRIBUTE7 | NULL | N/A | .fPriDiExmtRsnCd |
GET_EXEMPTIONS (parameter district_exempt_percent) | LINE_EXT_NUMBER_ATTRIBUTE4 | RATE_MODIFIER of ZX_EXEMPTIONS for DISTRICT Tax | N/A | .fPriDiExmtAmt = fTransExtendedAmt * (GET_EXEMPTIONS.district_exempt_percent) |
The tax functions are included in the E-Business Tax files $ZX_TOP/patch/115/sql/zxtxvwab.pls and zxtxvwvb.pls.
The value of the eBTax Vertex: Case Sensitive profile option is assigned to the header_ext_varchar_attribute1. This profile option is used by Vertex to indicate whether information retrieval is performed using case-sensitive searches.
All tax functions have a parameter named p_view_name. This parameter identifies the transaction source context for rewriting the body of a tax function. Based on the transaction source, the table below identifies the table from where you can fetch transaction line attributes and join with other E-Business Suite tables.
Transaction Source | p_view_name value for Vertex | p_view_name value for Taxware | Table Name |
---|---|---|---|
AutoInvoice - Invoice/Debit Memo/On Account Credit Memo | TAX_LINES_INVOICE_IMPORT_V_V INVOICE | TAX_LINES_INVOICE_IMPORT_V_A INVOICE | RA_CUSTOMER_TRX_LINES_ALL |
AutoInvoice - Applied Credit Memo | TAX_LINES_RMA_IMPORT_V_V CREDITMEMO | TAX_LINES_RMA_IMPORT_V_A CREDITMEMO | RA_CUSTOMER_TRX_LINES_ALL |
Recurring Invoice | TAX_LINES_RECURR_INVOICE_V_V | TAX_LINES_RECURR_INVOICE_V_A | RA_CUSTOMER_TRX_LINES_ALL |
Manual Entry & Update - Invoice/Debit Memo/On Account Credit Memo | TAX_LINES_CREATE_V_V INVOICE | TAX_LINES_CREATE_V_A INVOICE | RA_CUSTOMER_TRX_LINES_ALL |
Manual Entry & Update - Applied Credit Memo | TAX_LINES_CM_V_V CREDITMEMO | TAX_LINES_CM_V_A CREDITMEMO | RA_CUSTOMER_TRX_LINES_ALL |
Override Tax Lines | TAX_LINES_DELETE_V_V | TAX_LINES_DELETE_V_A | RA_CUSTOMER_TRX_LINES_ALL |
Delete Invoice/Debit Memo/On Account Credit Memo/ Applied Credit Memo | TAX_LINES_CREATE_V_V | TAX_LINES_CREATE_V_A | RA_CUSTOMER_TRX_LINES_ALL |
Tax Adjustment | TAX_ADJUSTMENTS_V_V | TAX_ADJUSTMENTS_V_A | RA_ADJUSTMENTS_ALL |
Order Management | OE_TAX_LINES_SUMMARY_V_V | OE_TAX_LINES_SUMMARY_V_A | OE_ORDER_LINES_ALL |
Order Capture | ASO_TAX_LINES_SUMMARY_V_V | ASO_TAX_LINES_SUMMARY_V_A | ASO_QUOTE_LINES_ALL |
p_view_name IN VARCHAR2, p_header_id IN NUMBER, p_line_id IN NUMBER) RETURN DATE;
Input | Description |
---|---|
p_view_name | Name of view calling this function |
p_header_id | ID of transaction header |
p_line_id | ID of transaction line |
The function returns NULL by default and the calling procedure stores the GL Date value on the transaction line in the LINE_EXT_DATE_ATTRIBUTE1 column of the ZX_PRVDR_LINE_EXTNS_GT table. This value is used for reporting purposes.
p_view_name IN VARCHAR2, p_header_id IN NUMBER, p_line_id IN NUMBER, p_item_id IN NUMBER, p_memo_line_id IN NUMBER) RETURN VARCHAR2;
Input | Description |
---|---|
p_view_name | Name of view calling this function |
p_header_id | ID of transaction header |
p_line_id | ID of transaction line |
p_item_id | ID of inventory item |
p_memo_line_id | ID of memo line |
The function returns NULL by default and the calling procedure stores the SEGMENT1 value from the MTL_SYSTEM_ITEMS table (System Items key flexfield) in the LINE_EXT_VARCHAR_ATTRIBUTE2 column of the ZX_PRVDR_LINE_EXTNS_GT table. If a memo line is passed instead of an inventory item, then a NULL value is stored. The part number is used to determine exemptions.
p_view_name IN VARCHAR2, p_header_id IN NUMBER, p_line_id IN NUMBER) RETURN VARCHAR2;
Input | Description |
---|---|
p_view_name | Name of view calling this function |
p_header_id | ID of transaction header |
p_line_id | ID of transaction line |
The function returns NULL by default and the calling procedure stores the value Y in the LINE_EXT_VARCHAR_ATTRIBUTE8 column of the ZX_PRVDR_LINE_EXTNS_GT table.
The value is used as an indicator for the auditing of tax adjustments. If Y, the tax adjustment is posted to the tax service provider repository.
p_view_name IN VARCHAR2, p_header_id IN NUMBER, p_line_id IN NUMBER p_ship_to_address_id IN NUMBER, p_ship_to_location_id IN NUMBER, p_trx_date IN NUMBER, p_ship_to_state IN VARCHAR2, p_postal_code IN VARCHAR2) RETURN VARCHAR2;
Input | Description |
---|---|
p_view_name | Name of view calling this function |
p_header_id | ID of transaction header |
p_line_id | ID of transaction line |
p_ship_to_address_id | ID of Ship-to address |
p_ship_to_location_id | ID of Ship-to location |
p_trx_date | Transaction Date |
p_ship_to_state | State of the ship-to |
p_postal_code | Zip code for the ship-to |
The function returns NULL by default and the calling procedure stores the value in the ZX_PRVDR_LINE_EXTNS_GT table as per the description below.
The first character represents the In/Out City Limits flag. If this value is 1, then the Ship-to address is within the city limits; if this value is 0, then it is outside the city limits. The rest of the string is the jurisdiction code for the Ship-to address.
The In/Out City Limits is derived from the SALES_TAX_INSIDE_CITY_LIMITS column of the HZ_LOCATIONS table. If the In/Out City Limits flag is not found in the SALES_TAX_INSIDE_CITY_LIMITS column of the HZ_LOCATIONS table, the default value is within the city limits (1). For Taxware, the value of the first character is always 1.
The jurisdiction code is obtained from the SALES_TAX_GEOCODE column of the HZ_LOCATIONS table. If SALES_TAX_GEOCODE is NULL, the ZX_JURISDICTION_CODE column of the ZX_JURISDICTIONS_B table is returned for the ship-to city and zip code.
p_view_name IN VARCHAR2, p_header_id IN NUMBER, p_line_id IN NUMBER, p_warehouse_id IN NUMBER) RETURN VARCHAR2;
Input | Description |
---|---|
p_view_name | Name of view calling this function |
p_header_id | ID of transaction header |
p_line_id | ID of transaction line |
p_warehouse_id | ID of warehouse of the ship-from |
The function returns NULL by default and the calling procedure stores the value in the ZX_PRVDR_LINE_EXTNS_GT table as per the description below.
The first character represents the In/Out City Limits flag. If this value is 1, then the Ship-from address is within the city limits; if this value is 0, then it is outside the city limits. The rest of the string is the jurisdiction code for the Ship-from address. For Taxware, the value of the first character is always 1.
The In/Out City Limits is derived from LOC_INFORMATION14 of the Location Address descriptive flexfield. The jurisdiction code is derived from LOC_ INFORMATION13 of the Location Address descriptive flexfield.
p_view_name IN VARCHAR2, p_header_id IN NUMBER, p_line_id IN NUMBER, p_salesrep_id IN NUMBER) RETURN VARCHAR2;
Input | Description |
---|---|
p_view_name | Name of view calling this function |
p_header_id | ID of transaction header |
p_line_id | ID of transaction line |
p_salesrep_id | ID of the primary sales representative |
The function uses all four parameters for Vertex. The function does not use the p_salesrep_id parameter for Taxware.
The function returns NULL by default and the calling procedure stores the value in the ZX_PRVDR_LINE_EXTNS_GT table as per the description below.
The first character represents the In/Out City Limits flag. If this value is 1, then the Point of Order Acceptance is within the city limits; if this value is 0, then it is outside the city limits. For Taxware, the value of the first character is 1.
The rest of the string is the jurisdiction code for the Point of Order Acceptance.
For Vertex, the In/Out City Limits is derived from the SALES_TAX_INSIDE_CITY_LIMITS column of the RA_SALESREPS view. The jurisdiction is derived from the SALES_ TAX_GEOCODE column of the RA_SALESREPS view.
For Taxware, the jurisdiction code is derived from SALES_TAX_GEOCODE of the ZX_PRODUCT_OPTIONS_ALL table.
p_view_name IN VARCHAR2, p_header_id IN NUMBER, p_line_id IN NUMBER) RETURN VARCHAR2;
Input | Description |
---|---|
p_view_name | Name of view calling this function |
p_header_id | ID of transaction header |
p_line_id | ID of transaction line |
The function returns NULL by default and the calling procedure stores the bill to party PARTY_NUMBER from the HZ_PARTIES table in the LINE_EXT_VARCHAR_ATTRIBUTE12 column of the ZX_PRVDR_LINE_EXTNS_GT table. This value is used to determine the taxability of the individual customer.
p_view_name IN VARCHAR2, p_header_id IN NUMBER, p_line_id IN NUMBER) RETURN VARCHAR2;
Input | Description |
---|---|
p_view_name | Name of view calling this function |
p_header_id | ID of transaction header |
p_line_id | ID of transaction line |
The function returns NULL by default and the calling procedure stores 01 for both Taxware and Vertex in the LINE_EXT_VARCHAR_ATTRIBUTE14 column of the ZX_PRVDR_LINE_EXTNS_GT table. This value is used to control the tax reporting level and identifies exemptions defined in the tax service provider system.
p_view_name IN VARCHAR2, p_header_id IN NUMBER, p_line_id IN NUMBER) RETURN VARCHAR2;
Input | Description |
---|---|
p_view_name | Name of view calling this function |
p_header_id | ID of transaction header |
p_line_id | ID of transaction line |
The function returns NULL by default and the calling procedure stores 01 for both Taxware and Vertex in the LINE_EXT_VARCHAR_ATTRIBUTE15 column of the ZX_PRVDR_LINE_EXTNS_GT table. This value is used to control the tax reporting level and identifies exemptions defined in the tax service provider system.
p_view_name IN VARCHAR2, p_header_id IN NUMBER, p_line_id IN NUMBER) RETURN NUMBER;
Input | Description |
---|---|
p_view_name | Name of view calling this function |
p_header_id | ID of transaction header |
p_line_id | ID of transaction line |
The function returns NULL by default and the calling procedure stores 1, 2, or 3 in the LINE_EXT_VARCHAR_ATTRIBUTE1 column of the ZX_PRVDR_LINE_EXTNS_GT table. 1 indicates service; 2 indicates rental; 3 indicates non-service. The value is taken from the eBTax Taxware: Service Indicator profile option.
p_view_name IN VARCHAR2, p_header_id IN NUMBER, p_line_id IN NUMBER) RETURN NUMBER
Input | Description |
---|---|
p_view_name | Name of view calling this function |
p_header_id | ID of transaction header |
p_line_id | ID of transaction line |
The function returns NULL by default and the calling procedure stores the value 2 or 3 in the LINE_EXT_NUMBER_ATTRIBUTE6 column of the ZX_PRVDR_LINE_EXTNS_GT table. 2 means use only the ship-to address in the tax calculation; 3 means use all jurisdiction information in the tax calculation. The value is taken from the eBTax Taxware: Tax Selection profile option.
p_view_name IN VARCHAR2, p_header_id IN NUMBER, p_line_id IN NUMBER) RETURN VARCHAR2;
Input | Description |
---|---|
p_view_name | Name of view calling this function |
p_header_id | ID of transaction header |
p_line_id | ID of transaction line |
The function returns NULL by default and the calling procedure stores the bill to party PARTY_NAME from the HZ_PARTIES table in the LINE_EXT_VARCHAR_ATTRIBUTE13 column of the ZX_PRVDR_LINE_EXTNS_GT table. This value is used on the Sales/Use Tax Report to report by customer name.
p_view_name IN VARCHAR2, p_header_id IN NUMBER, p_line_id IN NUMBER, p_trx_type_id IN NUMBER) RETURN VARCHAR2;
Input | Description |
---|---|
p_view_name | Name of view calling this function |
p_header_id | ID of transaction header |
p_line_id | ID of transaction line |
p_trx_type_id | ID of the transaction type |
The function returns NULL by default and the calling procedure stores ATTRIBUTE1 of the RA_CUST_TRX_TYPES_ALL table in the LINE_EXT_VARCHAR_ATTRIBUTE16 column of the ZX_PRVDR_LINE_EXTNS_GT table. The value corresponds to the job number which is used to determine exemptions.
p_view_name IN VARCHAR2, p_header_id IN NUMBER, p_line_id IN NUMBER) RETURN VARCHAR2
Input | Description |
---|---|
p_view_name | Name of view calling this function |
p_header_id | ID of transaction header |
p_line_id | ID of transaction line |
The function returns NULL by default and the calling procedure assigns the value Y or N to the LINE_EXT_VARCHAR_ATTRIBUTE17 column of the ZX_PRVDR_LINE_EXTNS_GT table.
The value indicates whether Taxware uses the Nexpro functionality: Y = Use Nexpro; N = Do not use Nexpro. The value is taken from the eBTax Taxware: Use Nexpro profile option.
p_view_name IN VARCHAR2, p_header_id IN NUMBER, p_line_id IN NUMBER, p_salesrep_id IN NUMBER) RETURN VARCHAR2;
Input | Description |
---|---|
p_view_name | Name of view calling this function |
p_header_id | ID of transaction header |
p_line_id | ID of transaction line |
p_salesrep_id | ID of the primary sales representative |
The function returns NULL by default and the calling procedure stores the value in the ZX_PRVDR_LINE_EXTNS_GT table as per the description below. This function is only for Taxware.
The value of the first character is always 1. The rest of the string is the jurisdiction code for the Point of Order Origin. It is derived from the SALES_TAX_GEOCODE column of the RA_SALESREPS view.
p_view_name IN VARCHAR2, p_header_id IN NUMBER, p_line_id IN NUMBER) RETURN VARCHAR2;
Input | Description |
---|---|
p_view_name | Name of view calling this function |
p_header_id | ID of transaction header |
p_line_id | ID of transaction line |
The function returns NULL by default and the calling procedure stores a 5-character string, to represent the five jurisdiction level calculation flags, in the LINE_EXT_VARCHAR_ATTRIBUTE21 column of the ZX_PRVDR_LINE_EXTNS_GT table. The first character is for the state tax; the second for the county tax; the third for the city tax; the fourth for the secondary county tax; and the fifth for the secondary city tax.
Each character identifies whether tax should be calculated at a particular jurisdiction level. 1 indicates that tax should not be calculated for this level; 0 indicates that tax should be calculated.
p_view_name IN VARCHAR2, p_header_id IN NUMBER, p_line_id IN NUMBER) RETURN VARCHAR2;
Input | Description |
---|---|
p_view_name | Name of view calling this function |
p_header_id | ID of transaction header |
p_line_id | ID of transaction line |
The function returns NULL by default and the calling procedure stores the value SALE in the LINE_EXT_VARCHAR_ATTRIBUTE1 column of the ZX_PRVDR_LINE_EXTNS_GT table. Valid values are PURCHASE, RENTAL, SALE, and SERVICE.
p_view_name IN VARCHAR2, p_header_id IN NUMBER, p_line_id IN NUMBER, p_customer_id IN NUMBER) RETURN VARCHAR2;
Input | Description |
---|---|
p_view_name | Name of view calling this function |
p_header_id | ID of transaction header |
p_line_id | ID of transaction line |
p_customer_id | ID of customer (ship-to, bill-to, or other) |
The function returns NULL by default and the calling procedure also stores the value NULL in the LINE_EXT_VARCHAR_ATTRIBUTE13 column of the ZX_PRVDR_LINE_EXTNS_GT table. You can customize the function to return a customer class code to use to determine exemptions.
p_exemption_id IN NUMBER, p_state_exempt_percent OUT NUMBER, p_state_exempt_reason OUT VARCHAR2, p_state_cert_no OUT VARCHAR2, p_county_exempt_percent OUT NUMBER, p_county_exempt_reason OUT VARCHAR2, p_county_cert_no OUT VARCHAR2, p_city_exempt_percent OUT NUMBER, p_city_exempt_reason OUT VARCHAR2, p_city_cert_no OUT VARCHAR2, p_sec_county_exempt_percent OUT NUMBER, p_sec_city_exempt_percent OUT NUMBER, p_use_step OUT VARCHAR2, p_step_proc_flag OUT VARCHAR2, p_crit_flag OUT VARCHAR2)
Input | Description |
---|---|
p_exemption_id | ID of exemption record |
p_<juris>_exempt_percent | Exemption percent for jurisdiction |
p_<juris>_exempt_reason | Exemption reason for jurisdiction |
p_<juris>_cert_no | Exemption certificate number for jurisdiction |
p_use_step | Use STEP90 flag |
p_step_proc_flag | STEP processing flag |
p_crit_flag | Criterion flag |
The procedure returns NULL values by default for all output parameters and the calling procedure assigns the value as per the description below. This procedure is called for Taxware integration only.
E-Business Tax stores exemptions for each jurisdiction individually in the ZX_EXEMPTIONS table. Therefore, this procedure may get called five times if the exemptions are defined for each of the five jurisdiction levels. E-Business Tax assigns the values stored in the ZX_EXEMPTIONS table for each jurisdiction. Only the first two characters of the exemption reason stored in ZX_EXEMPTIONS are passed to Taxware.
If ZX_EXEMPTIONS does not have exemption records for all five jurisdictions, Taxware is passed Y for p_use_step, 1 for p_step_proc_flag, and R for p_crit_flag.
If this procedure is re-written at an installation, E-Business Tax passes the values of the flags p_use_step, p_step_proc_flag and p_crit_flag to Taxware from the last call E-Business Tax makes to the GET_EXEMPTION procedure for a transaction line. Each call to GET_EXEMPTION should return a jurisdiction-specific exempt percentage, exempt reason, and exempt certificate number that is passed to Taxware.
p_exemption_id IN NUMBER, p_cert_no OUT VARCHAR2, p_state_exempt_percent OUT NUMBER, p_state_exempt_reason OUT VARCHAR2, p_county_exempt_percent OUT NUMBER, p_county_exempt_reason OUT VARCHAR2, p_city_exempt_percent OUT NUMBER, p_city_exempt_reason OUT VARCHAR2, p_district_exempt_percent OUT NUMBER, p_district_exempt_reason OUT VARCHAR2)
Input | Description |
---|---|
p_exemption_id | ID of exemption record |
p_<juris>_exempt_percent | Exemption percent for jurisdiction |
p_<juris>_exempt_reason | Exemption reason for jurisdiction |
p_cert_no | Exemption certificate number |
The procedure returns NULL values by default for all output parameters and the calling procedure assigns the value as per the description below. This procedure is called for Vertex integration only.
E-Business Tax stores exemptions for each jurisdiction individually in the ZX_EXEMPTIONS table. Therefore, this procedure may get called four times if the exemptions are defined for each of the four jurisdiction levels. E-Business Tax assigns the values stored in the ZX_EXEMPTIONS table for each jurisdiction. Only the first character of the exemption reason stored in ZX_EXEMPTIONS is passed to Vertex.
If this procedure is re-written at an installation, each call to GET_EXEMPTION should return a jurisdiction-specific exempt percentage and exempt reason that is passed to Vertex. The certificate number received from the last call to this function for a transaction line is passed to Vertex for that transaction line.
Related Topics
Tax Partner Services Plug-In, Oracle E-Business Tax Reporting Guide
Some descriptive flexfields and fields in other applications are used specifically for service provider integration. The following tables list all such fields. Note that all fields are optional.
The table below shows the predefined descriptive flexfields that you can use to enter ship-from information.
Table Name | Column | Window | Field Name | Description |
---|---|---|---|---|
HR_LOCATIONS _V (Location Address descriptive flexfield) | LOC_ INFORMATION1 3 | Location Address | Sales Tax Override | Ship-From jurisdiction code. |
HR_LOCATIONS _V (Location Address descriptive flexfield) | LOC_ INFORMATION1 4 | Location Address | Inside City Limits | Indicates whether the address is considered inside or outside the city limits (Vertex only). |
If you want to use any of the following descriptive flexfields to store tax information, you must register each flexfield as required.
Table Name | Field Name | Column | Description | Value Set Name |
---|---|---|---|---|
AR_ RECEIVABLES_TRX | Receivables Activity Information | ATTRIBUTE15 | Post Adjustment to Service Provider | AR_TAXVDR_YES_NO |
RA_CUST_TRX_ TYPES_ALL | Transaction Type Information | ATTRIBUTE1 | Job Number (Taxware Only) | AR_TAXVDR_CHAR10 |
Important: Use of user-defined descriptive flexfields is considered a customization. Functions supplied by Oracle may change in future releases to support these fields in core tables. Additionally, if these columns are in use by your customizations, you may need to either redefine the tax functions so that they look in other attribute columns, or your customizations may need to be changed.
The table below lists fields in other applications that you can use to enter point of order acceptance (POA), point of order origin (POO), and ship-to information.
Table Name | Column | Window | Field Name | Description |
---|---|---|---|---|
JTF_RS_ SALESREPS | SALES_TAX_ GEOCODE | Sales Force | Geo Override | Point of Order Origin jurisdiction code (Taxware) Point of Order Acceptance GeoCode (Vertex) |
SALES_TAX_INSIDE_CITY_ LIMITS | Sales Force | Inside City Limits | Indicates whether the POA address is inside the city limits (Vertex Only) | |
HZ_LOCATIONS | SALES_TAX_ GEOCODE | Customer Addresses | Geo Override | Ship-to GeoCode |
SALES_TAX_INSIDE _CITY_ LIMITS | Customer Addresses | Inside City Limits | Indicates whether the ship-to address is inside the city limits (Vertex Only) | |
AR_SYSTEM_ PARAMTERS_ ALL | SALES_TAX_ GEOCODE | System Options | Geo Override | Point of Order Acceptance jurisdiction code (Taxware Only) |
Related Topics
Defining Descriptive Flexfields, Oracle Applications Flexfields Guide