Technical Reference

Available Parameters

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.

Customizable Tax Functions

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
  1. Ship-to address jurisdiction code

  2. TAX_JURISDICTION_CODE from ZX_JURISDICTIONS_B

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

FUNCTION TRANSACTION_DATE(

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.

FUNCTION PRODUCT_CODE(

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.

FUNCTION AUDIT_FLAG(

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.

FUNCTION SHIP_TO_ADDRESS_CODE(

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.

FUNCTION SHIP_FROM_ADDRESS_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.

FUNCTION POA_ADDRESS_CODE(

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.

FUNCTION CUSTOMER_CODE(

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.

FUNCTION COMPANY_CODE(

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.

FUNCTION DIVISION_CODE(

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.

FUNCTION SERVICE_INDICATOR(

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.

FUNCTION TAX_SEL_PARM(

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.

FUNCTION CUSTOMER_NAME(

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.

FUNCTION VENDOR_CONTROL_EXEMPTIONS(

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.

FUNCTION USE_NEXPRO(

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.

FUNCTION POO_ADDRESS_CODE(

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.

FUNCTION CALCULATION_FLAG(

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.

FUNCTION TRX_LINE_TYPE(

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.

FUNCTION CUSTOMER_CLASS(

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.

PROCEDURE GET_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.

PROCEDURE GET_EXEMPTIONS(

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

Using Flexfields and Fields in Other Applications

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.

Predefined Descriptive Flexfields for Storing Tax Information

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).

User-Defined Descriptive Flexfields Used to Store Tax Information

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.

Other Application Fields Used to Store Tax Information

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