fusion tax partner integration cookbook v2

71
Table of Contents Oracle Corporation Confidential - For Oracle internal use only Page 1 of 71 ORACLE FUSION APPLICATIONS TAX PARTNER INTEGRATION COOKBOOK Applications Release: Fusion V1 Author: Desh Deepak & Steven Chi Creation Date: 11-May-11 Update Date: 15-Jan-13 Draft / Version: 5.0 Change Record Date Author Version Change Reference 11-May-11 Desh Deepak 1.0 First draft 01-Feb-12 Steven Chi 2.0 Party creation API calling syntax added. Appendix for running the Fusion Tax Content Upload Program added for regular partner data content file quality assurance purposes. 19-Sept-12 Steven Chi 3.0 Alternatives for, and importance of, creating taxes using the Global Configuration Owner for use with tax partner content added. Tax Partner Party Creation & Registration Section added with detailed steps and screen prints applicable to different Fusion Applications Releases. Importance of identifying and addressing the need for raised exceptions emphasized for selected PL/SQL package procedures used for tax partner integrations. Appendix for running the Fusion Tax Content Upload Program expanded with detailed steps and screen prints applicable to different Fusion Applications Releases for both On Premise and Cloud Deployments. 05-Nov-12 Steven Chi 4.0 Enhanced execution steps and screen prints added to the Fusion Tax Content Upload Program Appendix for (1) Oracle Fusion On Premise Deployments involving tax partner content, tax partner calculation services, or both, (2) Oracle Fusion Cloud Deployments involving only tax partner content, and (3) Oracle Fusion Cloud Deployments involving only tax partner calculation services or tax partner content and tax partner calculation services. Key tax regime start date prerequisite necessary for the Fusion Tax Content Upload Program added to the Configuring Fusion Tax for Partner Integration Section. 15-Jan-13 Steven Chi 5.0 ZX_REGISTER_TAX_PARTNER API calling script details expanded for different cases to create and register a tax partner as a party for Oracle Fusion Applications On Premise Deployments.

Upload: naveen-shankar-mauwala

Post on 24-Nov-2015

161 views

Category:

Documents


10 download

DESCRIPTION

Fusion Tax Partner Integration Cookbook v2

TRANSCRIPT

  • Table of Contents Oracle Corporation Confidential - For Oracle internal use only Page 1 of 71

    ORACLE FUSION APPLICATIONS

    TAX PARTNER INTEGRATION COOKBOOK Applications Release: Fusion V1

    Author: Desh Deepak & Steven Chi

    Creation Date: 11-May-11

    Update Date: 15-Jan-13

    Draft / Version: 5.0

    Change Record

    Date Author Version Change Reference

    11-May-11

    Desh Deepak 1.0 First draft

    01-Feb-12 Steven Chi 2.0 Party creation API calling syntax added. Appendix for running the Fusion Tax Content Upload Program added for regular partner data content file quality assurance purposes.

    19-Sept-12 Steven Chi 3.0 Alternatives for, and importance of, creating taxes using the Global Configuration Owner for use with tax partner content added. Tax Partner Party Creation & Registration Section added with detailed steps and screen prints applicable to different Fusion Applications Releases. Importance of identifying and addressing the need for raised exceptions emphasized for selected PL/SQL package procedures used for tax partner integrations. Appendix for running the Fusion Tax Content Upload Program expanded with detailed steps and screen prints applicable to different Fusion Applications Releases for both On Premise and Cloud Deployments.

    05-Nov-12 Steven Chi 4.0 Enhanced execution steps and screen prints added to the Fusion Tax Content Upload Program Appendix for (1) Oracle Fusion On Premise Deployments involving tax partner content, tax partner calculation services, or both, (2) Oracle Fusion Cloud Deployments involving only tax partner content, and (3) Oracle Fusion Cloud Deployments involving only tax partner calculation services or tax partner content and tax partner calculation services. Key tax regime start date prerequisite necessary for the Fusion Tax Content Upload Program added to the Configuring Fusion Tax for Partner Integration Section.

    15-Jan-13 Steven Chi 5.0 ZX_REGISTER_TAX_PARTNER API calling script details expanded for different cases to create and register a tax partner as a party for Oracle Fusion Applications On Premise Deployments.

  • Table of Contents Oracle Corporation Confidential - For Oracle internal use only Page 2 of 71

    Table of Contents

    1 Introduction ...........................................................................................................................................4

    2 Configuring Fusion Tax for Partner Integration ...................................................................................5

    3 Tax Partner APIs Integration Overview ................................................................................................7

    4 Tax Partner APIs ..................................................................................................................................10

    4.1 Tax Calculation API ...................................................................................................................10

    4.2 Tax Synchronization API ...........................................................................................................14

    4.3 Global Document Update API ..................................................................................................15

    5 Partner Calculated Tax Lines Processing by Fusion Tax .....................................................................17

    6 Tax Partner Repository Consistency Check ........................................................................................18

    7 Tax Partner Party Creation & Registration .........................................................................................19

    8 Tax Partner Installation & Integration ...............................................................................................27

    8.1 Create and Register Tax Partner as a Party .............................................................................27

    8.2 Tax Partner APIs Plug-in ...........................................................................................................27

    8.3 User Extensible Procedures .................................................................................................... 30

    9 Vertex Q-Series and ADP-Taxware Sales and Use Tax (SUT) Integration .........................................33

    9.1 Vertex Q-Series ........................................................................................................................33

    9.2 Taxware SUT.............................................................................................................................34

    10 Appendix A Data Types and Database Views ..................................................................................35

    10.1 zx_tax_partner_pkg.messages_tbl_type .................................................................................35

    10.2 zx_tax_partner_pkg.output_sync_tax_lines_tbl_type ............................................................36

    10.3 zx_tax_partner_pkg.tax_currencies_tbl_type .........................................................................37

    10.4 zx_tax_partner_pkg.tax_lines_tbl_type ..................................................................................37

    10.5 zx_tax_partner_pkg.trx_rec_type ...........................................................................................42

    10.6 zx_api_prvdr_pub.error_messages_tbl ...................................................................................42

    10.7 ZX_IMPORT_TAX_LINES_INPUT_V ..........................................................................................42

    10.8 ZX_O2C_CALC_TXN_INPUT_V..................................................................................................43

    10.9 ZX_SYNC_HDR_INPUT_V..........................................................................................................57

    10.10 ZX_SYNC_LINES_INPUT_V ........................................................................................................58

    10.11 ZX_SYNC_TAX_LINES_INPUT_V ...............................................................................................60

  • Table of Contents Oracle Corporation Confidential - For Oracle internal use only Page 3 of 71

    11 Appendix B Important Changes for Tax Partners between EBS R12 and Fusion ...........................62

    12 Appendix C Recommended Configuration ......................................................................................63

    13 Appendix D Document Types ...........................................................................................................64

    14 Appendix D Tax Partner Integration Validation ..............................................................................65

    15 Appendix E Running the Fusion Tax Content Upload Program ......................................................67

  • Introduction Oracle Corporation Confidential - For Oracle internal use only Page 4 of 71

    1 Introduction This document is intended for the tax partner integrators to build integration of a third party transaction (indirect) tax calculation application with Oracle Fusion Tax. Oracle Fusion Tax provides a set of tax interfaces to enable tax partner agnostic integration. Tax partners services/API must conform to the tax interfaces described in this document. The integration described in this document, with Fusion Tax, acts as a gateway to all Order-to-Cash applications integrated for tax calculation.

  • Configuring Fusion Tax for Partner Integration Oracle Corporation Confidential - For Oracle internal use only Page 5 of 71

    2 Configuring Fusion Tax for Partner Integration The objective is to keep tax configuration in the tax partner application so that users are required to configure taxes at one place. However, the integration with tax partners does require a minimal configuration of Fusion Tax. In order to maintain referential integrity of mandatory attributes of a tax line, following configuration must be done by users in Fusion Tax.

    Tax Regime Users must create a tax regime for which tax partner services would to be used for tax calculation. The Regime level can either be Country or Tax Zone. When using regime at Tax Zone level, only a tax zone with the boundary as World must be used. Tax partner API is called once for a regime. So, if a single tax partner API can calculate taxes of United States, Canada and Mexico, define a tax regime for a tax zone comprising of United States, Canada and Mexico. If a transaction involves any one or more of these countries, tax partner API would be invoked just once to calculate applicable taxes of all of the countries in the zone. Finally, when using the Fusion Tax Content Upload Program to upload a tax partner content file, it is important to create a tax regime with a Start Date = 1/1/51 (January 1, 1951) or earlier to ensure that there are no conflicts with specific tax partner content start dates. In practice, this consideration is critical when uploading a tax partner content file for the United States.

    Tax Users must create all the taxes of the tax regime. There can be more than one tax for a tax regime. Tax accounts must be defined for each tax for general ledger accounting. These accounts are copied from the tax to the tax jurisdictions.

    Tax Status Users must create at least one tax status for each tax. Each tax must have one default tax status.

    Tax Partner Party Create tax partner as a party as explained in the Tax Partner Party Creation & Registration Section. This should be done as an automatic installation step in partner installation process.

    Tax Jurisdiction Users must create at least one tax jurisdiction for each tax. Alternatively, for United States sales/use taxes, tax partners can also provide tax jurisdiction and tax rates content file for loading in Fusion Tax. Tax accounts are copied from the tax and users are allowed to change them.

    Tax Rates Define at least one tax rate code for the default tax status. Each tax status is required to have a default tax rate code. For the default tax rate code, tax jurisdiction must be left NULL and Allow ad hoc tax rate flag should be checked. Tax accounts are copied from the tax or tax jurisdiction and can be changed by the user.

    Tax Regime Configuration Options and Service Subscriptions Create configuration option and service subscription for Business Units and/or Legal Entities that would be using tax partner services for tax calculation for this regime.

    Tax Content For United States sales tax, users can upload geography, tax zones, tax jurisdictions, and tax rates from a tax partner content file. This enables partner calculated tax lines to have the same tax jurisdiction codes and tax rate codes as returned by a tax partner application. This step for uploading a tax partner content file can be completed only after a tax partner has been created as a party and after a tax regime has been created for the United States. As outlined above, when using the Fusion Tax Content Upload Program to upload a tax partner content file, it is important to create a tax regime with a Start Date = 1/1/51 (January 1, 1951) or earlier to ensure that there are no conflicts with specific tax partner content start dates.

  • Configuring Fusion Tax for Partner Integration Oracle Corporation Confidential - For Oracle internal use only Page 6 of 71

    A user can elect to directly create the STATE, COUNTY, and CITY Taxes upfront in Fusion Tax prior to executing the content upload program to allow for more detailed control of tax-level configuration settings. In all cases in which the STATE, COUNTY, and CITY Taxes are directly created upfront in Fusion Tax prior to executing the content upload program, please note (1) all three taxes must be created using the Global Configuration Owner to prevent the creation of duplicate taxes downstream by the content upload program and (2) none of the taxes should be enabled for either Simulation or Transactions until a user completely understands the impacts to tax-level configuration settings (i.e. some tax-level configuration settings can only be changed when the taxes are not enabled for either Simulation or Transactions, whereas other tax-level configuration settings can still be changed as long as taxes are only enabled for Simulation, but not enabled for Transactions). If a user does not create STATE, COUNTY or CITY taxes for the tax regime upfront in Fusion Tax prior to executing the content upload program, the content upload program will automatically create these three taxes using the Global Configuration Owner and specific tax-level configuration settings (ex. specific Tax Controls Functionality Options, Tax Accounts Creation Methods, Tax Rule Defaults, etc.). The content upload program also creates three default tax status codes as STANDARD for each of these three taxes. Finally, it also creates four default tax rate codes for each default tax status for storing sales, use, lease, and rental tax rates.

    Steps to Run Content Upload Program o Please reference Appendix E for the detailed steps in running the Fusion Tax

    Configuration Content Upload Program for different Fusion Applications Releases. o On Premise and Cloud Deployment considerations are also outlined in Appendix E.

    Fusion Functional Setup Manager lets a user uncheck the features that are not to be configured for a tax regime. This presents user with a list of minimal tasks required. Following features can be optionally turned off for a tax regime -

    Party Fiscal Classifications Legal Fiscal Classifications Product Fiscal Classifications Product Category Classifications Transaction Business Categories Transaction Fiscal Classifications Document Fiscal Classifications Intended Use Fiscal Classifications User-Defined Fiscal Classifications Multiple Tax Jurisdictions Tax Exemptions Tax Rate Exceptions Tax Recovery Tax Registration Statuses Offset Taxes

    Offset Taxes, Tax Rate Exceptions, and Tax Recovery must not be configured when using a tax partner. Tax Exemptions should optionally be configured, only if using Vertex Inc. Q-Series or ADP-Taxware SUT applications. If a tax partner decides to leverage any other feature listed above, tax partner must explain its usage to the Fusion customers via tax partner documentation.

  • Tax Partner APIs Integration Overview Oracle Corporation Confidential - For Oracle internal use only Page 7 of 71

    3 Tax Partner APIs Integration Overview Tax Partners integrate with Fusion applications through Fusion Tax. Fusion Tax has encapsulated all transaction events into three API calls to the tax partners. The diagram below shows a typical tax calculation/re-calculation and tax amount update flow for a Fusion Receivables transaction. This diagram explains the interaction between Fusion Receivables, Fusion Tax and a tax partner.

  • Tax Partner APIs Integration Overview Oracle Corporation Confidential - For Oracle internal use only Page 8 of 71

    No

    Yes

    User enters or updates a

    Transaction in Fusion

    Receivables

    Invoke a Fusion Tax

    Integration API

    Determine Applicable

    Tax Regimes Determine Applicable

    Tax Regimes

    Is it a Tax Partner

    Subscribed Tax

    Regime?

    Invoke User Extensible

    APIs

    Continue with Fusion

    Tax Processing

    Invoke Tax Partners Tax Calculation API

    Populate Mandatory Tax

    Lines Attributes

    Store Tax Lines in Fusion

    Tax Repository

    Store Tax Lines in Fusion

    Receivables

    Store Tax Lines in Fusion

    Receivables

    User overrides Tax

    Amount in Fusion

    Receivables

    Invoke a Fusion Tax

    Integration API

    Invoke Tax Partners Tax Synchronization API

    Store Tax Lines in Fusion

    Tax Repository

    Store Tax Lines in Fusion

    Receivables

  • Tax Partner APIs Integration Overview Oracle Corporation Confidential - For Oracle internal use only Page 9 of 71

    Some other common scenarios are - Update of a transaction line attribute that does not re-require tax re-calculation e.g. transaction_number - Deletion of a transaction - Entry of a manual tax line - Entry of a tax only invoice - Successful validation of a transaction Next section provides details of the three APIs tax partners are required to provide and how these APIs handle various transaction events (scenarios).

  • Tax Partner APIs Oracle Corporation Confidential - For Oracle internal use only Page 10 of 71

    4 Tax Partner APIs Following three PL/SQL APIs are to be provided by a tax partner adhering to the parameters specified by Fusion Tax. The API names can be anything as long as the specification of the API is same as described here.

    Tax Calculation

    Tax Synchronization

    Global Document Update Fusion Tax calls a tax partners at transaction level. All transaction lines requiring tax handling for a transaction are passed in a single call. Tax partners can calculate taxes for multiple countries in a single call if a tax regime is defined at a Tax Zone level and a partner API is capable of handling multiple countries in a single API call.

    4.1 Tax Calculation API

    This API is used to calculate and re-calculate transaction taxes for manually entered and imported transactions with or without tax lines. Following are the parameters for this API.

    Parameter Usage Data Type Description

    Currencies Table

    IN OUT zx_tax_partner_pkg. tax_currencies_tbl_type

    PL/SQL collection for passing transaction to tax currency exchange rate information when transaction currency is not same as tax currency. It is also used for receiving the precision for tax currency applied by the tax partner for rounding the tax amounts in tax currency.

    Resultant Tax Lines

    OUT zx_tax_partner_pkg. tax_lines_tbl_type

    PL/SQL collection for retuning tax lines determined by the tax partner API.

    Error Status OUT VARCHAR2

    API Return Status. The possible Values are:

    Success S,

    Error - E,

    Unexpected error - U

    Error / Debug Messages

    OUT zx_tax_partner_pkg. messages_tbl_type

    PL/SQL collection for retuning error and/or debug messages.

    For a detailed description of zx_tax_partner_pkg.tax_currencies_tbl_type, zx_tax_partner_pkg.tax_lines_tbl_type, and zx_tax_partner_pkg.messages_tbl_type data types, refer to Appendix A.

    The transaction header and lines details are available through ZX_O2C_CALC_TXN_INPUT_V view. For imported transactions, the imported tax lines are available through ZX_IMPORT_TAX_LINES_INPUT_V view. These views are also described in Appendix A. Few critical attributes of ZX_O2C_CALC_TXN_INPUT_V are discussed below.

    Transaction (Document) Level Actions

    o QUOTE Transaction is being sent for tax quote. This transaction is not supposed to be recorded in tax partners repository.

  • Tax Partner APIs Oracle Corporation Confidential - For Oracle internal use only Page 11 of 71

    o CREATE Transaction is being sent for tax calculation and recording in tax partners repository first time.

    o UPDATE A transaction, already stored in tax partner repository, is being sent for re-calculation of taxes. Transaction lines may or may not have changed.

    Line Level Actions

    Following table explains the valid line level actions in conjunction with transaction level actions.

    Document Level Action

    Line Level Action Business Scenario Example

    Expected behavior by Tax Partner

    CREATE

    CREATE Create new transaction line.

    Calculate taxes for the transaction line; Record the transaction line and calculated tax lines in the repository.

    CREATE_WITH_TAX Import transaction line with taxes.

    Record associated imported tax lines as is.

    QUOTE Request a tax estimate for a transaction line.

    Calculate taxes for the transaction line. Do not record the transaction line and tax lines in the repository. A tax calculation call may have some transaction lines with QUOTE line level action while other transaction lines with some other line level actions.

    RECORD_WITH_NO_TAX Fusion Receivables lets a user credit transaction lines only without requiring calculation of tax.

    Do not calculate taxes on the transaction line. Only record the transaction line information in the repository.

    LINE_INFO_TAX_ONLY User enters a tax only line without a transaction line. A dummy transaction line with a tax line is created.

    Store dummy transaction line as is without tax calculation. For imported transactions, a tax line is also sent for recording as is. For manually entered invoices, first a call is made to store transaction line as is. A subsequent synchronize call would synchronize the tax line.

    UPDATE

    CREATE Create a new line transaction line in an existing transaction.

    Calculate taxes for the newly added transaction line. Record transaction line and calculated tax lines in the repository.

  • Tax Partner APIs Oracle Corporation Confidential - For Oracle internal use only Page 12 of 71

    UPDATE Update a transaction header or a transaction line attributes that have tax implications.

    Recalculate taxes for the changed transaction line. Record the transaction line and calculated tax lines in the repository.

    DELETE Delete a transaction line.

    Physically delete the transaction line and associated tax lines from the repository.

    QUOTE Request a tax estimate for a transaction line.

    Calculate taxes for the transaction line. Do not record the transaction line and tax lines in the repository. A tax calculation call may have some transaction lines with QUOTE line level action while other transaction lines with some other line level actions.

    SYNCHRONIZE Update a transaction header or a transaction line attributes that does not require tax re-calculation.

    Do not recalculate taxes on the changed transaction line. Record the changes to the transaction line in the repository.

    LINE_INFO_TAX_ONLY User enters a tax only line without a transaction line. A dummy transaction line with a tax line is created.

    Store dummy transaction line as is without tax calculation. A subsequent synchronize call would synchronize the tax line.

    QUOTE

    N/A User enters a sales order.

    Calculate taxes for all the transaction lines. Do not record transaction lines and tax information in the repository.

    Max Tax Handling

    Tax Partners may support transaction header or transaction line level max tax or threshold. If a transaction header level max tax is incurred on a transaction, the tax partner API is expected to communicate it back to Fusion Tax by setting the attribute threshold indicator flag to Y on all tax lines for that tax.

    Exemptions and Exceptions Handling

    Exemptions or exceptions must be configured in the tax partner software.

    Fusion applications allow users to enter exemption certificate number and exemption reason on a transaction line if a user wants to enforce a specific exemption certificate. User can type any

  • Tax Partner APIs Oracle Corporation Confidential - For Oracle internal use only Page 13 of 71

    exemption certificate number or select an existing exemption certificate number using a List of Values. In order to get the List of Values, the exemptions must also be defined in Fusion Tax.

    Tax partners should perform validation of the exemption certificate number, check existence and/or create a new exemption certificate number entered by the user.

    Optionally, one more attribute, called exemption_control_flag, can also be passed on a transaction line. Following table shows the possible values of this flag and its intended behavior.

    Value Meaning Intended Behavior

    R Required Tax should be determined, ignoring the exemptions defined.

    S Standard Taxes are determined taking into account any exemptions that are configured in the tax partner application.

    E Exempt This option is accompanied by Exemption Certificate and Exempt Reason Code values. Exemption certificate specified on the transaction line must be applied. If the exemption certificate is not defined in the tax partner application, 100% exemption should be applied.

    Inclusive Taxes Handling

    Transaction line attribute Line Amount Includes Tax Flag informs tax partner API if tax amount is already included in the transaction line amount. This attribute indicates whether all taxes (i.e. both inclusive and exclusive) are included in the transaction line amount or only inclusive taxes are included in the transaction line amount or no taxes are included in the transaction line amount.

    There is another attribute called Other Inclusive Tax Amount passed to the tax partner API. This attribute is populated only if the value of Line Amount Includes Tax Flag is Only Inclusive Taxes are Included. This attribute contains the total included tax amount for one or more taxes that are not calculated by the tax partner, but included in the line amount.

    On the inclusive tax lines calculated by the tax partners, Inclusive Tax Line Flag must be set to Y.

    Rounding

    For converting tax amounts to one or more reporting currencies, Fusion Tax uses unrounded transaction currency tax amounts. Tax partner API must return both rounded and un-rounded tax amounts in the transaction currency.

    Partners should advise mutual customer to configure same or more precise rounding precision in Fusion Tax than in partner application. By doing so, Fusion Tax rounding process would not do further rounding on partner calculated rounded tax amounts.

  • Tax Partner APIs Oracle Corporation Confidential - For Oracle internal use only Page 14 of 71

    4.2 Tax Synchronization API

    This API is used to update information in the tax partner repository for the transaction line attributes that do not influence tax calculation, but are used in tax reports. Another use of this API is to synchronize the tax partner repository for the tax amount overrides made in Fusion applications.

    Tax partner API can return the changed effective tax rate and/or taxable basis for the overridden tax lines as a result of tax lines synchronization.

    Following are the parameters for this API.

    Parameter Usage Data Type Description

    Resultant Synchronized Tax Lines

    OUT zx_tax_partner_pkg. output_sync_tax_lines_tbl_type

    PL/SQL collection for returning synchronized tax lines back to Fusion Tax. Tax partner API may update effective tax rate and/or taxable basis. The parameter value is expected to be NULL if synchronization is for transaction attributes only.

    Error Status OUT VARCHAR2

    API Return Status. The possible Values are:

    Success S,

    Error - E,

    Unexpected error - U

    Error / Debug Messages

    OUT zx_tax_partner_pkg. messages_tbl_type

    PL/SQL collection for returning error and/or debug messages.

    For a detailed description of zx_tax_partner_pkg.output_sync_tax_lines_tbl_type and zx_tax_partner_pkg.messages_tbl_type data types, refer to Appendix A.

    The transaction specific synchronization inputs for this API are available through ZX_SYNC_HDR_INPUT_V and ZX_SYNC_LINES_INPUT_V views. The tax line specific synchronization inputs for this tax API are available through ZX_SYNC_TAX_LINES_INPUT_V view. These views are also described in Appendix A.

    Transaction (Document) Level Actions

    Document Level Action Business Scenario Example Expected Behavior by Tax Partner

    SYNCHRONIZE_HEADER_ONLY Update one or more reporting only attributes of the transaction header, which does not require tax re-calculation.

    Do not recalculate taxes for the changed transaction. Record changes to transaction header information in the repository.

    Reporting-only attributes at the transaction header level are -

    Transaction Number

    Transaction Description

    Document Sequence Value

    Transaction Due Date

  • Tax Partner APIs Oracle Corporation Confidential - For Oracle internal use only Page 15 of 71

    SYNCHRONIZE_TRX_LINES Update one or more reporting only attributes of a transaction line, which does not require tax re-calculation.

    Do not recalculate taxes on the changed transaction line. Record the changes to transaction line information in the repository.

    Reporting-only attributes at the transaction line level are

    Transaction Line Description

    Product Description

    SYNCHRONIZE_TAX_LINES User updates tax amount or manually enters one or more tax lines.

    Manual Tax line that is not associated with any transaction line is referred as tax only line and is identified by setting Tax Only Line Flag attribute to Y on the tax line.

    Do not recalculate taxes for the transaction. Record changes to the tax line in the repository. Optionally, determine effective tax rate and/or effective taxable basis for the changed tax lines. In certain situations, Fusion Tax does call tax partners for tax re-calculation even when no transaction line attribute has changed. Tax partner must ensure that previously user entered/ overridden tax amount are not changed during such calls.

    Tax Only Invoice Handling

    A tax only invoice comprises of tax only lines. There is a dummy transaction line created for such an invoice. For imported transactions, the dummy transaction line with the line level action LINE_INFO_TAX_ONLY is passed and the associated tax only line is also passed for the dummy line. For manually entered transactions, first a dummy transaction line with the line level action as LINE_INFO_TAX_ONLY is passed through Tax Calculation API. Tax partner is expected to simply store the dummy transaction line at this time. Subsequently, another call is made using tax synchronization API, to store the tax only line associated with the dummy transaction line in the tax partners repository.

    4.3 Global Document Update API

    This API handles transaction level actions.

    Following are the parameters for this API.

    Parameter Usage Data Type Description

    Transaction Record IN zx_tax_partner_pkg. trx_rec_type

    Identifies transaction and the transaction level action on the transaction.

    Error Status OUT VARCHAR2

    API Return Status. The possible Values are:

    Success S,

    Error - E,

    Unexpected error - U

    Error / Debug Messages

    OUT zx_tax_partner_pkg. messages_tbl_type

    PL/SQL collection for returning error and/or debug messages.

  • Tax Partner APIs Oracle Corporation Confidential - For Oracle internal use only Page 16 of 71

    For a detailed description of zx_tax_partner_pkg.trx_rec_type and zx_tax_partner_pkg.messages_tbl_type data types, refer to Appendix A.

    Transaction (Document) Level Actions

    Transaction Level Action

    Expected Behavior by Tax Partner

    DELETE Physically delete transaction lines and tax lines

    FREEZE_FOR_TAX Mark the transaction as ready to report

    UNFREEZE_FOR_TAX If the transaction is not yet reported, then mark it as not ready to report. If it is already reported, then return an error to indicate that the unfreeze process is not successful.

  • Partner Calculated Tax Lines Processing by Fusion Tax Oracle Corporation Confidential - For Oracle internal use only Page 17 of 71

    5 Partner Calculated Tax Lines Processing by Fusion Tax

    Tax partner calculated tax lines are validated before storing in Fusion Tax repository. If the value of a mandatory attribute of a tax line is invalid but can be replaced by a default value, a message is inserted in the debug log file; otherwise an error is raised to the user along with inserting the cause of the error in the debug log file.

    Following attribute values are defaulted by Fusion Tax if not correctly populated by tax partner in tax_lines_tbl_type.

    TAX_STATUS_CODE Populated with tax status code marked as a default tax status code.

    JURISDICTION_CODE Populated with the jurisdiction code derived based on the tax regime, tax and situs. If not found, jurisdiction_code is stored as NULL.

    TAX_RATE_CODE Populated with tax rate code for the tax_status_code with no associated tax_jurisdiction_code.

    Default accounting code combination for tax liability account is taken from the source tax jurisdiction first. If the tax has no associated source tax, then it is taken from the tax jurisdiction configuration. If it is not configured at tax jurisdiction level then it is taken from tax rate configuration. Users can decide to ignore default accounting code combination value by defining Sub-Ledger Accounting rules to derive accounting code combinations.

  • Tax Partner Repository Consistency Check Oracle Corporation Confidential - For Oracle internal use only Page 18 of 71

    6 Tax Partner Repository Consistency Check

    Tax partners must check consistency of transaction and tax lines in their repository with Fusion Receivables and Fusion Tax. There may be situations such as user session timeout, system crash or unexpected error that may result in not committing a transaction in Fusion after a tax partner API has been successfully called. If the tax partner API has already committed the transaction in tax partner repository, there would be inconsistency between Fusion Applications and Tax Partner repository. Tax Partner must provide scripts to the customers to perform data consistency check and cleanup tax partner repository periodically or at least prior to generating tax returns.

  • Tax Partner Party Creation & Registration Oracle Corporation Confidential - For Oracle internal use only Page 19 of 71

    7 Tax Partner Party Creation & Registration A tax partner must be created and registered as a party in Oracle Fusion Applications anytime the partner provides a data content file and/or provides a transaction tax calculation software application for use with Fusion. For tax partners whose metadata has been upgraded from Oracle E-Business Suite to Oracle Fusion Applications, such tax partners may already exist as a party in Oracle Fusion Applications as a result of the upgrade process. At the time of initial deployment, the tax partner installation process or project deployment process should create and register the tax partner as a party in Fusion if such a record does not already exist. The applicable steps will depend upon the specific type of Oracle Fusion Applications deployment and the Oracle Fusion Applications Release involved. Oracle Fusion On Premise Deployments: Required Steps for Utilizing Tax Partner Content and/or Services Case 1 On Premise Deployments using Oracle Fusion Releases 1 through 4 For all Oracle Fusion on premise deployments in which tax partner content, tax partner calculation services, or both tax partner content and calculation services will be utilized, tax partner party creation and registration is performed using a standard PL/SQL API. The standard Oracle API, ZX_REGISTER_TAX_PARTNER.register_tax_partner, allows the creation and registration of a tax partner as a party in Oracle Fusion Applications.

    To accomplish this task for Oracle Fusion on premise deployments using Fusion Releases 1 through 4, tax partners will be specifically responsible for providing the script below to all of their applicable clients upfront that will properly invoke a call to the standard Oracle API ZX_REGISTER_TAX_PARTNER.register_tax_partner to create and register the tax partner as a party as outlined in the sample calling syntax below:

    DECLARE x_err_message VARCHAR2(100); x_return_status VARCHAR2(10); BEGIN ZX_REGISTER_TAX_PARTNER.register_tax_partner (p_party_name => 'Partner Name', p_provider_type_code => 'Provider Type', x_err_message => x_err_message, x_return_status => x_return_status); IF x_return_status FND_API.G_RET_STS_SUCCESS THEN DBMS_OUTPUT.put_line('Error: ' || x_err_message); ELSE DBMS_OUTPUT.put_line('Party Created successfully'); END IF; END; / COMMIT; EXIT;

  • Tax Partner Party Creation & Registration Oracle Corporation Confidential - For Oracle internal use only Page 20 of 71

    In the API calling syntax outlined above, the tax partner must decide how to populate the Partner Name and Provider Type API Input Parameters based on an individual clients tax deployment needs as well as the following attribute table:

    Sequence Attribute Data Type Required Description

    1 Partner Name STRING Y Company name of the tax partner.

    2 Provider Type STRING Y

    The three possible values are BOTH, CONTENT, and SERVICES. CONTENT Tax partner provides only tax content for loading into Fusion Tax. SERVICES Tax partner provides only tax calculation services for Fusion customers. BOTH Tax partner provides both tax content and tax calculation services for Fusion customers.

    Case 2 On Premise Deployments using Oracle Fusion Release 5 and Subsequent Releases Similar to Case 1 outlined above, for all Oracle Fusion on premise deployments in which tax partner content, tax partner calculation services, or both tax partner content and calculation services will be utilized, tax partner party creation and registration is performed using the standard Oracle API, ZX_REGISTER_TAX_PARTNER.register_tax_partner.

    However, in on premise deployment situations which involve Oracle Fusion Release 5 and subsequent Releases, the API calling script will be different in structure. Tax partners will be specifically responsible for providing a script to all of their applicable clients upfront that will properly invoke a call to the standard Oracle API ZX_REGISTER_TAX_PARTNER.register_tax_partner to create and register the tax partner as a party as outlined in the sample calling syntax below for on premise deployments which involve Oracle Fusion Release 5 and subsequent releases:

    DECLARE x_err_message VARCHAR2(100); x_return_status VARCHAR2(10); x_party_tax_profile_id NUMBER; BEGIN ZX_REGISTER_TAX_PARTNER.register_tax_partner (p_party_name => 'Partner Name', p_party_code => 'Partner Code', p_provider_type_code => 'Provider Type', x_party_tax_profile_id => x_party_tax_profile_id, x_err_message => x_err_message, x_return_status => x_return_status); IF x_return_status FND_API.G_RET_STS_SUCCESS THEN DBMS_OUTPUT.put_line('Error: ' || x_err_message); ELSE DBMS_OUTPUT.put_line('Party Created successfully'); END IF; END; /

  • Tax Partner Party Creation & Registration Oracle Corporation Confidential - For Oracle internal use only Page 21 of 71

    COMMIT; EXIT;

    In the API calling syntax outlined above, the tax partner must decide how to populate the Partner Name and Provider Type API Input Parameters based on an individual clients tax deployment needs as well as the following attribute table:

    Sequence Attribute Data Type Required Description

    1 Partner Name STRING Y Company name of the tax partner.

    2 Partner Code STRING Y Company name of the tax partner. In practice, the Partner Name and Partner Code can be initialized as the same value.

    3 Provider Type STRING Y

    The three possible values are BOTH, CONTENT, and SERVICES. CONTENT Tax partner provides only tax content for loading into Fusion Tax. SERVICES Tax partner provides only tax calculation services for Fusion customers. BOTH Tax partner provides both tax content and tax calculation services for Fusion customers.

    Oracle Fusion Cloud Deployments: Required Steps for Utilizing Tax Partner Content Only

    For Oracle Fusion cloud deployments in which only tax partner content will be utilized, tax partner party creation and registration is performed using a two-step sequential process as outlined below. This approach is valid for all Oracle Fusion cloud deployments that are available with Fusion Applications Release 5 and subsequent releases.

    1. Creation of a standard lookup code value within the ZX_SERVICE_PROVIDER Lookup Type

    a. The existing ZX_SERVICE_PROVIDER Lookup Type is accessible by:

    Selecting Navigator > Tools > Setup and Maintenance.

    Entering Manage Standard Lookups as the Name in the All Tasks UI Tab.

    Selecting the Search Button and the Go to Task Icon for Manage Standard Lookups in sequence.

    Entering ZX_SERVICE_PROVIDER as the Lookup Type before selecting Search:

  • Tax Partner Party Creation & Registration Oracle Corporation Confidential - For Oracle internal use only Page 22 of 71

    b. After retrieving the existing ZX_SERVICE_PROVIDER Lookup Type by selecting Search as outlined above:

    Enter a Lookup Code for a tax partner.

    Check the Enabled Box.

    Enter a Start Date.

    Enter a Meaning and Description for a tax partner name.

    Save the information entered. A sample illustration is provided below:

    2. Execution of the tax data upload process

    Oracle Fusion Cloud clients will utilize the Import Tax Configuration Content Job in order to initiate the Fusion Tax data content upload of a particular tax partner data file. The Import Tax Configuration Content Job is accessed using the Scheduled Processes User Interface Page from the Tools group in the Fusion Navigator Menu.

    Please reference Appendix E Running the Fusion Tax Content Upload Program for all of the detailed navigation and steps on how to execute the tax content upload.

  • Tax Partner Party Creation & Registration Oracle Corporation Confidential - For Oracle internal use only Page 23 of 71

    Fusion Cloud Deployments: Required Steps for Utilizing Tax Partner Services Only or Content and Services For all Oracle Fusion cloud deployments in which only tax partner calculation services or both tax partner content and calculation services will be utilized, tax partner party creation and registration is performed using an inline create option available within the Tax Regime Service Subscriptions User Interface (UI). This approach is valid for all Oracle Fusion cloud deployments that are available with Fusion Applications Release 5 and subsequent releases. The procedures for tax partner party creation and registration are outlined below.

    1. Using the Navigator > Tools > Setup and Maintenance path, perform a task name search for Manage Tax Regimes:

    2. Select the Go to Task Icon for Manage Tax Regimes to retrieve the Manage Tax Regimes UI:

  • Tax Partner Party Creation & Registration Oracle Corporation Confidential - For Oracle internal use only Page 24 of 71

    3. Create an appropriate tax regime based on client requirements:

    4. Select the Service Subscriptions UI Tab and then select the Add a New Record Icon (Green Plus Sign):

  • Tax Partner Party Creation & Registration Oracle Corporation Confidential - For Oracle internal use only Page 25 of 71

    5. With the exception of the Service Provider, enter in all service subscription information:

    6. Use the drop-down listing for the Service Provider to select the inline Create option assuming the specific Service Provider has not been previously created:

  • Tax Partner Party Creation & Registration Oracle Corporation Confidential - For Oracle internal use only Page 26 of 71

    7. Enter the required information for the Create Service Provider UI (Note: The Type Field may either be populated with a value of Both or Services. A value of Both indicates that the tax partner will be used for both tax content and tax calculation services whereas a value of Services indicates that the tax partner will only be used for tax calculation services):

    8. Select Save and Close from the Create Service Provider UI, which will result in navigation back to the Create Tax Regime UI as shown below. (Note: Once the final review of the new tax regime has been completed, you may select Save and Close on the Create Tax Regime UI as well):

  • Tax Partner Installation & Integration Oracle Corporation Confidential - For Oracle internal use only Page 27 of 71

    8 Tax Partner Installation & Integration

    Tax partner integration with Fusion Tax is a three-step process: 1. Create and register tax partner as a party 2. Plug-in tax partner API calls in a Fusion Tax pl/sql procedure 3. Optionally, create user extensible procedures Since partner objects are to be installed in partner schema, execute permission on tax partner APIs must be granted to Fusion schema.

    8.1 Create and Register Tax Partner as a Party Please reference the Tax Partner Party Creation & Registration Section for specific steps.

    8.2 Tax Partner APIs Plug-in

    Calls to tax partner APIs for tax calculation, tax synchronization, and global document update need to be placed in the pl/sql procedure ZX_PTNR_SRVC_INTGRTN_PKG.invoke_third_party_interface. This procedure is shipped with a sample commented code for guidance. As a post tax partner installation step, implementation consultants should copy the commented code and modify the copied code by changing the partner name and regime code. -- Following is the sample code that is written for Vertex Q Series and Taxware SUT Integration -- Implementation consultants should copy and modify this code for any other tax software -- p_partner_name and p_tax_regime_code values would vary based on tax partner and regime configuration IF p_partner_name = 'Vertex Inc' THEN IF p_tax_regime_code = AND p_business_flow = 'O2C' THEN IF p_service_type_code = 'CALCULATE_TAX' THEN -- APIs used in Vertex Q Series -- ***************Replace with your package.procedure name************************************-- -- ***************Ensure that OUT parameters are as per API specification**************************-- ZX_VERTEX_TAX_SERVICE_PKG.calculate_tax_api (ZX_PTNR_SRVC_INTGRTN_PKG.G_TAX_CURRENCIES_TBL, --IN ZX_PTNR_SRVC_INTGRTN_PKG.G_TAX_LINES_RESULT_TBL, --OUT ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS, --OUT ZX_PTNR_SRVC_INTGRTN_PKG.G_MESSAGES_TBL); --OUT IF ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS FND_API.G_RET_STS_SUCCESS THEN x_return_status := FND_API.G_RET_STS_ERROR; RETURN; END IF; ELSIF p_service_type_code = 'SYNCHRONIZE_FOR_TAX' THEN -- ***************Replace with your package.procedure name************************************-- -- ***************Ensure that OUT parameters are as per API specification**************************--

  • Tax Partner Installation & Integration Oracle Corporation Confidential - For Oracle internal use only Page 28 of 71

    ZX_VERTEX_TAX_SERVICE_PKG.SYNCHRONIZE_VERTEX_REPOSITORY (ZX_PTNR_SRVC_INTGRTN_PKG.G_SYNC_TAX_LINES_TBL, --OUT ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS, --OUT ZX_PTNR_SRVC_INTGRTN_PKG.G_MESSAGES_TBL); --OUT IF ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS FND_API.G_RET_STS_SUCCESS THEN x_return_status := FND_API.G_RET_STS_ERROR; RETURN; END IF; ELSIF p_service_type_code = 'DOCUMENT_LEVEL_CHANGES' THEN -- ***************Replace with your package.procedure name************************************-- -- ***************Ensure that OUT parameters are as per API specification**************************-- ZX_VERTEX_TAX_SERVICE_PKG.GLOBAL_DOCUMENT_UPDATE (ZX_PTNR_SRVC_INTGRTN_PKG.G_TRX_REC, --IN ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS, --OUT ZX_PTNR_SRVC_INTGRTN_PKG.G_MESSAGES_TBL); --OUT IF ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS FND_API.G_RET_STS_SUCCESS THEN x_return_status := FND_API.G_RET_STS_ERROR; RETURN; END IF; ELSE Raise InvalidServiceType; END IF; --ELSIF **************** Add separate code here for different Regime and Business Flow if needed***** ELSE Raise InvalidContextCcid; END IF; END IF; IF p_partner_name = 'Adp Inc.' OR p_partner_name = 'Taxware, LP - A First Data Company' THEN IF p_tax_regime_code = AND p_business_flow = 'O2C' THEN IF p_service_type_code = 'CALCULATE_TAX' THEN -- APIs used in ADP-Taxware SUT -- This is an example and end users can call their own API's here as well. -- ***************Replace with your package.procedure name************************************-- -- ***************Ensure that OUT parameters are as per API specification**************************-- ZX_TAXWARE_TAX_SERVICE_PKG.calculate_tax_api (ZX_PTNR_SRVC_INTGRTN_PKG.G_TAX_CURRENCIES_TBL, --IN ZX_PTNR_SRVC_INTGRTN_PKG.G_TAX_LINES_RESULT_TBL, --OUT ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS, --OUT ZX_PTNR_SRVC_INTGRTN_PKG.G_MESSAGES_TBL); --OUT IF ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS FND_API.G_RET_STS_SUCCESS THEN x_return_status := FND_API.G_RET_STS_ERROR; RETURN; END IF;

  • Tax Partner Installation & Integration Oracle Corporation Confidential - For Oracle internal use only Page 29 of 71

    ELSIF p_service_type_code = 'SYNCHRONIZE_FOR_TAX' THEN -- ***************Replace with your package.procedure name************************************-- -- ***************Ensure that OUT parameters are as per API specification**************************-- ZX_TAXWARE_TAX_SERVICE_PKG.SYNCHRONIZE_TAXWARE_REPOSITORY (ZX_PTNR_SRVC_INTGRTN_PKG.G_SYNC_TAX_LINES_TBL, --OUT ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS, --OUT ZX_PTNR_SRVC_INTGRTN_PKG.G_MESSAGES_TBL); --OUT IF ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS FND_API.G_RET_STS_SUCCESS THEN x_return_status := FND_API.G_RET_STS_ERROR; RETURN; END IF; ELSIF p_service_type_code = 'DOCUMENT_LEVEL_CHANGES' THEN -- ***************Replace with your package.procedure name************************************-- -- ***************Ensure that OUT parameters are as per API specification**************************-- ZX_TAXWARE_TAX_SERVICE_PKG.GLOBAL_DOCUMENT_UPDATE (ZX_PTNR_SRVC_INTGRTN_PKG.G_TRX_REC, --IN ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS, --OUT ZX_PTNR_SRVC_INTGRTN_PKG.G_MESSAGES_TBL); --OUT IF ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS FND_API.G_RET_STS_SUCCESS THEN x_return_status := FND_API.G_RET_STS_ERROR; RETURN; END IF; ELSE Raise InvalidServiceType; END IF; --ELSIF **************** Add code here for more tax regimes if needed************ ELSE Raise InvalidContextCcid; END IF; END IF; IMPORTANT NOTE: When no tax partner application is implemented, this procedure raises an exception RAISE CODE_NOT_GENERATED;. Tax partners or implementers should comment this line of code after inserting a call to a tax partner application. In practice, failure to comment out this exception can result in transaction runtime errors.

  • Tax Partner Installation & Integration Oracle Corporation Confidential - For Oracle internal use only Page 30 of 71

    8.3 User Extensible Procedures

    For tax partner integration, Fusion Tax provides ninety user extensible attributes. Forty five extensible attributes are available at transaction header level and another forty five attributes are present at transaction line level. These attributes are not persistent in any Fusion Tax table but are available in ZX_O2C_CALC_TXN_INPUT_V view for tax calculation purposes. The attributes are

    header_char1 to header_char30 header_numeric1 to header_numeric10 header_date1 to header_date5 line_char1 to line_char30 line_numeric1 to line_numeric10 line_date1 to line_date5

    Header extensible attributes are also available in ZX_SYNC_HDR_INPUT_V and lines extensible attributes are available in ZX_SYNC_LINES_INPUT_V for synchronizing the header and line attributes with the tax partner repository, if a tax partner wishes to use these attributes for tax reporting.

    If a tax partner decides to use extensible attributes, tax partner must explain how these attributes are used by tax partner application. It should be in tax partner documentation for the mutual customers. Users must know the sources for these attributes in the Fusion Applications as users are expected to populate the value in those source attributes.

    These attributes are populated by user procedures. Package and procedure name is decided by the user. If the logic to derive values of these attributes varies by business unit/first party legal entity, users can create separate user procedures for each business unit/first party legal entity or can have conditional logic in one procedure itself.

    Calls to user extensible procedures must be placed in ZX_USER_EXT_PKG.invoke_third_party_interface procedure. This procedure is shipped with a sample commented code for guidance. Implementation consultants should copy the commented code and modify the copied code by changing the partner name and regime code. -- Following is the sample code that is written for Vertex Q Series and Taxware SUT Integration -- Implementation consultants should copy and modify this code for any other tax software -- p_partner_name and p_tax_regime_code values would vary based on tax partner and regime configuration -- If you write separate procedures for different Business Units/Legal Entities, -- you would need to add conditions for checking Business Unit/Legal Entity in the IF statement -- You can use as many OR clauses as needed as per your situation IF p_partner_name = 'Vertex Inc' AND ((p_bu_or_le_name = AND p_party_type = ) OR (p_bu_or_le_name = < enter business unit or legal entity name> AND p_party_type = ) OR ) THEN IF p_tax_regime_code = AND p_business_flow = 'O2C' THEN IF p_service_type_code = 'DERIVE_HDR_ATTRS' THEN -- APIs used in Vertex Q Series -- ***************Replace with your package.procedure name************************************--

  • Tax Partner Installation & Integration Oracle Corporation Confidential - For Oracle internal use only Page 31 of 71

    -- ***************Ensure that OUT parameters are as per API specification**************************-- ZX_VTX_USER_PKG.derive_hdr_ext_attr (ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS, --OUT ZX_PTNR_SRVC_INTGRTN_PKG.G_MESSAGES_TBL); --OUT IF ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS FND_API.G_RET_STS_SUCCESS THEN x_return_status := FND_API.G_RET_STS_ERROR; RETURN; END IF; ELSIF p_service_type_code = 'DERIVE_LINE_ATTRS' THEN -- ***************Replace with your package.procedure name************************************-- -- ***************Ensure that OUT parameters are as per API specification**************************-- ZX_VTX_USER_PKG.derive_line_ext_attr (ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS, --OUT ZX_PTNR_SRVC_INTGRTN_PKG.G_MESSAGES_TBL); --OUT IF ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS FND_API.G_RET_STS_SUCCESS THEN x_return_status := FND_API.G_RET_STS_ERROR; RETURN; END IF; ELSE Raise InvalidServiceType; END IF; --ELSIF **************** Add separate code here for different Regime and Business Flow if needed ELSE Raise InvalidContextCcid; END IF; END IF; IF (p_partner_name = 'Adp Inc.' OR p_partner_name = 'Taxware, LP - A First Data Company') AND

    ((p_bu_or_le_name = AND p_party_type = ) OR

    (p_bu_or_le_name = < enter business unit or legal entity name> AND p_party_type = ) OR ) THEN IF p_tax_regime_code = AND p_business_flow = 'O2C' THEN IF p_service_type_code = 'DERIVE_HDR_ATTRS' THEN -- APIs used in Taxware SUT -- ***************Replace with your package.procedure name************************************-- -- ***************Ensure that OUT parameters are as per API specification**************************-- ZX_TAXWARE_USER_PKG.derive_hdr_ext_attr (ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS, ZX_PTNR_SRVC_INTGRTN_PKG.G_MESSAGES_TBL); IF ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS FND_API.G_RET_STS_SUCCESS THEN x_return_status := FND_API.G_RET_STS_ERROR; RETURN; END IF; ELSIF p_service_type_code = 'DERIVE_LINE_ATTRS' THEN

  • Tax Partner Installation & Integration Oracle Corporation Confidential - For Oracle internal use only Page 32 of 71

    -- ***************Replace with your package.procedure name************************************-- -- ***************Ensure that OUT parameters are as per API specification**************************-- ZX_TAXWARE_USER_PKG.derive_line_ext_attr (ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS, ZX_PTNR_SRVC_INTGRTN_PKG.G_MESSAGES_TBL); IF ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS FND_API.G_RET_STS_SUCCESS THEN x_return_status := FND_API.G_RET_STS_ERROR; RETURN; END IF; ELSE Raise InvalidServiceType; END IF; --ELSIF **************** Add code here for more tax regimes if needed*************** ELSE Raise InvalidContextCcid; END IF; END IF; IMPORTANT NOTE: When no user procedure is implemented in conjunction with the deployment of a tax partner application, this procedure raises an exception RAISE CODE_NOT_GENERATED;. In such cases, tax partners or implementers should comment this line of code. In practice, failure to comment out this exception can result in transaction runtime errors.

  • Vertex Q-Series and ADP-Taxware Sales and Use Tax (SUT) Integration Oracle Corporation Confidential - For Oracle internal use only Page 33 of 71

    9 Vertex Q-Series and ADP-Taxware Sales and Use Tax (SUT) Integration In EBS R12, Oracle pre-packaged Vertex Inc. Q-Series and ADP-Taxware SUT zip files and provided a shell script to unzip and install partner software. This process installed database objects only. Customers had to install Vertex Inc./ADP-Taxware client software using Vertex Inc./ADP-Taxware installation process. In Fusion, Vertex Inc. Q-Series and ADP-Taxware SUT software are not shipped as zip files. Customers must get both backend and client software from Vertex Inc./ADP-Taxware. Vertex Inc. and ADP-Taxware are responsible for providing installation and integration manual to customers. This section explains additional steps required for Vertex Inc. Q-Series and ADP-Taxware SUT. It is recommended that these steps are done in a script to make installation easier for the customers. Oracle Fusion would not publish any document on Vertex Inc. Q-Series and ADP-Taxware implementation. So, Vertex Inc. and ADP-Taxware must publish their integration manual for mutual customers. Note that for all other tax partner software integration other than Vertex Inc. Q-Series and ADP-Taxware SUT, this section must be skipped.

    9.1 Vertex Q-Series

    1. After creating Vertex Inc. as a party as per the instructions given in Tax Partner Installation & Integration section and after installing Q-Series software, re-create following synonyms CONNECT / CREATE OR REPLACE SYNONYM ZX_TAX_VERTEX_QSU FOR .QSU; CREATE OR REPLACE SYNONYM ZX_TAX_VERTEX_GEO FOR .GEO; CREATE OR REPLACE SYNONYM ZX_TAX_VERTEX_AUDIT FOR .REGPRERETURNSTBL;

    2. Provide grants to FUSION schema on the required Q-Series objects. 3. Create index on Vertex Audit Table

    CREATE INDEX ON REGPRERETURNSTBL (TRANSUSERAREA); 4. Vertex Inc. Q-Series APIs do not follow APIs specification described in Tax Partner APIs section of this

    document. Oracle Fusion provides three wrappers APIs over Vertex Inc. Q-Series APIs to meet Oracle specifications. Vertex Inc. can either use the same for integrating with Fusion, can change these wrappers or can re-write Q-Series APIs as per the APIs specification.

    o Tax Calculation API - ZX_VERTEX_TAX_SERVICE_PKG.CALCULATE_TAX_API o Tax Synchronization API -

    ZX_VERTEX_TAX_SERVICE_PKG.SYNCHRONIZE_VERTEX_REPOSITORY o Global Document Update API -

    ZX_VERTEX_TAX_SERVICE_PKG.GLOBAL_DOCUMENT_UPDATE 5. To invoke ZX_VERTEX_TAX_SERVICE_PKG.CALCULATE_TAX_API,

    ZX_VERTEX_TAX_SERVICE_PKG.SYNCHRONIZE_VERTEX_REPOSITORY and ZX_VERTEX_TAX_SERVICE_PKG.GLOBAL_DOCUMENT_UPDATE API wrapper APIs, modify ZX_PTNR_SRVC_INTGRTN_PKG.invoke_third_party_interface procedure as explained in Tax Partner Installation and Integration section.

    6. Customizable functions that were made available in EBS R12 are still available in ZX_VTX_USER_PKG. Refer Oracle E-Business Tax: Vertex Q-Series and Taxware Sales/Use Tax System Implementation Guide, Release 12 for more information on customizable functions and explain the same in an implementation guide for the mutual customers.

  • Vertex Q-Series and ADP-Taxware Sales and Use Tax (SUT) Integration Oracle Corporation Confidential - For Oracle internal use only Page 34 of 71

    7. Customizable functions are called from ZX_VTX_USER_PKG.DERIVE_HDR_EXT_ATTR and ZX_VTX_USER_PKG.DERIVE_LINE_EXT_ATTR procedures. Implementation consultant should change ZX_USER_EXT_PKG.invoke_third_party_interface procedure to un-comment the commented code that calls the ZX_VTX_USER_PKG.DERIVE_HDR_EXT_ATTR and ZX_VTX_USER_PKG. DERIVE_LINE_EXT_ATTR procedures. Implementation consultant must follow instructions provided in User Extensible Attributes section specifically p_partner_name and p_tax_regime_code values.

    8. Profile options provided for Vertex Q-Series integration in EBS R12 continue to exist in Fusion.

    9.2 Taxware SUT

    1. After creating ADP-Taxware as a party as per the instructions given in Tax Partner Installation & Integration section and after installing ADP-Taxware SUT software, re-create following synonyms CONNECT / CREATE OR REPLACE SYNONYM ZX_TAX_TAXWARE_010 FOR .TAXPKG_10; CREATE OR REPLACE SYNONYM ZX_TAX_TAXWARE_GEN FOR .TAXPKG_GEN; CREATE OR REPLACE SYNONYM ZX_TAX_TAXWARE_AUDIT_HEADER FOR .TAXAUDIT_HEADER; CREATE OR REPLACE SYNONYM ZX_TAX_TAXWARE_AUDIT_DETAIL FOR .TAXAUDIT_DETAIL; CREATE OR REPLACE SYNONYM ZX_TAX_TAXWARE_AUDIT_JURIS FOR .TAXAUDIT_JURIS; CREATE OR REPLACE SYNONYM ZX_TAX_TAXWARE_AUDIT_TAX FOR .TAXAUDIT_TAX;

    2. Provide grants to FUSION schema on the required SUT objects. 3. ADP-Taxware SUT APIs do not follow APIs specification described in Tax Partner APIs section of this

    document. Oracle wrote three wrappers APIs over ADP-Taxware SUT APIs to meet Oracle specifications. ADP-Taxware can either use the same for integrating with Fusion, can change these wrappers or can re-write SUT APIs as per the APIs specification.

    o Tax Calculation API - ZX_TAXWARE_TAX_SERVICE_PKG.CALCULATE_TAX_API o Tax Synchronization API -

    ZX_TAXWARE_TAX_SERVICE_PKG.SYNCHRONIZE_TAXWARE_REPOSITORY o Global Document Update API -

    ZX_TAXWARE_TAX_SERVICE_PKG.GLOBAL_DOCUMENT_UPDATE 4. To invoke ZX_TAXWARE_TAX_SERVICE_PKG.CALCULATE_TAX_API,

    ZX_TAXWARE_TAX_SERVICE_PKG.SYNCHRONIZE_TAXWARE_REPOSITORY and ZX_TAXWARE_TAX_SERVICE_PKG.GLOBAL_DOCUMENT_UPDATE wrapper APIs, modify ZX_PTNR_SRVC_INTGRTN_PKG.invoke_third_party_interface procedure as explained in Tax Partner Installation and Integration section.

    5. Customizable functions that were made available in EBS R12 are still available in ZX_TAXWARE_USER_PKG. Refer Oracle E-Business Tax: Vertex Q-Series and Taxware Sales/Use Tax System Implementation Guide, Release 12 for more information on customizable functions and explain the same in an implementation guide for the mutual customers.

    6. Customizable functions are called from ZX_TAXWARE_USER_PKG.DERIVE_HDR_EXT_ATTR and ZX_TAXWARE_USER_PKG.DERIVE_LINE_EXT_ATTR procedures. Implementation consultant should change ZX_USER_EXT_PKG.invoke_third_party_interface procedure to un-comment the commented code that calls ZX_TAXWARE_USER_PKG.DERIVE_HDR_EXT_ATTR and ZX_TAXWARE_USER_PKG.DERIVE_LINE_EXT_ATTR procedures. Implementation consultant must follow instructions provided in User Extensible Attributes section specifically p_partner_name and p_tax_regime_code values.

    7. Profile options provided for ADP-Taxware SUT integration in EBS R12 continue to exist in Fusion.

  • Appendix A Data Types and Database Views Oracle Corporation Confidential - For Oracle internal use only Page 35 of 71

    10 Appendix A Data Types and Database Views

    Transaction header, transaction line and tax lines are uniquely identified with following composite unique keys in the data types and views explained in this section.

    Transaction Header composite unique key is document_type_id and transaction_id.

    Transaction Line composite unique key is document_type_id, transaction_id, transaction_line_id and trx_level_type.

    Tax Line composite unique key is document_type_id, transaction_id, transaction_line_id, trx_level_type, country_code (represents tax regime code), tax and situs.

    10.1 zx_tax_partner_pkg.messages_tbl_type

    A table of this data type is used for receiving errors returned by tax partner APIs. Each error should be returned in one of the following three contexts:

    Transaction Header

    Transaction Line

    Tax Line

    messages_tbl_type is a PL/SQL table that contains following columns:

    Sequence Attribute Data Type Required Description

    1 document_type_id NUMBER Y

    Document type identifier. Document type represents Sales Invoice, Credit Memo etc. All possible values are listed in Appendix D.

    2 transaction_id NUMBER Y

    Primary transaction identifier that distinguishes a transaction/document uniquely in the context of a document type.

    3 transaction_line_id NUMBER N Primary transaction line identifier that represents a transaction line uniquely within a transaction.

    4 trx_level_type VARHCAR2(30) N

    Transaction level type. Possible values are LINE, FREIGHT. This column is only for the purposes of uniquely identifying a transaction line. It does not have any implications for the tax processing.

    5 country_code VARCHAR2(30) N Tax Regime Code

    6 tax VARCHAR2(30) N

    Represents a classification of the charges imposed by a government through a fiscal or tax authority. For example, it can be STATE, COUNTY, CITY, DISTRICT COUNTY, DISTRICT CITY, etc.

    7 situs VARCHAR2(30) N

    Represents the location to which the Tax applies. Possible values are SHIP_TO, BILL_TO, SHIP_FROM, BILL_FROM, POA and POO.

    8 error_message_type VARCHAR2(30) Y Represents the severity of the error message returned by the tax partner

  • Appendix A Data Types and Database Views Oracle Corporation Confidential - For Oracle internal use only Page 36 of 71

    service. Possible values are ERROR and INFORMATION.

    9 error_message_string VARCHAR2(240) Y Error message text

    10.2 zx_tax_partner_pkg.output_sync_tax_lines_tbl_type

    A table of this data type is used by tax synchronization API to return effective tax rate percentage and/or effective taxable basis determined by tax partner API for the tax lines that are being synchronized in the tax partners repository. output_sync_tax_lines_tbl_type is a PL/SQL table of records sync_tax_lines_rec_type having following columns:

    Sequence Attribute Data Type Required Description

    1 document_type_id NUMBER Y

    Document type identifier. Document type represents Sales Invoice, Credit Memo etc. All possible values are listed in Appendix D.

    2 transaction_id NUMBER Y

    Primary transaction identifier that distinguishes a transaction/document uniquely in the context of a document type.

    3 transaction_line_id NUMBER Y Primary transaction line identifier that represents a transaction line uniquely within a transaction.

    4 trx_level_type VARHCAR2(30)

    Y

    Transaction level type. Possible values are LINE, FREIGHT. This column is only for the purposes of uniquely identifying a transaction line. It does not have any implications for the tax processing.

    5 country_code VARCHAR2(30)

    Y Tax Regime Code

    6 tax VARCHAR2(30)

    Y

    Represents a classification of the charges imposed by a government through a fiscal or tax authority. For example, it can be STATE, COUNTY, CITY, DISTRICT COUNTY, DISTRICT CITY, etc.

    7 situs VARCHAR2(30)

    Y

    Represents the location to which the Tax applies. Possible values are SHIP_TO, BILL_TO, SHIP_FROM, BILL_FROM, POA and POO.

    8 tax_rate_percentage NUMBER N Effective tax rate percentage determined by the tax partners synchronization API.

    9 taxable_amount NUMBER N Effective taxable amount determined by the tax partners synchronization API.

    Tax Partner API must return either tax_rate_percentage or taxable_amount or both for each output line.

  • Appendix A Data Types and Database Views Oracle Corporation Confidential - For Oracle internal use only Page 37 of 71

    10.3 zx_tax_partner_pkg.tax_currencies_tbl_type

    A table of this data type is used by tax calculation API to pass exchange rate information to the tax partner if transaction currency is different from the tax currency. The same table is also used to receive precision information from the tax partner for tax currency. tax_currencies_tbl_type is of record tax_currencies_rec_type having following columns:

    Sequence Attribute Data Type Required Description

    1 tax VARCHAR2(30) Y

    Represents a classification of the charges imposed by a government through a fiscal or tax authority. For example, it can be STATE, COUNTY, CITY, DISTRICT COUNTY, DISTRICT CITY, etc.

    2 tax_currency_code VARCHAR2(15) Y

    Currency code of tax currency or currency of the taxation country. For example, USD represents US Dollars and it is the currency for US Sales and Use Tax.

    3 trx_line_currency_code VARCHAR2(15) Y Currency code of transaction line currency.

    4 exchange_rate NUMBER Y

    Exchange rate between the transaction line currency and the tax currency. Tax partner can use an exchange rate specified by a tax authority instead of the exchange rate passed by Oracle. If another exchange rate is used, tax partner should return the exchange rate in this attribute. The value of this attribute is 1, if the two currencies are the same.

    5 tax_currency_precision NUMBER Y Precision used by tax partner for rounding the tax amounts in the tax currency.

    10.4 zx_tax_partner_pkg.tax_lines_tbl_type

    A table of this data type is used by tax calculation API to receive tax lines determined by the tax partner. tax_lines_tbl_type contains following columns:

    Sequence Attribute Data Type Required Description

    1. document_type_id NUMBER Y

    Document type identifier. Document type represents Sales Invoice, Credit Memo etc. All possible values are listed in Appendix D.

    2. transaction_id NUMBER Y

    Primary transaction identifier that distinguishes a transaction/document uniquely in the context of a document type.

    3. transaction_line_id NUMBER Y Primary transaction line identifier that represents a

  • Appendix A Data Types and Database Views Oracle Corporation Confidential - For Oracle internal use only Page 38 of 71

    transaction line uniquely within a transaction.

    4. trx_level_type VARHCAR2(30) Y

    Transaction level type. Possible values are LINE, FREIGHT. This column is only for the purposes of uniquely identifying a transaction line. It does not have any implications for the tax processing.

    5. country_code VARCHAR2(30) Y Tax Regime Code

    6. Tax VARCHAR2(30) Y

    Represents a classification of the charges imposed by a government through a fiscal or tax authority. For example, it can be STATE, COUNTY, CITY, DISTRICT COUNTY, DISTRICT CITY, etc.

    7. Situs VARCHAR2(30) Y

    Represents the location to which the Tax applies. Possible values are SHIP_TO, BILL_TO, SHIP_FROM, BILL_FROM, POA and POO.

    8. tax_jurisdiction VARCHAR2(30) N Tax Jurisdiction Code

    9. tax_status_code VARCHAR2(30) N Tax status code

    10. tax_rate_code VARCHAR2(30) N Tax rate code

    11. tax_amount NUMBER Y Rounded tax amount in transaction currency.

    12. unrounded_tax_amount NUMBER Y Un-rounded tax amount in transaction currency.

    13. tax_currency_code VARCHAR2(30) Y Tax Currency

    14. tax_curr_tax_amount NUMBER Y Rounded tax amount in tax currency.

    15. tax_rate_percentage NUMBER Y Tax rate %, which when applied on taxable amount gives tax amount.

    16. taxable_amount NUMBER Y Taxable amount in transaction currency.

    17. Tax_Exemption_id NUMBER N Tax Exemption unique identifier

    18. exempt_certificate_number VARCHAR2(80) N Tax exemption certificate

    number

    19. exempt_rate_modifier NUMBER N Percentage of the original tax rate that is exempt.

    20. exempt_reason VARCHAR2(240) N Tax exemption reason

    21. Exemption_reason_code VARCHAR2(30) N Exempt reason code

    22. tax_only_line_flag VARCHAR2(1) N

    Flag to indicate this is a tax only line. Possible values are Y and N. Tax partner is expected to return the same value as passed by E-Business Suite during tax calculation interface.

    23. inclusive_tax_line_flag VARCHAR2(1) N Flag to indicate if this tax line

  • Appendix A Data Types and Database Views Oracle Corporation Confidential - For Oracle internal use only Page 39 of 71

    is of inclusive taxes. Possible values are Y and N.

    24. line_amt_includes_tax_flag VARCHAR2(1) N

    An internal attribute to be populated for Fusion use only. This is needed to enhance the overall performance of tax calculation interface. Tax partners must provide the value of this attribute from the input transaction line information. This value is same for all the tax lines associated with a transaction line.

    25. use_tax_flag VARCHAR2(1) N For Future Use. Pass N always.

    26. user_override_flag VARCHAR2(1) N

    Indicates if the tax line calculated by the tax partner service is overridden by the end user. Possible values are Y and N.

    27. last_manual_entry VARCHAR2 N

    Indicates which value the end user has overridden - whether the tax amount or the tax rate %. Possible values are TAX_RATE and TAX_AMOUNT.

    28. manually_entered_flag VARCHAR2(1) N

    Flag to indicate if the tax line is manually entered by the user. Possible values are Y and N. Please note that user_override_flag is set when a calculated tax line is changed by the user, whereas manually_entered_flag is set when a new tax line is created by the user.

    29. registration_party_type VARCHAR2(30) N

    Party type whose registration was used for tax calculation. SHIP_TO, BILL_TO, SHIP_FROM, BILL_FROM, POA and POO.

    30. party_tax_reg_number VARCHAR2(50) N Tax registration number of the first party.

    31. threshold_indicator_flag VARCHAR2(1) N

    Indicates if a header level max tax has been applied to one or more transaction lines during tax processing. Possible values are Y and N. This value should be the same for all tax lines of a tax.

    32. Attribute_category VARCHAR2(600) N Descriptive flexfield context column

    33. Attribute_date1 DATE N Descriptive flexfield segment

    34. Attribute_date2 DATE N Descriptive flexfield segment

  • Appendix A Data Types and Database Views Oracle Corporation Confidential - For Oracle internal use only Page 40 of 71

    35. Attribute_date3 DATE N Descriptive flexfield segment

    36. Attribute_date4 DATE N Descriptive flexfield segment

    37. Attribute_date5 DATE N Descriptive flexfield segment

    38. Attribute_number1 NUMBER N Descriptive flexfield segment

    39. Attribute_number2 NUMBER N Descriptive flexfield segment

    40. Attribute_number3 NUMBER N Descriptive flexfield segment

    41. Attribute_number4 NUMBER N Descriptive flexfield segment

    42. Attribute_number5 NUMBER N Descriptive flexfield segment

    43. Attribute1 VARCHAR2(600) N Descriptive flexfield segment

    44. Attribute2 VARCHAR2(600) N Descriptive flexfield segment

    45. Attribute3 VARCHAR2(600) N Descriptive flexfield segment

    46. Attribute4 VARCHAR2(600) N Descriptive flexfield segment

    47. Attribute5 VARCHAR2(600) N Descriptive flexfield segment

    48. Attribute6 VARCHAR2(600) N Descriptive flexfield segment

    49. Attribute7 VARCHAR2(600) N Descriptive flexfield segment

    50. Attribute8 VARCHAR2(600) N Descriptive flexfield segment

    51. Attribute9 VARCHAR2(600) N Descriptive flexfield segment

    52. Attribute10 VARCHAR2(600) N Descriptive flexfield segment

    53. Attribute11 VARCHAR2(600) N Descriptive flexfield segment

    54. Attribute12 VARCHAR2(600) N Descriptive flexfield segment

    55. Attribute12 VARCHAR2(600) N Descriptive flexfield segment

    56. Attribute13 VARCHAR2(600) N Descriptive flexfield segment

    57. Attribute15 VARCHAR2(600) N Descriptive flexfield segment

    58. Char1 VARCHAR2(600) N User extensible attribute for future use.

    59. Char2 VARCHAR2(600) N User extensible attribute for future use.

    60. Char3 VARCHAR2(600) N User extensible attribute for future use.

    61. Char4 VARCHAR2(600) N User extensible attribute for future use.

    62. Char5 VARCHAR2(600) N User extensible attribute for future use.

    63. Char6 VARCHAR2(600) N User extensible attribute for future use.

    64. Char7 VARCHAR2(600) N User extensible attribute for future use.

    65. Char8 VARCHAR2(600) N User extensible attribute for future use.

    66. Char9 VARCHAR2(600) N User extensible attribute for future use.

    67. Char10 VARCHAR2(600) N User extensible attribute for future use.

    68. Date1 DATE N User extensible attribute for future use.

    69. Date2 DATE N User extensible attribute for future use.

    70. Date3 DATE N User extensible attribute for future use.

    71. Date4 DATE N User extensible attribute for future use.

  • Appendix A Data Types and Database Views Oracle Corporation Confidential - For Oracle internal use only Page 41 of 71

    72. Date5 DATE N User extensible attribute for future use.

    73. Date6 DATE N User extensible attribute for future use.

    74. Date7 DATE N User extensible attribute for future use.

    75. Date8 DATE N User extensible attribute for future use.

    76. Date9 DATE N User extensible attribute for future use.

    77. Date10 DATE N User extensible attribute for future use.

    78. Numeric1 NUMBER N User extensible attribute for future use.

    79. Numeric2 NUMBER N User extensible attribute for future use.

    80. Numeric3 NUMBER N User extensible attribute for future use.

    81. Numeric4 NUMBER N User extensible attribute for future use.

    82. Numeric5 NUMBER N User extensible attribute for future use.

    83. Numeric6 NUMBER N User extensible attribute for future use.

    84. Numeric7 NUMBER N User extensible attribute for future use.

    85. Numeric8 NUMBER N User extensible attribute for future use.

    86. Numeric9 NUMBER N User extensible attribute for future use.

    87. Numeric10 NUMBER N User extensible attribute for future use.

    88. Global_Attribute_Category VARCHAR2(150) N For Internal use.

    89. Global_Attribute2 VARCHAR2(150) N For Internal use.

    90. Global_Attribute4 VARCHAR2(150) N For Internal use.

    91. Global_Attribute6 VARCHAR2(150) N For Internal use.

    92. Legal_justification_text1 VARCHAR2(4000) N Legal justification text 1

    93. Legal_justification_text2 VARCHAR2(4000) N Legal justification text 2

    94. Legal_justification_text3 VARCHAR2(4000) N Legal justification text 3

    95. Legal_message_appl_2 NUMBER N Legal message for tax applicability.

    96. Legal_message_basis NUMBER N Legal message for taxable basis.

    97. Legal_message_calc NUMBER N Legal message for tax calculation.

    98. Legal_message_excpt NUMBER N Legal message for exceptions.

    99. Legal_message_exmpt NUMBER N Legal message for exemptions.

    100. Legal_message_pos NUMBER N Legal message for place of supply.

    101. Legal_message_rate NUMBER N Legal message for rate determination.

    102. Legal_message_status NUMBER N Legal message for status

  • Appendix A Data Types and Database Views Oracle Corporation Confidential - For Oracle internal use only Page 42 of 71

    determination.

    103. Legal_message_threshold NUMBER N Legal message for thresholds.

    104. Legal_message_trn NUMBER N Legal message for tax registration number.

    10.5 zx_tax_partner_pkg.trx_rec_type

    A record of this data type is used by global document API to pass transaction identifiers and corresponding document level action. trx_rec_type contains following columns:

    Sequence Attribute Data Type Description

    1 document_type_id NUMBER Document type identifier. Document type represents Sales Invoice, Credit Memo etc. All possible values are listed in Appendix D.

    2 transaction_id NUMBER Primary transaction identifier that distinguishes a transaction/document uniquely in the context of a document type.

    3 document_level_action VARCHAR2(30) Document level action for the document type / transaction.

    10.6 zx_api_prvdr_pub.error_messages_tbl

    A table of this data type is used for returning errors by Fusion to tax partners while registering a tax partner service.

    The type error_messages_tbl is a TABLE OF VARCHAR2(1000) INDEX BY BINARY_INTEGER

    10.7 ZX_IMPORT_TAX_LINES_INPUT_V

    This view is used in tax calculation API to pass imported tax lines to the tax partners. The columns of the view are:

    Sequence Attribute Data Type Description

    1. document_type_id NUMBER Document type identifier. Document type represents Sales Invoice, Credit Memo etc. All possible values are listed in Appendix D.

    2. transaction_id NUMBER Primary transaction identifier that distinguishes a transaction/document uniquely in the context of a document type.

    3. transaction_line_id NUMBER Primary transaction line identifier that represents a transaction line uniquely within a transaction.

    4. trx_level_type VARHCAR2(30)

    Transaction level type. Possible values are LINE, FREIGHT. This column is only for the purposes of uniquely identifying a transaction line. It does not have any implications for the tax processing.

    5. country_code VARCHAR2(30) Tax Regime Code

    6. tax VARCHAR2(30) Represents a classification of the charges

  • Appendix A Data Types and Database Views Oracle Corporation Confidential - For Oracle internal use only Page 43 of 71

    imposed by a government through a fiscal or tax authority. For example, it can be STATE, COUNTY, CITY, DISTRICT COUNTY, DISTRICT CITY, etc.

    7. situs VARCHAR2(30) Represents the location to which the Tax applies. Possible values are SHIP_TO, BILL_TO, SHIP_FROM, BILL_FROM, POA and POO.

    8. tax_jurisdiction VARCHAR2(30) Tax Jurisdiction Code

    9. tax_currency_code VARCHAR2(15) Tax Currency Code

    10. tax_amount NUMBER Rounded tax amount in transaction currency.

    11. Tax_amount_tax_currency NUMBER Rounded tax amount in tax currency.

    12. Tax_rate_percentage NUMBER Tax rate %, which when applied on taxable amount gives tax amount.

    13. taxable_amount NUMBER Taxable amount in transaction currency.

    14. exempt_rate_modifier NUMBER Percentage of the original tax rate that is exempt.

    15. exempt_reason VARCHAR2(240) Tax exemption reason.

    16. Tax_only_line_flag VARCHAR2(1) Flag to indicate this is a tax only line. Possible values are Y and N. If the value is Y, then the corresponding transaction_line_id can be NULL.

    17. inclusive_tax_line_flag VARCHAR2(1) Flag to indicate if this tax line is of inclusive taxes. Possible values are Y and N.

    18. use_tax_flag VARCHAR2(1) For Future Use. Value is always N.

    19. manually_entered_flag VARCHAR2(1) Flag to indicate if the tax line has been manually entered by the end user. Possible values are Y and N.

    20. Overridden_flag VARCHAR2(1) Flag to indicate if the tax line has been manually overridden by the end user. Possible values are Y and N.

    21. Last_manual_entry VARCHAR2(30)

    Indicates which value the end user has overridden - whether the tax amount or the tax rate %. Possible values are TAX_RATE and TAX_AMOUNT.

    22. Tax_registration_number VARCHAR2(50)

    10.8 ZX_O2C_CALC_TXN_INPUT_V

    This view is used by tax calculation API for providing transaction information to the tax partners. The columns of this view are:

    Sequence Attribute Data Type Description

    Header Level Tax Calculation Attributes

    1. internal_organization_id NUMBER Internal organization identifier of the transaction.

    2. document_type_id NUMBER

    Document type identifier. Document type represents Sales Invoice, Credit Memo etc. All possible values are listed in Appendix D.

    3. transaction_id NUMBER

    Primary transaction identifier that distinguishes a transaction/document uniquely in the context of a document type.

  • Appendix A Data Types and Database Views Oracle Corporation Confidential - For Oracle internal use only Page 44 of 71

    4. document_level_action VARCHAR2(30) Document level action for the document type / transaction.

    5. trx_date DATE Transaction date

    6. legal_entity_number VARCHAR2(30) Legal entity number

    7. establishment_number VARCHAR2(30) First party legal entitys establishment number

    Header Level Reporting-Only Attributes

    8. transaction_number VARCHAR2(150) Transaction number, typically the number that enables a user to identify a transaction.

    9. transaction_description VARCHAR2(240) Description for the transaction.

    10. document_sequence_value VARCHAR2(240) Document sequence number for the transaction.

    11. transaction_due_date DATE Payment due date of the transaction.

    12. allow_tax_calculation VARCHAR2