Vous êtes sur la page 1sur 76

Oracle E-Business Suite Tax Partner Integration Cookbook

Oracle Partner Network


Copyright (C) 2006 Oracle Corporation All Rights Reserved

Contents

Oracle E-Business Suite .................................................................................... 1 Tax Partner Integration Cookbook................................................ 1


Overview ............................................................................................................. 5 Oracle E-Business Suite Integration Framework.......................... 6
E-Business Suite Integration Standards .................................................................................... 6 E-Business Suite Integration Outsourcing Standards ........................................................ 6

Tax Partner Services Integration Steps .............................................. 8


E-Business Suite Tax Events............................................................................................................ 8 Some Important Interface Attributes ........................................................................................... 9
Line Level Action attribute and its values ............................................................................................... 9 Attributes referring other Document Types ............................................................................................. 10 Tax Line Attributes representing End User or E-Business Suite Processes Overrides ............................ 10 Overrides by End User ......................................................................................................................... 10 Overrides by E-Business Suite Processes............................................................................................. 11 Attributes to uniquely (key) identify a Transaction Header, Line and Tax Line ..................................... 11

PL/SQL Based Tax Interfaces....................................................................................................... 12 Registration and Plug-in of Partner Services for Out-of-the-Box Integration .... 14 Additional Attributes for Tax Partners Use ......................................................................... 14

Example Scenarios Illustrating E-Business Suite Tax Interfaces .......................................................................................................... 17


Example 1 Sales Invoice .............................................................................................................. 17
Step 1: Create Sales Invoice ..................................................................................................................... 18 Step 2: Override Tax on Sales Invoice ..................................................................................................... 19 Step 3: Update Sales Invoice .................................................................................................................... 21 Step 4: Complete Sales Invoice................................................................................................................ 23 Step 5: Create and Apply Credit Memo for Sales Invoice ....................................................................... 23

Example 2 Purchase Invoice ..................................................................................................... 24


Step 1: Enter Prepayment ......................................................................................................................... 25 Step 2: Create Purchase Invoice with Prepayment Applied ..................................................................... 25 Step 3: Cancel Purchase Invoice .............................................................................................................. 27

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 2 of 76

Example 3 Importing Sales Invoice ....................................................................................... 27


Step 1: Import Sales Invoice with Tax ..................................................................................................... 28 Step 2: Update Header Level Information on Sales Invoice .................................................................... 29 Step 3: Tax Override on Sales Invoice by E-Business Suite Process....................................................... 30 Step 4: Update Header Level Reporting Attribute on Sales Invoice........................................................ 31 Step 5: Update Line Level Reporting Attribute(s) on Sales Invoice........................................................ 31

Oracle E-Business Suite Tax Interfaces ........................................... 33


Tax Calculation.................................................................................................................................... 34 Tax Synchronization .......................................................................................................................... 39 Global Document Update ............................................................................................................... 42 Commit for Tax .................................................................................................................................... 43

Tax Partner Services Registration and Plug-In APIs ............... 44


Tax Partner Services Registration ............................................................................................. 44
Create Tax Partner Service Registration .................................................................................................. 45 Delete Tax Partner Service Registration .................................................................................................. 46

Tax Partner Services Plug-in ........................................................................................................ 46 Out-of-the-box Integration ............................................................................................................. 47

Appendix A Data Types and Database Views ........................... 49


zx_tax_partner_pkg.messages_tbl_type ................................................................................................... 49 zx_tax_partner_pkg.output_sync_tax_lines_tbl_type .............................................................................. 50 zx_tax_partner_pkg.tax_currencies_tbl_type........................................................................................... 51 zx_tax_partner_pkg.tax_lines_tbl_type.................................................................................................... 51 zx_tax_partner_pkg.trx_rec_type ............................................................................................................. 53 zx_api_prvdr_pub.error_messages_tbl..................................................................................................... 53 ZX_IMPORT_TAX_LINES_INPUT_V ................................................................................................. 53 ZX_O2C_CALC_TXN_INPUT_V / ZX_P2P_CALC_TXN_INPUT_V ............................................... 54 ZX_SYNC_HDR_INPUT_V ................................................................................................................... 64 ZX_SYNC_LINES_INPUT_V ................................................................................................................ 66 ZX_SYNC_TAX_LINES_INPUT_V ...................................................................................................... 67

Appendix B List of Document Types ............................................. 69 Appendix C List of Country Codes ................................................. 70 Appendix D Tax Partner Service - Sample Logic ..................... 71 Appendix E Error Messages List for Registration APIs...... 72
For use by Oracle employees and authorized partner only. Do not distribute to third parties.
Page 3 of 76

Create Tax Partner Service Registration API ........................................................................................... 72 Delete Tax Partner Service Registration API ........................................................................................... 72

Appendix F What has changed since Release 11i?.................. 73


Strategy Change for Tax Partner Integration ...................................................................... 73 Strategy Change for Supporting Customized User Procedures .................................. 73 Strategy Change for Exemptions handling ............................................................................ 74

Appendix G List of Geography Types ........................................... 75 Appendix H Frequently Asked Questions ................................... 76

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 4 of 76

Overview
The Tax Partner Services Integration Cookbook provides information for allowing eligible Oracle Partner Network (OPN) members to integrate their tax solutions with Oracle E-Business Suite. This document adheres to the integration standards published in Oracle E-Business Suite Integration Development Guide and Oracle E-Business Suite Outsourcing Integration Development Guide, both of which are briefly described in Oracle E-Business Suite Integration Framework section. This document is intended for product managers, analysts and developers of Tax Partners who plan to integrate their transaction (indirect) tax engine with E-Business Suite. This document introduces the E-Business Suite tax events concept, open tax interfaces for integrating tax partner services and interface parameters. This document further discusses some business scenarios that tax partners need to understand for making themselves compatible with the E-Business Suite tax interfaces and parameters. This document also provides the technical and functional details of the E-Business Suite APIs, which should be invoked to register and plug-in tax partner services with E-Business Suite. By integrating with E-Business Suite tax interfaces, tax partners are no longer needed to have separate integrations built for different E-Business Suite products. Moreover, E-Business Suite Products no longer need to worry about integration with Tax Partners as Tax Partners integration is now handled through EBusiness Suite tax interfaces. This document also discusses about the infrastructural support provided by E-Business Suite to let customers capture additional information specific to a tax partner. This document explains all the interface parameters provided by E-Business Suite. However, this document does not provide the details of what additional information needs to be captured for a specific tax partner. The partners are required to publish about it in their documentation provided to the mutual customers.

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 5 of 76

Oracle E-Business Suite Integration Framework


E-Business Suite Integration Standards
E-Business Suite Integration (EBSi) helps qualified Oracle Partner Network (OPN) members to provide complete solutions to customers, integrating their complementary products with Oracle E-Business Suite. Oracle E-Business Suite Integration Development Guide describes the integration development process followed by partners participating in Oracles E-Business Suite Integration (EBSi) initiative. It is intended for Oracle Partner Network (OPN) members who plan to integrate their applications with Oracle E-Business Suite. It provides useful guidance to: Integration Project Managers Integration Developers Other Integration Team Members

The following tasks necessary to perform the integration process are described in this guide. Integration techniques, such as use of Oracle APIs, are outlined. This guide also discusses the responsibilities of the partner. Integration Project Launch Determination of Strategy and Scope of integration Analysis of specifications and processes for integration Design for building integration code Build of Integration Code User Documentation EBSi Approval for integration Distribution and support of the integration Integration Upgrades and Enhancements

Copies of this document and other E-Business Suite integration-related information are available in the Initiatives area of the Home tab at Oracle Partner Network web site (http://partner.oracle.com/)

E-Business Suite Integration Outsourcing Standards


E-Business Suite Outsourcing Integration (EBSO Integration) helps qualified Oracle Partner Network (OPN) members to provide complete solutions to customers, integrating their complementary products with Oracle E-Business Suite in Outsourcing environment. The focus of the Oracle E-Business Suite Outsourcing Integration Development Guide is the EBSO Integration standards and accepted techniques for Oracle E-Business Suite in Outsourcing environment. The guide describes Integration development standards for Oracle E-Business Suite Outsourcing environment only and is not intended to describe other Outsourcing offerings. Information about the qualifications for EBSO Integration can be found at the Oracle Partner Network web site (http://partner.oracle.com/) and for Outsourcing at http://www.oracle.com/outsourcing. Copies of this document are also available in the Partner Initiatives area of the Home tab at Oracle Partner Network web site (http://partner.oracle.com/).

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 6 of 76

Oracle E-Business Suite Outsourcing Guide contains description for the following elements: Outsourcing Life Cycle Outsourcing Automation Platform Outsourcing Services

The Outsourcing Life Cycle is a standardized, repeatable, highly automated process through which all Oracle Outsourcing services are delivered. The tasks involved in this integration process are similar to those described in the above section for Oracle E-Business Integration Development Guide. Outsourcing Automation Platform is a framework that defines Outsourcing software architecture, hardware architecture, and Outsourcing tools. Outsourcing Services contain administration, management and software and hardware configuration. These services are delivered daily as services through which long term growth and optimal performance of the environment is assured.

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 7 of 76

Tax Partner Services Integration Steps


Integration with Oracle E-Business Suite requires a tax partner to perform the following tasks Understand concept behind E-Business Suite tax events Understand some important attributes of E-Business Suite tax interfaces Provide PL/SQL based implementation of tax interfaces Register and plug-in tax services for out-of-the-box integration with E-Business Suite Publish user guidelines for what information to capture in additional transaction attributes provided by E-Business Suite tax interfaces. These attributes are provided exclusively for tax partners use.

Each of these steps is explained in detail in the subsequent sections.

E-Business Suite Tax Events


In this section, we have taken a scenario in a typical Sales Invoice lifecycle to explain the concept of a tax event.

In this example scenario, each step represents an action being taken on the Sales Invoice. In this example, Sales Invoice is the transaction while Create, Update, Override Tax and Complete are the actions. A transaction life cycle may have number of events but not all actions on a transaction require integration with a tax engine. Only those actions that require tax calculation or tax reporting attributes synchronization are tax events. With the help of above example, let us understand the terms Document Type and Document Level Action. In this example, Sales Invoice would be called Document Type while actions Create, Update etc. would be referred to as Document Level Actions. A complete list of Document Types is available in Appendix B. A document type is categorized either as a Procure-to-Pay or Order-to-Cash type of document. We have used the term Business Flow for such document categorization. Procure-to-Pay represents purchase transactions. The business flow code for this category is P2P. Order-to-Cash represents sales transactions. The business flow code for this category is O2C. A document level action invokes tax interface(s) based on the situation. For example, a document level action UPDATE requires re-calculation of taxes while the document level action SYNCHRONIZE requires update to the tax repository for the changed value of one or more tax reporting attributes like transaction number. In both the above situations, for an end user, it is a change in the transaction. Oracle would enhance the list of document type and document level actions as and when new Oracle EBusiness Suite applications and events are supported. Certain document type or document level actions may not be the tax event for a given situation. For example, few states in the United States do not impose any For use by Oracle employees and authorized partner only. Do not distribute to third parties.
Page 8 of 76

sales tax, there is no sales tax collected on pre-payments in the United States at the time this document was written etc. It is the responsibility of the Tax Partner to determine whether there are any taxes or not for a specific document type, document level action in a particular situation.

Some Important Interface Attributes


In this section, we are introducing some attributes that are not business related but are very important for the tax partner services. A brief explanation of each of these attributes is given here including the purpose of these attributes. Line level action attribute Transaction attributes that refer to other document types Tax line attributes that represent overrides made by end user or by E-Business Suite processes Attributes to uniquely (key) identify a transaction header, line and tax line

Line Level Action attribute and its values


While Document Level Action attribute represents an action on a Document Type (transaction), each line of a transaction may have a different Line Level Action associated with it. For example, when UPDATE action happens on a transaction, all the lines of that transaction may not be updated. The lines that are updated have the line level action as UPDATE, whereas the lines that are newly added to an existing transaction have the line level action as CREATE. The applicable line level actions for each tax interface are explained in the description of that interface under Oracle E-Business Suite Tax Interfaces section. Following are all possible line level actions with a brief explanation: Create To identify a newly created or imported transaction line requiring tax calculation Update To identify a transaction line on which one or more attributes are updated after the last tax calculation Cancel To identify a transaction line marked as canceled. The transaction line amount may or may not be set as zero when a transaction line is marked as Canceled. A canceled transaction line does not add to the outstanding balance of the transaction. Canceled lines are not physically deleted from EBusiness Suite. Some E-Business Suite Applications set the transaction line amount as zero while canceling a transaction line. This information is provided to the Tax Partners to synchronize their repository with Oracle E-Business Suite. Delete To identify a deleted transaction line. Such lines are physically deleted from the transaction. Synchronize To identify updates to attributes on a transaction line, which are used for tax reporting and not for tax calculation. This action does not require recalculation of taxes. Quote To identify a transaction line that requires only a tax estimate and is not to be recorded in the tax repository Create With Tax To identify an imported transaction line that is being imported with tax lines associated with it. Additional taxes may be calculated for such transaction lines.

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 9 of 76

Line Info Tax Only To identify a dummy transaction line that is being stored for storing a tax only line. Record With No Tax To identify an imported transaction line that is being imported without any associated tax lines and does not require tax calculation. Apply From To identify a transaction line of another document included in the current document, e.g. prepayment line on a Purchase Invoice Unapply From To identify a transaction line of another document unapplied from the current document, e.g. negative prepayment line on a Purchase Invoice

Attributes referring other Document Types


E-Business Suite has certain attributes to specify the association of one document type to other document types. For example, a Credit Memo may be created to apply a credit to an existing invoice. This kind of a relationship between document types may influence tax calculation. To capture such relationships, EBusiness Suite has added the attributes for other document types at the line level. These attributes are available, to ensure accurate tax calculation. Adjusted Document Type It is used for a prior document type that is being adjusted by the current document type. As an example, for an applied sales credit memo, the existing sales invoice, to which the credit is being applied, is the adjusted document. When calling tax partner service for determining taxes for the applied credit memo, E-Business Suite populates the adjusted document type related attributes on the credit memo line with the original invoice line identifier. Tax partner service for tax calculation should ensure that the tax amounts for any tax on the credit memo do not exceed those on the invoice. Also, it must be ensured that there is no additional tax returned for the credit memo, which is not present for the sales invoice being adjusted. Applied From Document Type It is used to indicate application of a transaction line from a prior document to the current document type e.g. a prepayment amount from an existing prepayment invoice is applied to a new Purchase Invoice. When calling tax partner service for determining taxes of the purchase invoice, E-Business Suite populates this information on the applied prepayment line of the standard invoice.

Tax Line Attributes representing End User or E-Business Suite Processes Overrides
This sub-section describes the attributes that represent overrides on the tax lines. The values of these attributes are passed to the appropriate tax partner interface, along with other tax line attributes, for synchronizing the tax partner repository. Following are the two types of overrides possible in E-Business Suite: Overrides by End User Overrides by E-Business Suite Processes

Overrides by End User

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 10 of 76

E-Business Suite provides user interfaces for the end user to view and modify the taxes calculated for a transaction. An end user can update, cancel or delete an existing tax line determined by a tax partner service. However, the end user can only update the values of tax rate % and tax amount attributes. The end user can manually enter additional tax lines too. These manual tax lines may or may not have an actual transaction line. The tax lines that are not associated with a dummy transaction line are referred to as tax only lines and are represented by setting Tax Only Line Flag attribute to Y. The following table lists all the attributes that provide information regarding the user override of a tax line:
Attribute User Override Flag Last Manual Entry Manually Entered Flag Tax Only Line Flag Cancel Flag Delete Flag Description Indicates whether the end user has overridden the tax line Indicates whether the end user has overridden the tax amount or the tax rate % Indicates if the end user has manually entered the tax line Indicates if this is a tax only line Indicates whether the end user has canceled the tax line Indicates whether the end user has deleted the tax line

Overrides by E-Business Suite Processes Some business processes in the Oracle E-Business Suite necessitate changes to the tax lines returned by the partner. For example, if a tax line is already accounted, then it cannot be deleted after re-calculation. If the ship to location changes to another state for the corresponding transaction line, it may necessitate the deleting of the previous tax line and creation of another tax line for the new ship-to state. However, since an accounted tax line cannot be deleted, it is marked as Canceled with a zero tax amount, but retained to create reversing accounting entry and for reference with the accounting system. The E-Business Suite synchronizes these zero amount tax lines with the tax partners repository. E-Business Suite sets the Ebiz Override Flag attribute to Y for indicating the overrides made exclusively by an E-Business Suite process, without any intervention from the end user.

Attributes to uniquely (key) identify a Transaction Header, Line and Tax Line
The following two attributes uniquely identify a transaction header:
Attribute Document Type Identifier Transaction Identifier Description Represents code of the document type (e.g. 1 Purchase Invoice, 4 Sales Invoice etc) Represents the unique identifier of the document type instance

The following four attributes uniquely identify a transaction line:


Attribute Document Type Identifier Transaction Identifier Transaction Line Identifier Transaction Level Type Description Represents code of the document type (e.g. 4 Sales Invoice, 1 Purchase Invoice, etc) Represents the unique identifier of the document type instance Represents the identifier of a transaction line within the transaction Represents code of the transaction line type (e.g. LINE, FREIGHT). For few E-Business

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 11 of 76

Suite applications, transaction line identifier along with transaction level type identifies a transaction line uniquely within a transaction. This attribute is only for the purposes of uniquely identifying a transaction line. It is not to be used for tax calculations.

The following seven attributes uniquely identify a tax line:


Attribute Document Type Identifier Transaction Identifier Transaction Line Identifier Transaction Level Type Description Represents code of the document type (e.g. 4 Sales Invoice, 1 Purchase Invoice, etc) Represents the unique identifier of the document type instance Represents the identifier of a transaction line within the transaction Represents code of the transaction line type (e.g. LINE, FREIGHT). For few E-Business Suite applications, transaction line identifier along with transaction level type identifies a transaction line uniquely within a transaction. This attribute is only for the purposes of uniquely identifying a transaction line. It is not to be used for tax calculations. Country Tax Represents the taxation country 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. While integrating with the tax partner, taxes (codes) defined in the partner system needs to be uploaded into Oracle E-Business Suite to ensure the data consistency. Represents the location to which the Tax applies. For example, it can be SHIP_TO, BILL_TO, etc

Situs

PL/SQL Based Tax Interfaces


Since many E-Business Suite application processes reside in the database tier (not the middle-tier), PL/SQL technology is optimal for integrating tax partner services with E-Business Suite. Hence, it is a pre-requisite that the tax partner services to be integrated with E-Business Suite should be PL/SQL stored procedures. Tax partners are expected to wrap their services with PL/SQL stored procedures if written in different technology. E-Business Suite has defined a set of four tax interfaces to integrate tax partner services in a uniform, clearly defined, and consistent manner. Each tax interface satisfies a specific functionality in the overall tax processing for a transaction. These interfaces are the single point of integration for tax partners to integrate with all E-Business Suite applications. Following table lists all the four E-Business Suite tax interfaces with a short description. For detailed description of all these tax interfaces please refer to Oracle E-Business Suite Tax Interfaces section.
Tax Interface Name
Tax Calculation Tax Synchronization Global Document Update Commit for Tax

Description
Calculates and Recalculates Taxes. Also, Imports documents from an external system with tax lines. Synchronizes tax reporting attributes changes in the application product. Also, synchronizes tax line overrides by an end user or an E-Business Suite process. Communicates to the tax partner about document level actions that are applicable to all transaction lines such as CANCEL, DELETE, PURGE etc. Communicates to the tax partner when a data base commit is issued for a tax reportable

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 12 of 76

Tax Interface Name

Description
transaction for which a tax partner was called for the tax calculation in the same database transaction. This interface is needed only if a tax partner is calling services written in middle-tier.

At present, these interfaces are available for US Sales and Use Tax only. Tax partners can provide a separate set of tax services for different business flows, or only one set for both the business flows (Order-To-Cash and Procure-To-Pay). The following diagram shows a typical scenario where multiple tax partners are integrated with E-Business Suite for different countries and business flows.

In the above example diagram, there are two tax partners integrated with E-Business Suite Tax Interfaces. Of these, Tax Partner 1 provides a set of tax services to integrate with E-Business Suite Order-To-Cash Business Flow and another set for Procure-To-Pay Business Flows for US Sales and Use Taxes. Tax Partner 2 provides only one set of tax services for integrating with both Order-To-Cash and Procure-ToPay Business Flows. E-Business Suite processes one document at a time through the tax interfaces passing header and all lines in one call. Tax partner services are invoked synchronously. Hence, tax partner services are expected to commit based on the Oracle Database commit instructions issued from E-Business Suite applications.

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 13 of 76

To provide support for some tax partners that are in the process of writing their tax services using Application Servers (middle-tier), E-Business Suite provides another optional interface, namely Commit for Tax interface, to communicate the Oracle Database commit instruction to the tax partners. For more information about this tax interface, please refer to Oracle E-Business Suite Tax Interfaces section. Please note that the three interfaces listed in the table above are mandatory while Commit for Tax interface is optional and applies to only those tax partners who plan to wrap their non PL/SQL services with PL/SQL stored procedures.

Registration and Plug-in of Partner Services for Out-of-the-Box Integration


E-Business Suite provides a set of APIs for the tax partners to register and plug-in their tax services. Tax partners can register only one tax service for a business flow and tax interface. The tax services that a tax partner registers should be compatible with the E-Business Suite tax interfaces, as discussed in Oracle EBusiness Suite Tax Interfaces section. This means that the specification of the tax partner service should have the parameters with the same data type and also, in the same order, as the parameters listed for the tax interface that they are being registered with. Please refer Appendix D for the sample logic representative of how to define the specification of a tax partner service that is compatible with the tax calculation interface. Following table lists the E-Business Suite registration and plug in APIs with a short description of each API. For detailed description of all these APIs please refer to Tax Partner Services Registration and Plug-In APIs section.
API Name create_srvc_registration delete_srvc_registration execute_srvc_plugin Description Creates a tax partner service registration for a business flow and tax interface Deletes an existing tax partner service registration for a business flow and tax interface Plugs in the registered tax partner services into the execution flow of E-Business Suite

Tax partners can provide out-of-the-box integration solution to mutual customers by using these APIs to register and plug-in their tax services as part of their installation process.

Additional Attributes for Tax Partners Use


Certain information required by a tax partner service may not be captured in E-Business Suite. For example, a tax partner service may require username and/or password needed to validate the calling system before executing a tax partner service. E-Business Suite has provided additional attributes with each of its tax interfaces. These attributes enable a tax partner service to receive additional information specific to the tax partner. E-Business Suite also provides infrastructure for its customers to execute their custom PL/SQL procedures, which derive the values of these additional attributes, just before calling a tax partner service. Following are additional attributes provided by E-Business Suite for tax partners use. These are divided into three sets, based on their data types. The three sets of additional attributes are provided at both transaction header and line levels. Header Char 1 .. Header Char 30 of type VARCHAR2 Header Numeric 1 .. Header Numeric 10 of type NUMBER Header Date 1 .. Header Date 5 of type DATE. Line Char 1 .. Line Char 30 of type VARCHAR2 Line Numeric 1 .. Line Numeric 10 of type NUMBER For use by Oracle employees and authorized partner only. Do not distribute to third parties.
Page 14 of 76

Line Date 1 .. Line Date 5 of type DATE.

What each of these attributes means to a tax partner service is to be defined by the tax partner. Tax partners may choose to use none, some, or all of these attributes. A tax partner needs to identify what additional information is expected in each of these attributes and publish it in the documentation provided to the mutual customers. This documentation should also describe if values are mandatory or optional. It should also provide the list of valid values, if applicable. Based on the documentation provided by the tax partner, the customers can create PL/SQL procedures (user procedures) for deriving the values of the additional attributes. The customers can then register and plug in those user procedures with E-Business Suite. The following diagram provides an example to demonstrate how these additional attributes can be made use of by a tax partner.

In the above example diagram, the tax partner has identified Header Char 1 (of type VARCHAR2) as Company Code, and Line Char 1 (of type VARCHAR2) as Customer Class and documented it in the user manual.

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 15 of 76

In the above case a tax partner would publish the following information to the mutual customers.
Attribute company_code customer_class Data Type NUMBER VARCHAR2 Level Header Line Mapped To
Header Numeric 1 Line char 1

The mutual customer defines one or more PL/SQL procedures to derive the values of these attributes. Users have flexibility of writing additional attributes derivation logic differently for each operating unit or legal entity. The customer then registers and plugs-in his user procedures with E-Business Suite by making use of the infrastructure provided by E-Business Suite. As shown in the above diagram, during the actual tax processing, E-Business Suite executes the user procedures to populate the attributes Header Char 1 (of type VARCHAR2), and Line Char 1(of type VARCHAR2). E-Business Suite then calls the tax partner service and passes these values to the tax partner service. Please note that any validations for the values of these attributes are to be carried out by the tax partner service.

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 16 of 76

Example Scenarios Illustrating E-Business Suite Tax Interfaces


In this section, we have taken three examples to illustrate how E-Business Suite Tax Interfaces come into play for different tax events. These examples also describe the expected behavior of tax partner services. The following information applies to all the three examples: Only few transaction line parameters are shown in the examples for simplicity. Only few tax line attributes are shown here for simplicity. However, all relevant tax line attributes must be passed back to E-Business Suite. Examples taken here are by no means exhaustive and also, may not depict the actual E-Business Suite application behavior. E-Business Suite applications specific details are available in the user guides of the applications. The sample data shown for the tax lines does not represent the actual taxes of the example jurisdictions considered.

Example 1 Sales Invoice


In this example, we have taken a sample life cycle of a Sales Invoice to explain how calls are made to the tax partner services through E-Business Suite tax interfaces. The following diagram shows different tax events (i.e. document level actions) that may occur on a typical Sales Invoice. Each step represents a tax event in this diagram.

E-Business Suite Tax Interfaces for Example 1 STEP 1: Create Sales Invoice Tax Calculation Interface is invoked with the following document type, document level action and line level action:
Attribute Document Type Identifier Document Level Action Line Level Action Value 4 (Sales Invoice) CREATE CREATE (for all invoice lines)

STEP 2: Override Tax on Sales Invoice Tax Synchronization Interface is invoked with the following document type and document level action:
Attribute Document Type Identifier Document Level Action Value 4 (Sales Invoice) SYNCHRONIZE_TAX_LINES

The following two points must be noticed for this tax event: For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 17 of 76

Invoice header and overridden tax lines information is passed to the tax partner service. No invoice line is passed to the tax partner service.

STEP 3: Update Sales Invoice - Tax Calculation Interface is invoked with the following document type, document level action and line level action:
Attribute Document Type Identifier Document Level Action Line Level Action Value 4 (Sales Invoice) UPDATE UPDATE for changed invoice line(s), CREATE for newly added invoice line(s), CANCEL for canceled invoice line(s), and DELETE for the deleted invoice line(s)

STEP 4: Complete Sales Invoice Global Document Update Interface is invoked with the following document type and document level action:
Attribute Document Type Identifier Document Level Action Value 4 (Sales Invoice) FREEZE_FOR_TAX

STEP 5: Create and Apply Credit Memo to Sales Invoice Tax Calculation Interface is invoked with the following information:
Attribute Document Type Identifier Document Level Action Line Level Action Adjusted Document Information Value 6 (Sales Credit Memo) CREATE CREATE for all lines Sales Invoice Information

Step 1: Create Sales Invoice


Consider a sales transaction for the customer, ABCD Technologies, who buys five monitors, each priced at $100.00, and five hard drives, each priced at $50.00 from XYZ Corporation. Following diagram shows the sample data passed to the tax partner service for the sales invoice of XYZ Corporation:

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 18 of 76

Following diagram shows the tax lines returned by the tax partner calculation service for Invoice # 565. This information is stored in E-Business Suite. Please note that this example shows only three tax lines per item line, although after a tax calculation, a tax partner may return any number of tax lines depending on the applicable tax laws.

Please note that the tax line attributes shown below are always required for the tax lines information to be meaningful in E-Business Suite.
Attribute Tax Situs Tax Jurisdiction Tax Currency Code Tax Amount Value STATE, COUNTY, or CITY SHIP_TO (in this example) CA, San Mateo, or Redwood City USD

Step 2: Override Tax on Sales Invoice


Let us assume that the monitors are 100% exempt for all taxes, but the exemption information is not yet setup in the tax partner system. The end user decides to override the tax amount as highlighted in the following diagram:

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 19 of 76

In this scenario, the changed tax information is communicated to the tax partner synchronization service. Please note that a user may not always override tax amount as 0. Only the transaction header identifiers and the overridden tax line(s) are provided to the tax partner service. For Tax Line 1 of Line 1 of Invoice # 565, following are some of the tax line attributes sent to the tax partner. Similar information is passed for the other overridden tax lines of this example.
Attribute Tax Value State (the possible values for the attribute Tax would be provided by the tax partners for upload in Oracle E-Business Suite) SHIP_TO 0 Y TAX_AMOUNT N N N N

Situs Tax Amount User Override Flag Last Manual Entry Manually Entered Flag Tax Only Line Flag Cancel Flag Delete Flag

The tax partner service is expected to synchronize the tax information in the tax partner repository. Since, synchronization service is called to synchronize the tax amounts between E-Business suite and the tax partner, recalculation of taxes is not expected for this service. It should not return changed tax and/or transaction line amounts. It may return the effective tax rate and/or taxable basis, if determined during synchronization. E-Business Suite records the effective tax rate and/or taxable basis returned by the tax partner service. If there is any subsequent update to this invoice that requires tax re-calculation, the tax partners need to consider the effect of the tax line override during re-calculation.

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 20 of 76

Step 3: Update Sales Invoice


Assume that ABCD Technologies decides to purchase 6 monitors instead of five purchase 10 keyboards, priced at $20 each cancel the order for hard drives

Because the invoice is not yet completed, XYZ Corporation has updated their invoice to reflect the above changes. The following diagram shows the updated Invoice # 565 information that is sent to the tax partner service for re-calculation. The following diagram represents the canceled invoice line as crossed out. In the actual data, the line level action of the invoice line is sent to the tax partner service as CANCEL Please note that the transaction line for hard drives is canceled (physically retained with the status as canceled). Instead, this transaction line can be physically deleted too. If such is the case, E-Business Suite passes deleted transaction line identifiers to the tax partners with line level action as DELETE instead of CANCEL. Please note that for deleted transaction lines, no re-conciliation is needed because the transaction lines are physically deleted from the transaction tables in Oracle E-Business Suite.

Following diagram shows the resultant tax lines returned by the tax partner service. It also represents the canceled invoice and tax lines as crossed out. The canceled invoice lines are sent to tax partners by Oracle EBusiness suite and tax partners are not expected to return the tax lines corresponding to the canceled invoice lines. Similar to cancel, if the invoice line for the hard drives is physically deleted, then also E-Business Suite does not expect the tax partner to return any tax lines back for the deleted invoice line. Please note that the tax partners are expected either to physically delete all tax lines associated with a deleted transaction line or just mark them as deleted, depending on the audit compliance consideration by the partner.

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 21 of 76

If the tax partner retains the user overridden tax amounts, then the resultant tax lines returned by the tax partner service are as shown in the following diagram. Please note that if there are no changes made to an invoice line but a call to re-calculate taxes is issued, the tax partner must return exactly the same tax lines as already stored in Oracle E-Business Suite. In the context of above examples, if the quantity of monitors was not changed but the call to recalculate tax was made, the tax amounts retuned should all be zeros.

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 22 of 76

Please note that in this example, there are no updates on the header level attributes. In case of header level attributes update, all the transaction lines are passed to the tax partners. However, in this example, all the transaction lines got changed, and hence, all transaction lines are passed to the tax partner. To illustrate another situation, let us consider that the order for hard drives was not canceled, i.e. Line 2 of Invoice # 565 did not undergo any changes. In that case, only the changed Lines 1 and 3 of Invoice # 565 are passed to the tax partner. In this case, if a header level max tax is involved, then the tax partner service can re-calculate taxes for the whole transaction (including Line 2), even though all transaction lines are not passed to it. E-Business Suite can handle such a situation if and only if the tax partner service sets threshold_indicator_flag to Y on all tax lines of that transaction.

Step 4: Complete Sales Invoice


Invoice # 565 is completed by XYZ Corporation. This means that it has reached a final state and hence, is available for reporting to the tax authorities. In this case, the tax partner service for Global Document Update interface is given the following information:
Attribute Document Type Identifier Transaction Identifier Document Level Action Value 4 (Sales Invoice) Sales invoice transaction id for Invoice # 565 FREEZE_FOR_TAX

Step 5: Create and Apply Credit Memo to Sales Invoice


Suppose that ABCD Technologies has returned 3 monitors back to XYZ Corporation due to some faulty operation. XYZ Corporation is issuing a Credit Memo for the returns and applies it to invoice # 565. Following diagram shows the credit memo details, which is sent to the tax partner calculation service.

The credit memo is a separate transaction, but it keeps the link to the invoice that it adjusts. Following are the adjusted document attributes sent to the partner with the credit memo line:
Attribute Adjusted Documents Value 4 (Sales Invoice)

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 23 of 76

Attribute Document Type Identifier Adjusted Document Transaction Number Adjusted Document Transaction Identifier Adjusted Document Line Identifier

Value

565 Invoice transaction id for invoice # 565 Invoice transaction line id for line # 1 of invoice # 565

When a credit memo is applied to an invoice, the tax partner calculation service is called to calculate the Tax on the credit memo. The tax partner service is expected to handle max tax condition if applicable. Following diagram shows the resultant tax lines returned by the tax partner service for the credit memo.

Example 2 Purchase Invoice


In this example, we have taken a case from Procure-to-Pay flow to explain how calls are made to the tax partner services through E-Business Suite tax interfaces.

E-Business Suite Tax Interfaces for Example 2 STEP 1: Enter Prepayment Tax Calculation Interface is invoked with the following document type, document level action and line level action:
Attribute Document Type Identifier Document Level Action Line Level Action Value 7 (Purchase Prepayment) CREATE CREATE for all prepayment lines

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 24 of 76

STEP 2: Create Purchase Invoice with Prepayment Applied - Tax Calculation Interface is invoked with the following information:
Attribute Document Type Identifier Document Level Action Line Level Action Applied From Document Line Information Value 1 (Purchase Invoice) CREATE APPLY_FROM for the prepayment application line and CREATE for all other invoice lines Prepayment Information for the prepayment application line

STEP 3: Cancel Purchase Invoice Global Document Update Interface is invoked with the following information:
Attribute Document Type Identifier Document Level Action Value 1 (Purchase Invoice) CANCEL

Step 1: Enter Prepayment


Consider that ABCD Technologies makes prepayment for five keyboards to XYZ Corporation. Following diagram shows the sample data for this prepayment that is sent to the tax partner calculation service.

In this example of US Sales Tax, we have assumed that the tax partner does not return any tax lines for the pre-payment invoice.

Step 2: Create Purchase Invoice with Prepayment Applied


Suppose that ABCD Technologies enters a purchase invoice for the five keyboards that they bought from XYZ Corporation for $100. Also, suppose that the formerly created prepayment PP.1001 is applied to this invoice. The total invoice amount owed by ABCD Technologies becomes zero at this point. Following diagram shows the sample data for the purchase invoice that is sent to the tax partner service:

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 25 of 76

Following diagram shows the tax lines returned by the tax partner service. The total invoice amount owed by ABCD Technologies at this point becomes $8.60.

For the prepayment line PP.1001.Line1 shown in the above example, E-Business Suite passes the following attributes that refer to the original prepayment transaction:
Attribute Applied From Document Type Identifier Applied From Transaction Number Applied From Transaction Identifier Applied From Line Identifier Value 7 (Purchase Prepayment) PP.1001 Prepayment transaction id for PP.1001 Prepayment transaction line id for PP.1001.Line 1

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 26 of 76

Please note that since tax was not calculated on the prepayment document, it is also not calculated on the purchase invoice line that corresponds to the prepayment line.

Step 3: Cancel Purchase Invoice


Consider that ABCD Technologies has canceled the entry of the above purchase invoice. In this case, the tax partner service for Global Document Update interface is called with the following information:
Attribute Document Type Identifier Transaction Identifier Document Level Action Value 1 (Purchase Invoice) Purchase invoice transaction id for Invoice # 1001 CANCEL

Example 3 Importing Sales Invoice


The Step 1 in following diagram shows the tax event for importing Sales Invoice. Please notice that Step 3 does not have any end user intervention; it is an indirect result of the user action taken in Step 2 and the posting of transaction with accounting.

E-Business Suite Tax Interfaces for Example 3 STEP 1: Import Sales Invoice with Tax Tax Calculation Interface is invoked with the following document type, document level action and line level action:
Attribute Document Type Identifier Document Level Action Line Level Action Value 4 (Sales Invoice) CREATE CREATE_WITH_TAX for invoice lines that have imported tax lines, LINE_INFO_TAX_ONLY for dummy invoice lines that have tax only lines, and CREATE for invoice lines that need tax calculation

Please note that imported tax lines are passed to the tax partner service for this tax event. STEP 2: Update Header Level Information on Sales Invoice - Tax Calculation Interface is invoked with the following document type, document level action and line level action:
Attribute Document Type Identifier Document Level Action Line Level Action Value 4 (Sales Invoice) UPDATE UPDATE (for all invoice lines)

STEP 3: Tax Override on Sales Invoice by E-Business Suite Process Tax Synchronization Interface is invoked with the following document type and document level action: For use by Oracle employees and authorized partner only. Do not distribute to third parties.
Page 27 of 76

Attribute Document Type Identifier Document Level Action

Value 4 (Sales Invoice) SYNCHRONIZE_TAX_LINES

The following two points hold good for this tax event: Invoice header and overridden tax lines information is passed to the tax partner service. No invoice line is passed to the tax partner service.

STEP 4: Update Header Level Reporting Attribute on Sales Invoice Tax Synchronization Interface is invoked with the following document type and document level action:
Attribute Document Type Identifier Document Level Action Value 4 (Sales Invoice) SYNCHRONIZE_HEADER_ONLY

STEP 5: Update Line Level Reporting Attribute(s) on Sales Invoice Tax Synchronization Interface is invoked with the following information:
Attribute Document Type Identifier Document Level Action Value 4 (Sales Invoice) SYNCHRONIZE_TRX_LINES

Step 1: Import Sales Invoice with Tax


A transaction can be imported through an open interface/import process of an E-Business Suite application. The imported transaction may also have tax lines associated with its transaction lines. For further illustration of this scenario, consider a sales transaction for the customer, ABCD Technologies, who buys 1 monitor priced at $100.00, 1 hard drive priced at $50.00, and one keyboard priced at $20.00 from XYZ Corporation. Assume that the sales invoice created for this transaction is being imported into the XYZ Corporations EBusiness Suite, along with tax lines determined by an external system. Following diagram shows the imported sales invoice information that is passed to the tax partner calculation service.

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 28 of 76

The tax partner service is expected to synchronize the partner repository with the input tax lines and not recalculate taxes that are imported. The partner service should not return imported tax lines back to E-Business Suite. However, it may determine the missing taxes on the transaction lines and return them to E-Business Suite. Though not shown in this example, it is possible to have some imported transaction lines for which the tax partner service is expected to calculate taxes. These transaction lines carry the line level action as CREATE.

Step 2: Update Header Level Information on Sales Invoice


E-Business Suite does allow users to update transaction after importing. Let us assume that the address in the transaction header is updated to be in Las Vegas, NV instead of Redwood City, CA. Following diagram shows the updated invoice information sent to the tax partner calculation service.

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 29 of 76

Please note that normally E-Business Suite sends only updated transaction lines to the tax partner for recalculation. In case there is an update on a header level attribute, the E-Business Suite considers it as an update for all transaction lines. Hence, in the above example, though there is no update on invoice lines 1, 2 and 3, they are all sent to the tax partner with line level action as UPDATE, because there is update on header level address attributes that may impact taxes on all transaction lines. Following diagram shows the re-calculated tax lines as returned by the tax partner service:

Step 3: Tax Override on Sales Invoice by E-Business Suite Process


Let us assume that the invoice # Imp.1000 has been accounted before the user has updated it in the above step. In this case, since the tax lines for California jurisdictions have already been accounted, they cannot be physically deleted. E-Business Suite retains the tax lines for California jurisdictions as canceled tax lines with zero tax amounts. These lines are then passed to the tax partner synchronization service for recording them in the tax partner repository. Following diagram shows the complete invoice information as stored in EBusiness Suite. In this diagram, the tax lines sent to the tax partner for synchronization are highlighted.

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 30 of 76

If there is any subsequent update to this invoice that results in re-calculation, then the tax partners are expected to retain the E-Business Suite overridden tax lines to maintain the data consistency with E-Business Suite.

Step 4: Update Header Level Reporting Attribute on Sales Invoice


Let us assume that the transaction number is changed from Imp.1000 to ABCD-1. This is a header level change that does not require any tax calculation. Hence, E-Business Suite calls the tax partner synchronization service and provides it with only header level synchronization information.

Step 5: Update Line Level Reporting Attribute(s) on Sales Invoice


Let us assume that the transaction line description for Line # 2 of invoice ABCD-1 has been updated from 40 GB HD to 50 GB HD. In this case, there is no tax calculation required. Hence, E-Business Suite calls the tax partner synchronization service and provides it with both header level and line level synchronization information for Line # 2. Please note that if the user updates the transaction number as well as the line description at the same time, then there is only one call made to the tax partner synchronization service. But as shown in this example, For use by Oracle employees and authorized partner only. Do not distribute to third parties.
Page 31 of 76

these updates can happen at different points in time, in which case, there would be two calls to the tax partner synchronization service.

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 32 of 76

Oracle E-Business Suite Tax Interfaces


This section describes the open tax interfaces of E-Business Suite needed by tax partners for integrating with E-Business Suite. Tax Calculation Interface Tax Synchronization Interface Global Document Update Interface Commit for Tax

Commit for Tax interface is to notify the Tax Partners to commit the transaction(s) in their system. All tax partners are not required to provide this optional tax interface. This is to be used only by those tax partners that are in the process of writing their tax services using Application Servers (middle-tier). Before getting into the details of each tax interface, let us look at some common features of all these interfaces. The parameters of these tax interfaces cover a comprehensive list of attributes needed for all business scenarios. Some attributes may not be relevant for a particular business flow. Returning Errors to E-Business Suite Tax Interfaces The errors encountered during the processing of a tax partner service should be returned using a PL/SQL Collection of type messages_tbl_type. Please refer Appendix A for a detailed description of the data type messages_tbl_type. Each error should be returned for one of the following three contexts: Transaction Header Transaction Line Tax Line

Also, each error should be associated with one of the following error message types. The error message type represents whether the message gives error or information.
Error Message Type ERROR INFORMATION Description Represents that it is an error message Represents that it is an informative message

For example, based on the address information passed to a tax partner API, if the API does not result in a unique tax jurisdiction, the partner may return the higher tax rate, along with the INFORMATION message about it. This message would be logged and a corrective action can be taken by the user to pass more accurate information subsequently.

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 33 of 76

Tax Calculation
As the name indicates, this interface is used to calculate and re-calculate transaction taxes for manually entered and imported transactions. This interface is also used for importing transactions for which the taxes are already calculated by an external system and needs to be recorded substantially as is in the Tax Partner Repository. In this case, the tax partner may still calculate taxes, and come up with any missing or additional taxes. The transaction specific inputs for this tax interface are available through ZX_O2C_CALC_TXN_INPUT_V and ZX_P2P_CALC_TXN_INPUT_V views. ZX_O2C_CALC_TXN_INPUT_V view provides both header and line level attributes for Order-To-Cash transactions, where as ZX_P2P_CALC_TXN_INPUT_V view provides both header and line level attributes for Procure-To-Pay transactions. E-Business Suite sets a global variable, namely ZX_PARTNER_PKG.G_BUSINESS_FLOW, to inform the tax partners about the business flow. The possible values for this global variable are O2C (Order-To-Cash) and P2P (Procure-to-Pay). Following transaction attributes are always passed to the tax partner irrespective of the business flow. Header Level internal_organization_id document_type_id transaction_id business_flow document_level_action trx_date legal_entity_number

Line Level transaction_line_id line_level_action trx_level_type transaction_line_date trx_line_currency_code line_amount trx_business_category

For import scenarios, the imported tax line inputs for Tax Calculation interface are available through ZX_IMPORT_TAX_LINES_INPUT_V view. For the description of the columns for the above-mentioned views, please refer Appendix A. Document Level and Line Level Actions The valid document level actions for this interface are CREATE, UPDATE and QUOTE. When called for document level action UPDATE, each transaction line has a line level action to indicate the action taken for that particular line e.g. changed lines are passed with line level action 'UPDATE', whereas newly added lines are passed with the line level action CREATE. Lines, which have not changed since the last call to

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 34 of 76

calculate taxes for a transaction, are not be passed in the subsequent call for re-calculation. However, if any of the header level attributes change, all existing transaction lines are passed. Possible values for line level action attribute are listed in the following table:
Document Level Action Line Level Action CREATE Possible business scenarios for the line level action Newly created transaction line Expected behavior in the partner system Calculate taxes for the transaction line; Record the transaction line and tax information in the repository. Record associated imported tax lines as is. Optionally determine additional tax lines. Calculate taxes for the transaction line; Do NOT record the transaction line and tax information in the repository. A tax calculation call may have some transaction lines with Quote line level action while some other lines with other line level actions. Do not calculate taxes on the transaction line; Only record the transaction line information in the repository. Calculate taxes on the amount applied of the pre-payment line.

CREATE_WITH_TAX

Imported transaction line with taxes Requesting a tax estimate for a specific transaction line

QUOTE

RECORD_WITH_NO_TAX CREATE

Oracle Receivables allows credit for transaction lines only without calculating/impacting the tax. A transaction line of another document type that is being applied to the current transaction e.g. a pre-payment line applied to a payables invoice. A dummy transaction line with a tax only line

APPLY_FROM

LINE_INFO_TAX_ONLY

Store dummy transaction line as is without tax calculation. If a tax line is also sent then record tax line too. For manually entered invoices a tax line would not be available during tax calculation call. Tax line would later be synchronized with the partner system. Calculate taxes for the newly added transaction line; Record the transaction line and tax information in the repository. Recalculate taxes for the changed transaction lines; Record the transaction lines and tax information in the repository. Cancel the transaction line. Record changes to the line amount, if any. Physically delete the transaction line from the repository. Calculate taxes for the transaction line; Do NOT record the transaction line and tax information in the repository.

CREATE UPDATE UPDATE

Addition of new line in the existing transaction

Modifications on the transaction header or line level attributes that have tax implications Cancellation of a transaction line Deletion of a transaction line Requesting a tax estimate for a specific transaction line

CANCEL DELETE QUOTE

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 35 of 76

SYNCHRONIZE

Modifications to reporting only attributes of a transaction line, which does not require tax recalculation

Do not recalculate taxes on the changed transaction line; Record the changes to transaction line information in the repository. Do not update the tax information in the repository. Calculate taxes on the amount applied of the pre-payment line.

APPLY_FROM

A transaction line of another document type is being applied to the current transaction e.g. a pre-payment line applied to a payables invoice. A transaction line of another document type is being unapplied from the current transaction e.g. a pre-payment line un-applied from a payables invoice. A dummy transaction line with a tax only line

UNAPPLY_FROM

Negate the results of the APPLY_FROM line level action on the transaction.

LINE_INFO_TAX_ONLY

Store dummy transaction line as is without tax calculation. If a tax line is also sent then record tax line too. For manually entered invoices a tax line would not be available during tax calculation call. Tax line would later be synchronized with the partner system. Calculate taxes for the transaction line; DO NOT record the transaction line and tax information in the repository. Calculate taxes on pre-payment line or retrieve the taxes from the pre-payment transaction.

QUOTE

Requesting a tax estimate for the entire transaction

QUOTE

APPLY_FROM

A transaction line of another document type that is being applied to the current transaction e.g. a pre-payment line applied to a payables invoice.

Tax Estimate Request This interface supports requests to get tax estimate for a transaction or a specific transaction line. The request for tax estimate for the entire transaction is represented by the document level action QUOTE. In this case, the tax partners are not expected to store calculated tax lines in their repository. A quote request can be made more than once for the same transaction. E-Business Suite passes all the transaction lines, each time a tax estimate is requested for a transaction. Allow Tax Calculation E-Business Suite allows an option to the user to enable/disable Tax Calculation in certain products. In this case, user can enter tax lines manually and the tax partners are not expected to calculate tax. The request to skip the tax calculation is represented by the attribute Allow Tax Calculation Flag. Rounding E-Business Suite maintains transactions in multiple reporting currencies. It uses un-rounded tax amounts for converting to reporting currencies. Hence, tax partners are expected to return both the rounded and unrounded tax amounts for the transaction currency. If a tax partner is unable to return un-rounded tax amount, it must return the rounded tax amount in both the attributes.

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 36 of 76

E-Business Suite processes may also attempt to perform rounding for the already rounded tax amounts returned by the tax partners. To avoid any mismatches between the tax amounts between tax partners and EBusiness Suite, the mutual customers are advised to have the same or higher rounding precision setup in EBusiness Suite. If the tax partners rounding setup has a higher rounding precision, E-Business Suite raises an error. Use Tax Vs Sales Tax Determination in US For US, tax partners can indicate whether they have determined Use Tax or Sales Tax by setting the attribute Use Tax Flag to Y or N respectively, on the tax lines. End users are not allowed to override the value of this flag. For example, if the end user intends to change Sales Tax to Use Tax, he is not allowed to do so. Instead, he can delete the Sales Tax tax line and enter a new Use Tax tax line. E-Business Suite tax calculation interface does not call different tax partner services for Use Tax determination and Sales Tax determination in US. If the tax partners have different tax services available, then they are expected to write a wrapper with appropriate logic to call their two different services. This wrapper service can then be integrated with E-Business Suite tax calculation interface. Max Tax Handling Tax Partners may support max tax or threshold based tax at both transaction header and line levels. If a header level max tax is incurred on a transaction, the tax partner service is expected to communicate it back to E-Business Suite by setting the attribute threshold indicator flag to Y for all tax lines. Though, all the tax lines may not be subjected to the header level max tax, E-Business Suite still requires all tax lines of the transaction to have threshold indicator flag set to Y. An example of max tax is in the state of Florida, where only the first $5,000 of a single sale of tangible personal property is subject to the county discretionary sales surtax. Any modifications to one or more lines of the transaction, carrying header level max tax, may result in changes to the taxes of all transaction lines. For such cases, even though E-Business Suite does not pass all transaction lines, E-Business Suite does handle the return of tax lines belonging to the entire transaction, if and only if the tax partner service sets threshold indicator flag to Y. Exemptions and Exceptions Handling All exemptions or exceptions must be setup within tax partner system for tax calculations. However, EBusiness Suite does allow its users to enter exemption information such as exemption certificate number and exemption reason on a transaction line if the user wants to enforce a specific exemption certificate. Oracle users refer to this feature as on-the-fly exemptions. Users can enter the exemption certificate number or select it on the transaction lines using a List of Values. In order to get the List of Values, the exemptions must also be defined in Oracle E-Business Suite. Tax partners can perform validation of the exemption certificate number, check existence and/or create a new exemption to handle on-the-fly scenario. Additionally, tax partners APIs are passed with another attribute (flag) called exemption_control_flag with each transaction line. Following table shows the possible values of this flag and the expectation of the user for choosing one of those values on the transaction line.

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 37 of 76

Possible Value R S E

Description Required Standard Exempt

Users Expectation Tax is to be determined, ignoring the exemption certificate Taxes are determined in the normal way, taking into account any exemptions that are setup in the tax partner system Exemption specified on the transaction line is to be applied, irrespective of the tax calculation setup. This option is accompanied by Exemption Certificate and Exempt Reason Code values that are specified on the transaction line.

Inclusive Taxes Handling Some E-Business Suite applications allow entry of a transaction line amount that also includes the tax amount. E-Business Suite uses the transaction line attribute Line Amount Includes Tax Flag to inform tax partners whether the tax amount is already included in the transaction line amount or not. This flag 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 partners. 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. In the cases where tax partners calculate inclusive taxes, they need to mark the tax lines as inclusive by setting the Inclusive Tax Line Flag tax line attribute to Y. The end users are allowed to override such taxes. Currency Conversion Handling E-Business Suite applications support entry of transactions in a currency other than the currency of the taxation country. If such is the case, E-Business Suite provides exchange rates between the transaction currency and the tax currency to tax partners. For example, consider a transaction that is entered in Canadian Dollars (CAD), which involves US Sales tax. In this case, when determining US taxes, the transaction currency is Canadian Dollars, where as, the currency of the taxation currency is US Dollars (USD). For this example, E-Business Suite sends the following information in the Currencies Table parameter. Please refer Technical Specification section below for more description about Currencies Table parameter.
Tax Currency Code Transaction Line Currency Code CAD

Exchange Rate CAD to USD exchange rate

USD

Technical Specification For this interface, tax partners are expected to supply a tax calculation service whose specification is expected to have the list of parameters with the same order, usage and data type as listed below:

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 38 of 76

Parameter

Usage

Data Type

Description

Currencies Table

IN OUT

PL/SQL Collection for passing exchange rate information for tax and transaction currencies to the tax partner. This is also used for receiving the precision for transaction and tax currencies returned by the tax partners tax calculation service. zx_tax_partner_pkg.tax_currencies_tbl_type This is the precision used by the tax partner for rounding the tax amounts in transaction and tax currencies. This table contains one record each for the tax and transaction currencies if they are different.

Resultant Tax Lines

OUT

zx_tax_partner_pkg.tax_lines_tbl_type

PL/SQL Collection for returning tax lines determined by the tax partner service Represents whether call to tax partner service is successfully executed or not. Possible Values are: Success S Error - E Unexpected error - U PL/SQL Collection for returning error and/or debug messages

Error Status

OUT

VARCHAR2

Error / Debug Messages

OUT

zx_tax_partner_pkg.messages_tbl_type

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, please refer to Appendix A.

Tax Synchronization
As the name indicates, this interface is used to synchronize transaction or tax related attributes with the tax partner repository. This interface is used to update information in the tax partner repository for transaction attributes that do not influence tax calculation, but are used in tax reports. Another use of this interface is to synchronize the tax partner repository for the tax line overrides made by the end user or E-Business Suite processes. Tax partner can return the effective tax rate and/or taxable basis for the overridden tax lines during tax lines synchronization. However, tax partners are not expected to return any output information for synchronization of transaction attributes. The transaction specific synchronization inputs for this tax interface are available through ZX_SYNC_HDR_INPUT_V and ZX_SYNC_LINES_INPUT_V views. The tax line specific synchronization inputs for this tax interface are available through ZX_SYNC_TAX_LINES_INPUT_V view. For the description of the columns for the above-mentioned views, please refer Appendix A. Document Level Actions The valid document level actions for this interface are listed below:
Document Level Action SYNCHRONIZE_HEADER_ONLY Possible business scenarios for the document level action Modifications to reporting only attributes of a transaction header only, which does not require tax re-calculation Expected behavior in the tax partner system Do not recalculate taxes on the changed transaction; Record the changes to transaction header information in the

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 39 of 76

repository. Do not update the tax information in the repository. SYNCHRONIZE_TRX_LINES Modifications to reporting only attributes of a transaction line, which does not require tax re-calculation. Do not recalculate taxes on the changed transaction; Record the changes to transaction line information in the repository. Record the changes to transaction header information, if available. Do not update the tax information in the repository. Do not recalculate taxes for the transaction; Record the changes to tax line information in the repository; Optionally determine effective tax rate and/or effective taxable basis for the changed tax lines.

SYNCHRONIZE_TAX_LINES

End user or E-Business Suite overrides to tax lines. For tax only invoices tax lines information is passed for synchronization.

The line level action attribute is not explicitly provided for this tax interface. It should always be implicitly taken as SYNCHRONIZE for this tax interface. Transaction Header and Line Level Synchronization Attributes There are some reporting only transaction header or line attributes that can undergo changes after the tax calculation. Such changes do not require re-calculation of taxes and should only be synchronized with the tax partner repository. For example, in some E-Business Suite applications, to satisfy some legal requirements, the transaction number is assigned at the time of approving / finalizing an invoice. When such an event occurs to modify the transaction number, tax partner need to be called to synchronize their repositories. Following are the reporting-only attributes available at the transaction header level: Transaction Number Transaction Description Document Sequence Value Transaction Due Date

Following are the reporting-only attributes available at the transaction line level: Transaction Line Description Product Description

Please note that in addition to these reporting attributes, a tax partner may also use other additional attributes for reporting purposes. Handling Tax Line Overrides by End Users The end user may decide to correct the taxes returned by the tax partner service as they may be incorrect due to inadequate setup. E-Business Suite stores user overridden tax amounts and then communicates them to the tax partner in order to keep the tax partner repository in synchronization with E-Business Suite. The end user is allowed to update the tax rate percentage or tax amount on calculated tax lines. The user can delete or cancel an existing tax line too. The user can also enter a manual tax line, which may or may not be associated with a transaction line. Tax lines that are not associated with any transaction lines are referred to as tax only lines and are represented by setting Tax Only Line Flag attribute to Y on the tax line.

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 40 of 76

The onus is left on the tax partner to decide an appropriate behavior for handling user overridden tax amounts during re-calculation of taxes. For example, if there is any subsequent transaction header or line update to an already tax overridden transaction, then the tax partner may choose to ignore any prior end user tax overrides or he/she may decide to honor them during re-calculation of taxes. Please note that some EBusiness Suite applications may invoke tax recalculation though nothing has changed on the transaction line. Any tax amount change by the tax partner in such situations may not be acceptable to the end users. Handling Tax Line Overrides by E-Business Suite Processes Certain business functionality may require E-Business Suite to modify the taxes returned by tax partners. For example, if tax lines are already accounted, E-Business Suite retains old tax lines with zero tax amounts, if they are no longer valid for a transaction line. Such tax lines are to be synchronized with the tax partner repository. If there is any subsequent update to an E-Business Suite overridden transaction, which results in recalculation, then the tax partners are expected to retain the E-Business Suite overridden tax lines to maintain the data consistency with E-Business Suite. Please refer to Step 2 and Step 3 of Example 3 in Example Scenarios Illustrating E-Business Suite Tax Interfaces section. Tax Only Invoices A tax only invoice comprises of tax only lines. There is a dummy item (transaction) line present for such an invoice. For imported transactions, the dummy transaction line with the line level action as LINE_INFO_TAX_ONLY is passed and the associated tax only line is also passed during tax calculation interface invocation. For manually entered transactions, first a dummy transaction line with the line level action as LINE_INFO_TAX_ONLY is passed during tax calculation interface. A tax partner is expected to simply store the dummy transaction line at this time. Later, another call is made using tax synchronization interface to store the tax only line associated with the dummy transaction line in the tax partners repository. Oracle passes the most granular information such as state tax, county tax, city tax, district tax that do not require further distributions by the tax partner. Technical Specification For this interface, tax partners are expected to supply a tax synchronization service whose specification is expected to have the list of parameters with the same order, usage and data type as listed below:
Parameter Usage Data Type Description PL/SQL Collection for returning all synchronized tax lines for which the tax partner service has updated effective tax rate and/or taxable basis. This parameter is expected to be NULL if synchronization is for transaction attributes only. Represents whether call to tax partner service is successfully executed or not. Possible Values are: Success S Error - E Unexpected error - U PL/SQL Collection for returning error and/or debug messages

Resultant Synchronized Tax Lines

OUT

zx_tax_partner_pkg.output_sync_tax_lines_tbl_type

Error Status

OUT

VARCHAR2

Error / Debug Messages

OUT

zx_tax_partner_pkg.messages_tbl_type

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 41 of 76

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, please refer to Appendix A.

Global Document Update


This tax interface is provided for the tax events that are the same for all transaction lines, i.e. the tax events that are at the document level and do not differ at the line level. Valid document level actions for this tax interface are listed below:
Document Level Action CANCEL Possible business scenarios for the document level action Informs about cancellation of a transaction, while keeping a persistent record of it. Informs about deletion of a transaction, without keeping a persistent record Informs about purge of a transaction from E-Business Suite Expected behavior in the tax partner system Mark corresponding tax lines as canceled

DELETE PURGE

Physically delete the corresponding tax lines from the repository. Purge all tax lines for the transaction Purge is normally invoked to clean up historical transactions from the customers installation, where as Delete is used for the day to day transactions that can potentially be deleted before reaching a final state like approval. Mark the transaction as ready to report to the tax authorities If the transaction is not yet reported, then mark it as not ready to report to the tax authorities. If it is already reported, then return an error to indicate that the unfreeze process is not successful.

FREEZE_FOR_TAX UNFREEZE_FOR_TAX

Indicates to the tax partner that the document is ready for tax reporting Indicates to the tax partner that a frozen transaction needs to be updated

Technical Specification For this interface, tax partners are expected to supply a tax service whose specification is expected to have the list of parameters with the same order, usage and data type as listed below:
Parameter Transaction Record Usage IN Data Type zx_tax_partner_pkg.trx_rec_type Description Identifies transaction and the document level action Represents whether call to tax partner service is successfully executed or not. Possible Values are: Success S Error - E Unexpected error - U PL/SQL Collection for returning error and/or debug messages

Error Status

OUT

VARCHAR2

Error / Debug Messages

OUT

zx_tax_partner_pkg.messages_tbl_type

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

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 42 of 76

Commit for Tax


This interface is invoked when a commit is issued for a transaction that is recorded in a tax partners repository. This interface has been designed to communicate the Oracle Database COMMIT action to the Tax Partners, who are likely to design their system using Application Servers (Web Services). For this interface, tax partners are expected to supply a tax service whose specification is expected to have the list of parameters with the same order, usage and data type as listed below:
Parameter Transaction Table Usage IN Data Type zx_tax_partner_pkg.trx_tbl_type Description Identifies transactions to be committed Represents whether call to tax partner service is successfully executed or not. Possible Values are: Success S Error - E Unexpected error - U PL/SQL Collection for returning error and/or debug messages

Error Status

OUT

VARCHAR2

Error / Debug Messages

OUT

zx_tax_partner_pkg.messages_tbl_type

zx_tax_partner_pkg.trx_tbl_type is a PL/SQL table of type zx_tax_partner_pkg.trx_rec_type. For a detailed description of zx_tax_partner_pkg.trx_rec_type.and zx_tax_partner_pkg.messages_tbl_type data types, please refer to Appendix A.

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 43 of 76

Tax Partner Services Registration and Plug-In APIs


This section explains the E-Business Suite APIs that allows integration of tax partner services with EBusiness Suite. This chapter also describes the steps that the tax partners need to follow for providing out-ofthe-box integration solution to the mutual customers. E-Business Suite provides following two types of APIs for tax partner services integration: APIs for registering the tax partner services with Oracle E-Business Suite API for plugging the tax partner services into Oracle E-Business Suite

Handling Errors Returned by E-Business Suite APIs The errors encountered during the processing of an E-Business Suite API can either be expected or unexpected. An E-Business Suite API returns one or more expected errors if it failed to perform some or all of the operations. An E-Business Suite API returns an unexpected error, if it has encountered an error condition that it didnt expect or couldnt handle. All E-Business Suite APIs described in this chapter follow the same error handling strategy and have similar parameters to return errors. The parameter x_return_status informs the caller about the status of the operation performed by the EBusiness Suite API. The different possible values for this parameter are listed below:
Value
S E U API operation is successfully completed API has encountered one or more expected errors while performing its operations API has encountered an unexpected error and couldnt proceed any further

Description

In case of expected error (x_return_status = E), the E-Business Suite APIs communicate all the error messages through a parameter of type zx_api_prvdr_pub.error_messages_tbl. This error message table contains message text of each error encountered during the API processing. zx_api_prvdr_pub.error_messages_tbl is a PL/SQL Table of VARCHAR2.

Tax Partner Services Registration


E-Business Suite provides the following two registration APIs for creating or deleting a tax partner service registration. Create Tax Partner Service Registration API Delete Tax Partner Service Registration API

Tax partners can register only one tax service for a business flow and tax interface. If the PL/SQL package or procedure name of the tax partner service gets modified after registration with E-Business Suite, then the tax partner has to delete the existing registration and then create a new registration for the modified package or procedure names. For use by Oracle employees and authorized partner only. Do not distribute to third parties.
Page 44 of 76

Create Tax Partner Service Registration


This API creates a registration for the tax partner service, for the given tax interface and business flow. The name of the API is ZX_api_prvdr_PUB.create_srvc_registration. Following are the parameters for this API:
Parameter API Version Usage IN Data Type NUMBER Required Y Description Compares version numbers of incoming calls to the current version number of this API. An unexpected error is raised if version incompatibility exists. Tax partners need to pass 1.0 for this parameter. List of error messages encountered during the API processing. API Return Status. The possible Values are: Success S, Error - E, Unexpected error - U Y Tax Service Provider Name

Error Messages Table Return Status

OUT

zx_api_prvdr_pub.error_messages_tbl

OUT

VARCHAR2

Service Provider Name Service Type Code

IN

VARCHAR2

IN

VARCHAR2

Code that represents the tax interface. Possible values are CALCULATE_TAX, SYNCHRONIZE_TAX, GLOBAL_DOCUMENT_UPDATE and COMMIT_FOR_TAX. Code of taxation country served by the tax partner service. For example, US is the code for USA. All Oracle seeded country codes are listed in Appendix C. Business flow for which the tax partner service handles taxes. Possible values are P2P, O2C and ALL. Name of the PL/SQL package containing the tax partner service API procedure Name of the tax partner service API procedure

Country Code Business Flow Package Name Procedure Name

IN

VARCHAR2

IN IN IN

VARCHAR2 VARCHAR2 VARCHAR2

Y Y Y

Following code snippet illustrates how the Create Tax Partner Registration API can be called. BEGIN zx_api_prvdr_pub.create_srvc_registration ( p_api_version => 1.0, x_msg_tbl , x_return_status, p_service_provider_name => ABC, p_service_type_code => CALCULATE_TAX, p_country_code => US, p_business_flow => O2C, p_package_name => partner_abc_services, p_procedure_name => calc_tax); END; List of possible error messages returned by this API is available in Appendix E.

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 45 of 76

Delete Tax Partner Service Registration


This API deletes the tax partner service registration for the given tax interface and business flow. The name of the API is ZX_API_PRVDR_PUB.delete_srvc_registration. Following are the parameters for this API:
Parameter API Version Usage IN Data Type NUMBER Required Y Description Compares version numbers of incoming calls to the current version number of this API. An unexpected error is raised if version incompatibility exists. Tax Partners need to pass 1.0 for this parameter. List of error messages encountered during the API processing. API Return Status. The possible Values are: Success S, Error - E, Unexpected error - U Y Tax Service Provider Name

Error Messages Table Return Status

OUT

zx_api_prvdr_pub.error_messages_tbl

OUT

VARCHAR2

Service Provider Name Service Type Code Country Code Business Flow

IN

VARCHAR2

IN

VARCHAR2

Code that represents the tax interface. Possible values are CALCULATE_TAX, SYNCHRONIZE_TAX and GLOBAL_DOCUMENT_UPDATE. Code of taxation country served by the tax partner service. For example, US is the code for USA. All Oracle seeded country codes are listed in Appendix C. Business flow for which the tax partner service handles taxes. Possible values are P2P, O2C and ALL.

IN

VARCHAR2

IN

VARCHAR2

Following code snippet illustrates how the Delete Tax Partner Registration API can be called. BEGIN zx_api_prvdr_pub.delete_srvc_registration ( p_api_version => 1.0, x_msg_tbl , x_return_status, p_service_provider_name => ABC, p_service_type_code => CALCULATE_TAX, p_country_code => US, p_business_flow => O2C); END; List of error messages returned by this API is available in Appendix E.

Tax Partner Services Plug-in


This API plugs the registered tax partner services into the execution flow of E-Business Suite without manually changing the E-Business Suite programs. The name of the API is ZX_API_PRVDR_PUB.execute_srvc_plugin. Following are the parameters for this API:

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 46 of 76

Parameter API Version

Usage IN

Data Type NUMBER

Required Y

Description Compares version numbers of incoming calls to the current version number of this API. An unexpected error is raised if version incompatibility exists. Tax partners need to pass 1.0 for this parameter. List of error messages encountered during the API processing. API Return Status. The possible Values are: Success S, Error - E, Unexpected error - U

Error Messages Table Return Status

OUT OUT

zx_api_prvdr_pub.error_messages_tbl VARCHAR2

Service Provider Name

IN

VARCHAR2

Tax Service Provider Name

Following code snippet illustrates how the Tax Partner Services Plug-in API can be called. BEGIN zx_api_prvdr_pub.execute_srvc_plugin ( p_api_version => 1.0, x_msg_tbl , x_return_status, p_service_provider_name => ABC); END;

Out-of-the-box Integration
Oracle expects a tax partner to maintain its tax services in a tax partner specific schema. Following are the advantages of having a different schema for each tax partner: Prevents name conflicts with other tax partner services and other integration related objects specific to the tax partner Better security because database objects in a different schema cannot be accessed unless permissions are given to them in that schema Eases installation and de-installation of a specific tax partner integration

Tax partners can achieve Out-of-the-Box integration with E-Business Suite by executing the following steps: Install the tax partner services in the tax partner schema. Provide execute permission on tax partner services to the apps schema. Execute the following grant script provided by Oracle to obtain the access to the E-Business Suite APIs.
Technical Details: Name of the grant script Name of the logfile $ZX_TOP/bin/zxtxptnrgrant.sh $APPLTMP/zrtxptnrgrant.log

Parameters for the grant script: Parameter Position Parameter Name Possible Values

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 47 of 76

1 2 3 4

Apps user password Partner schema name ORACLE_HOME TWO_TASK

apps taxpartnerschema /local/db/10.0.2 TESTINST

Register the tax partner services in E-Business Suite by using Create Tax Partner Registration API. Execute the Tax Partner Services Plug-in API.

Please note that calls to E-Business Suite APIs should include schema reference. For example, call to Create Tax Partner Registration API should be made as follows: apps.zx_api_prvdr_pub.create_srvc_registration(<Parameter List>);

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 48 of 76

Appendix A Data Types and Database Views


This section lists all the data types and database views defined by E-Business Suite for its open tax interfaces that are designed for tax partner integration. Data Types PL/SQL Collections Following PL/SQL collections definitions are available in the database package zx_tax_partner_pkg. messages_tbl_type output_sync_tax_lines_tbl_type tax_currencies_tbl_type tax_lines_tbl_type exemptions_tbl_type trx_rec_type

For the Tax Partner Services Registration apis, following PL/SQL collection is available in the database package zx_api_prvdr_pub. error_messages_tbl

Database Views for Input Data Following database views provide transaction header, lines and tax lines specific inputs to different tax interfaces of E-Business Suite. ZX_IMPORT_TAX_LINES_INPUT_V ZX_O2C_CALC_TXN_INPUT_V ZX_P2P_CALC_TXN_INPUT_V ZX_SYNC_HDR_INPUT_V ZX_SYNC_LINES_INPUT_V ZX_SYNC_TAX_LINES_INPUT_V

zx_tax_partner_pkg.messages_tbl_type
A table of this data type is used by all E-Business Suite tax interfaces to receive errors encountered by tax partner services. 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 the following columns:


Sequence Attribute Data Type Required Description

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 49 of 76

document_type_id

NUMBER(15)

Document type identifier. Document type represents Sales Invoice, Purchase Invoice etc. All possible values are listed in Appendix B. Primary transaction identifier that distinguishes a transaction/document uniquely in the context of a document type Primary transaction line identifier that represents a transaction line uniquely within a transaction Transaction level type. Possible values are LINE, FREIGHT.

2 3

transaction_id transaction_line_id

NUMBER(15) NUMBER(15)

Y N

trx_level_type

VARHCAR2(30)

This column is only for the purposes of uniquely identifying a transaction line. It does not have any implications for the tax processing. Taxation country code. For example, US represents the country USA. All Oracle seeded values are listed in Appendix C. 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. Represents the location to which the Tax applies. Possible values are SHIP_TO, BILL_TO, SHIP_FROM, BILL_FROM, POA and POO. Represents the severity of the error message returned by the tax partner service. Possible values are ERROR and INFORMATION. Error message text

country_code

VARCHAR2(30)

tax

VARCHAR2(30)

situs

VARCHAR2(30)

8 9

error_message_type error_message_string

VARCHAR2(30) VARCHAR2(240)

Y Y

zx_tax_partner_pkg.output_sync_tax_lines_tbl_type
A table of this data type is used by tax synchronization interface of E-Business Suite to receive effective tax rate percentage and / or effective taxable basis determined by tax partner for the tax lines that are being synchronized due to end user tax overrides. output_sync_tax_lines_tbl_type is a PL/SQL table of records that contains record sync_tax_lines_rec_type having following columns: Please note that you have to pass either tax_rate_percentage or taxable_amount or both for each output line.
Sequence 1 Attribute document_type_id Data Type NUMBER(15) Required Y Description Document type identifier. Document type represents Sales Invoice, Purchase Invoice etc. All possible values are listed in Appendix B. Primary transaction identifier that distinguishes a transaction/document uniquely in the context of a document type Primary transaction line identifier that represents a transaction line uniquely within a transaction Transaction level type. Possible values are LINE, FREIGHT. 4 trx_level_type VARHCAR2(30) Y This column is only for the purposes of uniquely identifying a transaction line. It does not have any implications for the tax processing. Taxation country code. For example, US represents the country USA. All Oracle seeded values are listed in Appendix C. Represents a classification of the charges imposed by a government through a fiscal or tax authority. For example,

2 3

transaction_id transaction_line_id

NUMBER(15) NUMBER(15)

Y Y

5 6

country_code tax

VARCHAR2(30) VARCHAR2(30)

Y Y

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 50 of 76

it can be STATE, COUNTY, CITY, DISTRICT COUNTY, DISTRICT CITY, etc 7 8 9 situs tax_rate_percentage taxable_amount VARCHAR2(30) NUMBER(15) NUMBER(15) Y N N Represents the location to which the Tax applies. Possible values are SHIP_TO, BILL_TO, SHIP_FROM, BILL_FROM, POA and POO. Effective tax rate percentage determined by the tax partners synchronization service Effective taxable amount determined by the tax partners synchronization service

zx_tax_partner_pkg.tax_currencies_tbl_type
A table of this data type is used by tax calculation interface of E-Business Suite to pass exchange rate information to the tax partner if transaction currency is different from the currency of the taxation country. The same table is also used to receive precision information from the tax partner for transaction currency and also for the currency of the taxation country, if not same as the transaction currency. tax_currencies_tbl_type is a PL/SQL Table of records that contains record tax_currencies_rec_type having following columns:
Sequence Attribute Data Type Required Description 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 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. Currency code of transaction line currency. 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 rate passed by Oracle. If used another exchange rate, tax partner should return the exchange rate in this attribute. The value of this attribute is 1, if the two currencies are the same. Precision used by tax partner for rounding the tax amounts in the tax currency.

tax

VARCHAR2(30)

2 3

tax_currency_code trx_line_currency_code

VARCHAR2(30) VARCHAR2(30)

Y Y

exchange_rate

NUMBER(15)

tax_currency_precision

NUMBER(15)

zx_tax_partner_pkg.tax_lines_tbl_type
A table of this data type is used by tax calculation interface of E-Business Suite to receive tax lines determined by the tax partner. tax_lines_tbl_type is a PL/SQL record of table that contains the following columns:
Sequence 1. Attribute document_type_id Data Type NUMBER(15) Required Y Description Document type identifier. Document type represents Sales Invoice, Purchase Invoice etc. All possible values are listed in Appendix B. Primary transaction identifier that distinguishes a transaction/document uniquely in the context of a document type Primary transaction line identifier that represents a transaction line uniquely within a transaction Transaction level type. Possible values are LINE, FREIGHT.

2. 3. 4.

transaction_id transaction_line_id trx_level_type

NUMBER(15) NUMBER(15) VARHCAR2(30)

Y Y Y

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 51 of 76

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 Taxation country code. For example, US represents the country USA. All Oracle seeded values are listed in Appendix C. 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 Represents the location to which the Tax applies. Possible values are SHIP_TO, BILL_TO, SHIP_FROM, BILL_FROM, POA and POO. Jurisdiction value based on tax. For example, if tax is STATE, then tax jurisdiction can be California. Rounded tax amount in transaction currency Un-rounded tax amount in transaction currency Currency code of the taxation country. For example, USD represents US Dollars. Rounded tax amount in tax currency Tax rate %, which when applied on taxable amount gives tax amount Taxable amount in transaction currency. Tax exemption certificate number. Percentage of the original tax rate that is exempt. Tax exemption reason. 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. Flag to indicate if this tax line is of inclusive taxes. Possible values are Y and N An internal attribute to be populated for E-Business Suite use only. This is needed to enhance the overall performance of tax calculation interface. 20. line_amt_includes_tax_flag VARCHAR2(1) N 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. 21. use_tax_flag VARCHAR2(1) N Flag to indicate whether this tax line is for Use Tax or Sales Tax. Value is Y for Use Tax and N for Sales Tax. Indicates if the tax line calculated by the tax partner service is overridden by the end user. Possible values are Y and 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. Flag to indicate if the tax line is manually entered by the end user. Possible values are Y and N. Please note that user_override_flag is set when a calculated tax line is changed by the end user, whereas manually_entered_flag is set when a new tax line is created by the end user. Party type whose registration was used for tax calculation. SHIP_TO, BILL_TO, SHIP_FROM, BILL_FROM, POA and POO. Tax registration number of the first party Indicates if a header level max tax has been applied to

6.

Tax

VARCHAR2(30)

7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.

Situs tax_jurisdiction tax_amount unrounded_tax_amount tax_currency_code tax_curr_tax_amount tax_rate_percentage taxable_amount exempt_certificate_number exempt_rate_modifier exempt_reason tax_only_line_flag

VARCHAR2(30) VARCHAR2(30) NUMBER(15) NUMBER(15) VARCHAR2(30) NUMBER(15) NUMBER(15) NUMBER(15) VARCHAR2(80) NUMBER(15) VARCHAR2(240) VARCHAR2(1)

Y Y Y Y Y Y Y Y N N N N

19.

inclusive_tax_line_flag

VARCHAR2(1)

22.

user_override_flag

VARCHAR2(1)

23.

last_manual_entry

VARCHAR2(30)

24.

manually_entered_flag

VARCHAR2(1)

25. 26. 27.

registration_party_type party_tax_reg_number threshold_indicator_flag

VARCHAR2(30) VARCHAR2(50) VARCHAR2(1)

N N N

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 52 of 76

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 given transaction.

zx_tax_partner_pkg.trx_rec_type
A record of this data type is used by global document update and Commit for Tax interfaces of E-Business Suite to pass transaction identifiers and corresponding document level action to the tax partner. trx_rec_type is a PL/SQL record that contains the following columns:
Sequence 1 2 3 Attribute document_type_id transaction_id document_level_action Data Type NUMBER(15) NUMBER(15) VARCHAR2(30) Description Document type identifier. Document type represents Sales Invoice, Purchase Invoice etc. All possible values are listed in Appendix B. Primary transaction identifier that distinguishes a transaction/document uniquely in the context of a document type Document level action for the document type / transaction

zx_api_prvdr_pub.error_messages_tbl
A table of this data type is used by all Tax Partner Services Registration apis to store errors encountered by E-Business suite while registering the tax partner services. The type error_messages_tbl is a TABLE OF VARCHAR2(1000) INDEX BY BINARY_INTEGER;

ZX_IMPORT_TAX_LINES_INPUT_V
This view is used by tax calculation interface of E-Business Suite to pass imported tax lines to the tax partners. The columns contained in this view are listed below:
Sequence 1. Attribute document_type_id Data Type NUMBER(15) Description Document type identifier. Document type represents Sales Invoice, Purchase Invoice etc. All possible values are listed in Appendix B. Primary transaction identifier that distinguishes a transaction/document uniquely in the context of a document type Primary transaction line identifier that represents a transaction line uniquely within a transaction Transaction level type. Possible values are LINE, FREIGHT. 4. trx_level_type VARHCAR2(30) This column is only for the purposes of uniquely identifying a transaction line. It does not have any implications for the tax processing. Taxation country code. For example, US represents the country USA. All possible values are listed in Appendix C. Represents a classification of the charges imposed by a

2. 3.

transaction_id transaction_line_id

NUMBER(15) NUMBER(15)

5. 6.

country_code tax

VARCHAR2(30) VARCHAR2(30)

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 53 of 76

government through a fiscal or tax authority. For example, it can be STATE, COUNTY, CITY, DISTRICT COUNTY, DISTRICT CITY, etc 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Tax_rate_percentage taxable_amount exempt_rate_modifier exempt_reason Tax_only_line_flag inclusive_tax_line_flag use_tax_flag manually_entered_flag NUMBER(15) NUMBER(15) NUMBER(15) VARCHAR2(240) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) Tax rate %, which when applied on taxable amount gives tax amount Taxable amount in transaction currency. Percentage of the original tax rate that is exempt. Tax exemption reason. 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. Flag to indicate if this tax line is of inclusive taxes. Possible values are Y and N Flag to indicate whether this tax line is for Use Tax or Sales Tax. Value is Y for Use Tax and N for Sales Tax. Flag to indicate if the tax line has been manually entered by the end user. Possible values are Y and N. situs tax_jurisdiction tax_currency_code tax_amount VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) NUMBER(15) Represents the location to which the Tax applies. Possible values are SHIP_TO, BILL_TO, SHIP_FROM, BILL_FROM, POA and POO. Jurisdiction value based on tax. For example, if tax is STATE, then tax jurisdiction can be California. Currency code of the taxation country. For example, USD represents US Dollars. Rounded tax amount in transaction currency

ZX_O2C_CALC_TXN_INPUT_V / ZX_P2P_CALC_TXN_INPUT_V
These views are used by tax calculation interface of E-Business Suite for providing transaction information to the tax partners. E-Business Suite provides separate views ZX_O2C_CALC_TXN_INPUT_V, ZX_P2P_CALC_TXN_INPUT_V for use in order-to-capture and procure-to-pay business flows respectively. The set of attributes for both the views is same. The following table lists the set of attributes contained in these views.
Sequence Attribute Data Type Description

Header Level Tax Calculation Attributes 1. 2. 3. 4. 5. internal_organization_id document_type_id transaction_id document_level_action trx_date NUMBER(15) NUMBER(15) NUMBER(15) VARCHAR2(30) DATE Identifier of the internal organization of the transaction. Document type identifier. Document type represents Sales Invoice, Purchase Invoice etc. All possible values are listed in Appendix B. Primary transaction identifier that distinguishes a transaction/document uniquely in the context of a document type Document level action for the document type / transaction Transaction date Legal entity number. Legal entity is a legally recognized party with given rights and responsibilities by legislation. Legal entities generally have the right to own property (assets, inventory, receivable, investments, other legal entities), the right to trade (borrow, sell, buy, incur expenses, employ), the responsibility to repay debt (liabilities, equity), and the responsibility to account for themselves (balance sheet, income statement, specified reports) to company regulators, taxation

6.

legal_entity_number

NUMBER(30)

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 54 of 76

authorities, and owners according to rules specified in the relevant legislation. Their rights and responsibilities may be enforced through the judicial system. 7. establishment_number VARCHAR2(240) Establishment name. Establishment is a logical or physical establishment of a party at a given location. e.g., Oracle-HQ 500 Oracle Parkway, Redwood Shores. Transaction number of the transaction header, typically the number that enables a user to identify and report a specific transaction. This value by itself does not identify a transaction uniquely in Oracle E-Business Suite. This is for use in reports only. Description for the transaction. This is for use in reports only. Document sequence number for the transaction. This is used to store voucher number for Oracle Payables application of EBusiness Suite. This is for use in reports only. Payment due date of the transaction. This is for use in reports only. Flag to indicate if the document requires tax calculation or not. Possible values are Y and N. For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only

Header Level Reporting-Only Attributes

8.

transaction_number

VARCHAR2(150)

9. 10. 11. 12.

transaction_description document_sequence_value transaction_due_date allow_tax_calculation

VARCHAR2(240) VARCHAR2(240) DATE VARCHAR2(1)

Header Level Additional Attributes for tax partners use 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. header_char1 header_char2 header_char3 header_char4 header_char5 header_char6 header_char7 header_char8 header_char9 header_char10 header_char11 header_char12 header_char13 header_char14 header_char15 header_char16 header_char17 header_char18 header_char19 header_char20 header_char21 header_char22 header_char23 header_char24 header_char25 header_char26 header_char27 header_char28 header_char29 header_char30 header_numeric1 header_numeric2 VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) NUMBER(15) NUMBER(15)

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 55 of 76

45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57.

header_numeric3 header_numeric4 header_numeric5 header_numeric6 header_numeric7 header_numeric8 header_numeric9 header_numeric10 header_date1 header_date2 header_date3 header_date4 header_date5

NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) DATE DATE DATE DATE DATE

For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only Primary transaction line identifier that recognizes a transaction line uniquely within a transaction Transaction level type. Possible values are LINE, FREIGHT. Action at the transaction line level. Possible values for this element are CREATE, CREATE_WITH_TAX, UPDATE, QUOTE, DELETE, CANCEL, SYNCHRONIZE, APPLY_FROM, UNAPPLY_FROM and RECORD_WITH_NO_TAX. This field specifics the type a transaction line represents within a transaction: P2P Application Products PREPAY_APPLICATION Prepayment Application or Unapplication PREPAYMENT INVOICES - Prepayment Invoice EXPENSE REPORTS - Expense Report STANDARD INVOICES - Standard Invoice AP_CREDIT_MEMO - Payables Credit Memo AP_DEBIT_MEMO - Payables Debit Memo O2C Application Products INVOICE_ADJUSTMENT - Invoice Adjustment INVOICE - Invoice CREDIT_MEMO - Credit Memo DEBIT_MEMO - Debit Memo

Line Level Tax Calculation Attributes 58. 59. transaction_line_id trx_level_type NUMBER(15) VARHCAR2(30)

60.

line_level_action

VARCHAR2(30)

61.

line_class

VARCHAR2(30)

62. 63. 64. 65.

trx_line_currency_code transaction_shipping_date transaction_receipt_date transaction_line_date

VARCHAR2(15) DATE DATE DATE

Code of the currency used in the transaction. For example, USD represents US Dollars. Shipping date identified at the transaction header/line/shipment. Receipt date identified at the transaction header/line/shipment. If NULL, Transaction Date is passed as Receipt Date. Date for the transaction line. Date other than the transaction date to be used for tax calculation. For example, when a Lease Contract is revised, a new transaction is created in the Lease Management. The transaction date of the new transaction is not the tax determination date for tax calculation purposes,. Instead, the tax determination date is the date of the original transaction.. Transaction classification to categorize a type of transaction. The first level categorization is done by Oracle. Examples are SALES_TRANSCTION and PURCHASE_TRANSACTION. Users can create more categories and/or sub categorization. The purpose for which an item/product may be used. Values for this attribute are defined by the user.

66.

provnl_tax_determination_d ate

DATE

67.

trx_business_category

VARCHAR2(240)

68.

line_intended_use

VARCHAR2(240)

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 56 of 76

69.

line_amt_includes_tax_flag

VARCHAR2(1)

This flag can have the following values: A all taxes (both exclusive and inclusive) are included in the line amount and unit price. N no tax is included in the line amount and unit price. S only inclusive taxes are included in the line amount and unit price. Transaction line amount. This amount is before any discounts or exceptions or exemptions or charges, but it may include all taxes or inclusive taxes if Line Amount Includes Tax Flag is A or S. Inclusive tax amount that might be determined for a country not being processed by the tax partner. This amount is included in the line amount. If this amount is passed, it should be reduced from the Line Amount for tax calculation. This amount is passed only if Line Amount Includes Tax Flag is S. Transaction line quantity. Unit Price of the transaction line item/product. This flag controls the application of exemptions to the transaction line during tax calculation. Possible values are R (Required), S (Standard) and E (Exempt) R Forces tax calculation, irrespective of the Exemptions Setup S Tax should be calculated, taking into account the exemptions set up in the tax partner system E Forces tax exemption on the transaction line. This option is accompanied by the exempt_certificate_number and exempt_reason_code values. Tax exemption certificate number. Tax exemption reason. Cash discount amount. More explanation to come after discussion with the tax partners. Volume discount quantity. More explanation to come after discussion with the tax partners. Trading discount amount. More explanation to come after discussion with the tax partners. Transportation charge. More explanation to come after discussion with the tax partners. Insurance charge. More explanation to come after discussion with the tax partners. Other charge. More explanation to come after discussion with the tax partners. Internal identifier of the inventory item or memo line used on this transaction line. Unit of measure code. Values could be GOOD', 'MEMO' (text description), 'SERVICE', based on the source/type of the Product. Inventory item code. FOB (terms of delivery) of transaction. The point or location where the ownership title of goods is transferred from the seller to the buyer. This indicates that delivery of a shipment will be made on board or into a carrier by the shipper without charge, and is usually followed by a shipping point or destination (e.g. FOB Our warehouse in New York). Users define the values for this attribute. The number of the party that receives products and/or services listed on the invoice or order. For Procure to Pay products, this is the internal organization to which the shipment is made. For Order to Cash products, this is the Ship to Customer. The name of the party that receives products and/or services listed on the invoice or order. For Procure to Pay products, this is the internal organization to

70.

line_amount

NUMBER(15)

71.

other_inclusive_tax_amount

NUMBER(15)

72. 73.

transaction_line_quantity unit_price

NUMBER(15) NUMBER(15)

74.

exemption_control_flag

VARCHAR2(1)

75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86.

exempt_certificate_number exempt_reason cash_discount volume_discount trading_discount transportation_charge insurance_charge other_charge product_id uom_code product_type product_code

VARCHAR2(80) VARCHAR2(240) NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) VARCHAR2(30) VARCHAR2(240) VARCHAR2(30)

87.

fob_point

VARCHAR2(30)

88.

ship_to_party_number

NUMBER(30)

89.

ship_to_party_name

VARCHAR2(30)

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 57 of 76

which the shipment is made. For Order to Cash products, this is the Ship to Customer. The number of the party that supplies or delivers products and/or services listed on the invoice or order. For Procure to Pay products, this is the Supplier. For Order to Cash products, this is the internal inventory organization (i.e., the warehouse) from which the supply is made. The name of the party that supplies or delivers products and/or services listed on the invoice or order. For Procure to Pay products, this is the Supplier. For Order to Cash products, this is the internal inventory organization (i.e., the warehouse) from which the supply is made. The number of the party that receives the invoice. For Procure to Pay products, this is the internal organization that is billed by the supplier. For Order to Cash products, this is the Customer that is billed for this transaction. The name of the party that receives the invoice. For Procure to Pay products, this is the internal organization that is billed by the supplier. For Order to Cash products, this is the Customer that is billed for this transaction. The number of the party that bills the invoice. For Procure to Pay products, this is the Supplier that bills this transaction. For Order to Cash products, this is the internal organization that bills the customer. The name of the party that bills the invoice. For Procure to Pay products, this is the Supplier that bills this transaction. For Order to Cash products, this is the internal organization that bills the customer. The identifier of the location that receives the shipment. For Procure to Pay products, this is location of the internal organization to which the shipment is made. For Order to Cash products, this is the Ship to Customer Site. The location identifier is unique for a business flow (O2C, P2P) and location type (Ship To) The geography type of the locationthat receives the shipment. Please refer to the Appendix G for more details. The address element value belonging to the geography type1 of the location that receives the shipment. Please refer to the Appendix G for more details. The geography type of the location that receives the shipment. The address element value belonging to the geography type2 of the location that receives the shipment. The geography type of the location that receives the shipment. The address element value belonging to the geography type3 of the location that receives the shipment. The geography type of the location that receives the shipment. The address element value belonging to the geography type4 of the location that receives the shipment. The geography type of the location that receives the shipment. The address element value belonging to the geography type5 of the location that receives the shipment. The geography type of the location that receives the shipment. The address element value belonging to the geography type6 of the location that receives the shipment. The geography type of the location that receives the shipment. The address element value belonging to the geography type7 of

90.

ship_from_party_number

NUMBER(30)

91.

ship_from_party_name

VARCHAR2(30)

92.

bill_to_party_number

NUMBER(30)

93.

bill_to_party_name

VARCHAR2(30)

94.

bill_from_party_number

NUMBER(30)

95.

bill_from_party_name

VARCHAR2(30)

96.

ship_to_loc_id

NUMBER (15)

97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110.

ship_to_geography_type1 ship_to_geography_value1 ship_to_geography_type2 ship_to_geography_value2 ship_to_geography_type3 ship_to_geography_value3 ship_to_geography_type4 ship_to_geography_value4 ship_to_geography_type5 ship_to_geography_value5 ship_to_geography_type6 ship_to_geography_value6 ship_to_geography_type7 ship_to_geography_value7

VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30)

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 58 of 76

the location that receives the shipment. 111. 112. 113. 114. 115. 116. ship_to_geography_type8 ship_to_geography_value8 ship_to_geography_type9 ship_to_geography_value9 ship_to_geography_type10 ship_to_geography_value10 VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) The geography type of the location that receives the shipment. The address element value belonging to the geography type8 of the location that receives the shipment. The geography type of the location that receives the shipment. The address element value belonging to the geography type9 of the location that receives the shipment. The geography type of the location that receives the shipment. The address element value belonging to the geography type10 of the location that receives the shipment. The identifier of the location from which the shipment is made. For Procure to Pay products, this is the Supplier Site from which the supply is made. For Order to Cash products, this is the location of the internal (inventory) organization (i.e., the warehouse) from which the supply is made. The location identifier is unique for a business flow (O2C, P2P) and location type (Ship From) The geography type of the location from which the shipment is made. The address element value belonging to the geography type1 of the location from which the shipment is made. The geography type of the location from which the shipment is made. The address element value belonging to the geography type2 of the location from which the shipment is made. The geography type of the location from which the shipment is made. The address element value belonging to the geography type3 of the location from which the shipment is made. The geography type of the location from which the shipment is made. The address element value belonging to the geography type4 of the location from which the shipment is made. The geography type of the location from which the shipment is made. The address element value belonging to the geography type5 of the location from which the shipment is made. The geography type of the location from which the shipment is made. The address element value belonging to the geography type6 of the location from which the shipment is made. The geography type of the location from which the shipment is made. The address element value belonging to the geography type7 of the location from which the shipment is made. The geography type of the location from which the shipment is made. The address element value belonging to the geography type8 of the location from which the shipment is made. The geography type of the location from which the shipment is made. The address element value belonging to the geography type9 of the location from which the shipment is made. The geography type of the location from which the shipment is made. The address element value belonging to the geography type10 of the location from which the shipment is made.

117.

ship_from_loc_id

NUMBER (15)

118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137.

ship_from_geography_type1 ship_from_geography_value 1 ship_from_geography_type2 ship_from_geography_value 2 ship_from_geography_type3 ship_from_geography_value 3 ship_from_geography_type4 ship_from_geography_value 4 ship_from_geography_type5 ship_from_geography_value 5 ship_from_geography_type6 ship_from_geography_value 6 ship_from_geography_type7 ship_from_geography_value 7 ship_from_geography_type8 ship_from_geography_value 8 ship_from_geography_type9 ship_from_geography_value 9 ship_from_geography_type1 0 ship_from_geography_value 10

VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30)

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 59 of 76

138.

poa_loc_id

NUMBER (15)

The identifier of the location of the party that accepts (the legal liability for) an order for products and/or services. This is available/passed for Order to Cash products only. The location identifier is unique for a business flow (O2C) and location type (POA) The geography type of the location of the party that accepts (the legal liability for) an order for products and/or services. The address element value belonging to the geography type1 of the location of the party that accepts (the legal liability for) an order for products and/or services. The geography type of the location of the party that accepts (the legal liability for) an order for products and/or services. The address element value belonging to the geography type2 of the location of the party that accepts (the legal liability for) an order for products and/or services. The geography type of the location of the party that accepts (the legal liability for) an order for products and/or services. The address element value belonging to the geography type3 of the location of the party that accepts (the legal liability for) an order for products and/or services. The geography type of the location of the party that accepts (the legal liability for) an order for products and/or services. The address element value belonging to the geography type4 of the location of the party that accepts (the legal liability for) an order for products and/or services. The geography type of the location of the party that accepts (the legal liability for) an order for products and/or services. The address element value belonging to the geography type5 of the location of the party that accepts (the legal liability for) an order for products and/or services. The geography type of the location of the party that accepts (the legal liability for) an order for products and/or services. The address element value belonging to the geography type6 of the location of the party that accepts (the legal liability for) an order for products and/or services. The geography type of the location of the party that accepts (the legal liability for) an order for products and/or services. The address element value belonging to the geography type7 of the location of the party that accepts (the legal liability for) an order for products and/or services. The geography type of the location of the party that accepts (the legal liability for) an order for products and/or services. The address element value belonging to the geography type8 of the location of the party that accepts (the legal liability for) an order for products and/or services. The geography type of the location of the party that accepts (the legal liability for) an order for products and/or services. The address element value belonging to the geography type9 of the location of the party that accepts (the legal liability for) an order for products and/or services. The geography type of the location of the party that accepts (the legal liability for) an order for products and/or services. The address element value belonging to the geography type10 of the location of the party that accepts (the legal liability for) an order for products and/or services. The identifier of the location of the party that initiates or negotiates a sales order for products and/or services. This is available/passed for Order to Cash products only. The location identifier is unique for a business flow (O2C) and location type (POO)

139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158.

poa_geography_type1 poa_geography_value1 poa_geography_type2 poa_geography_value2 poa_geography_type3 poa_geography_value3 poa_geography_type4 poa_geography_value4 poa_geography_type5 poa_geography_value5 poa_geography_type6 poa_geography_value6 poa_geography_type7 poa_geography_value7 poa_geography_type8 poa_geography_value8 poa_geography_type9 poa_geography_value9 poa_geography_type10 poa_geography_value10

VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30)

159.

poo_loc_id

NUMBER (15)

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 60 of 76

160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179.

poo_geography_type1 poo_geography_value1 poo_geography_type2 poo_geography_value2 poo_geography_type3 poo_geography_value3 poo_geography_type4 poo_geography_value4 poo_geography_type5 poo_geography_value5 poo_geography_type6 poo_geography_value6 poo_geography_type7 poo_geography_value7 poo_geography_type8 poo_geography_value8 poo_geography_type9 poo_geography_value9 Poo_geography_type10 Poo_geography_value10

VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30)

The geography type of the location of the party that initiates or negotiates a sales order for products and/or services. The address element value belonging to the geography type1 of the location of the party that initiates or negotiates a sales order for products and/or services. The geography type of the location of the party that initiates or negotiates a sales order for products and/or services. The address element value belonging to the geography type2 of the location of the party that initiates or negotiates a sales order for products and/or services. The geography type of the location of the party that initiates or negotiates a sales order for products and/or services. The address element value belonging to the geography type3 of the location of the party that initiates or negotiates a sales order for products and/or services. The geography type of the location of the party that initiates or negotiates a sales order for products and/or services. The address element value belonging to the geography type4 of the location of the party that initiates or negotiates a sales order for products and/or services. The geography type of the location of the party that initiates or negotiates a sales order for products and/or services. The address element value belonging to the geography type5 of the location of the party that initiates or negotiates a sales order for products and/or services. The geography type of the location of the party that initiates or negotiates a sales order for products and/or services. The address element value belonging to the geography type6 of the location of the party that initiates or negotiates a sales order for products and/or services. The geography type of the location of the party that initiates or negotiates a sales order for products and/or services. The address element value belonging to the geography type7 of the location of the party that initiates or negotiates a sales order for products and/or services. The geography type of the location of the party that initiates or negotiates a sales order for products and/or services. The address element value belonging to the geography type8 of the location of the party that initiates or negotiates a sales order for products and/or services. The geography type of the location of the party that initiates or negotiates a sales order for products and/or services. The address element value belonging to the geography type9 of the location of the party that initiates or negotiates a sales order for products and/or services. The geography type of the location of the party that initiates or negotiates a sales order for products and/or services. The address element value belonging to the geography type10 of the location of the party that initiates or negotiates a sales order for products and/or services. The identifier of the location of the bill to party For Procure to Pay products, this is the location of the internal organization (Bill to Site) that is billed by the supplier. For Order to Cash products, this is the location of the Bill to Customer Site. The location identifier is unique for a business flow (O2C, P2P) and location type (Bill To) The geography type of the location of the bill to party The address element value belonging to the geography type1 of the location of the bill to party

180.

bill_to_loc_id

NUMBER (15)

181. 182.

bill_to_geography_type1 bill_to_geography_value1

VARCHAR2(30) VARCHAR2(30)

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 61 of 76

183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200.

bill_to_geography_type2 bill_to_geography_value2 bill_to_geography_type3 bill_to_geography_value3 bill_to_geography_type4 bill_to_geography_value4 bill_to_geography_type5 bill_to_geography_value5 bill_to_geography_type6 bill_to_geography_value6 bill_to_geography_type7 bill_to_geography_value7 bill_to_geography_type8 bill_to_geography_value8 bill_to_geography_type9 bill_to_geography_value9 bill_to_geography_type10 bill_to_geography_value10

VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30)

The geography type of the location of the bill to party The address element value belonging to the geography type2 of the location of the bill to party The geography type of the location of the bill to party The address element value belonging to the geography type3 of the location of the bill to party The geography type of the location of the bill to party The address element value belonging to the geography type4 of the location of the bill to party The geography type of the location of the bill to party The address element value belonging to the geography type5 of the location of the bill to party The geography type of the location of the bill to party The address element value belonging to the geography type6 of the location of the bill to party The geography type of the location of the bill to party The address element value belonging to the geography type7 of the location of the bill to party The geography type of the location of the bill to party The address element value belonging to the geography type8 of the location of the bill to party The geography type of the location of the bill to party The address element value belonging to the geography type9 of the location of the bill to party The geography type of the location of the bill to party The address element value belonging to the geography type10 of the location of the bill to party The identifier of the location of the bill from party For Procure to Pay products, this is the location of the Bill From Supplier Site. For Order to Cash products: this is the location of the internal organization that bills the customer. The location identifier is unique for a business flow (O2C, P2P) and location type (Bill From) The geography type of the location of the bill from party The address element value belonging to the geography type1 of the location of the bill from party The geography type of the location of the bill from party The address element value belonging to the geography type2 of the location of the bill from party The geography type of the location of the bill from party The address element value belonging to the geography type3 of the location of the bill from party The geography type of the location of the bill from party The address element value belonging to the geography type4 of the location of the bill from party The geography type of the location of the bill from party The address element value belonging to the geography type5 of the location of the bill from party The geography type of the location of the bill from party The address element value belonging to the geography type6 of the location of the bill from party The geography type of the location of the bill from party The address element value belonging to the geography type7 of the location of the bill from party The geography type of the location of the bill from party

201.

bill_from_loc_id

NUMBER (15)

202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216.

bill_from_geography_type1 bill_from_geography_value1 bill_from_geography_type2 bill_from_geography_value2 bill_from_geography_type3 bill_from_geography_value3 bill_from_geography_type4 bill_from_geography_value4 bill_from_geography_type5 bill_from_geography_value5 bill_from_geography_type6 bill_from_geography_value6 bill_from_geography_type7 bill_from_geography_value7 bill_from_geography_type8

VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30)

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 62 of 76

217. 218. 219. 220. 221.

Bill_from_geography_value 8 bill_from_geography_type9 bill_from_geography_value9 bill_from_geography_type10 bill_from_geography_value1 0

VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30) VARCHAR2(30)

The address element value belonging to the geography type8 of the location of the bill from party The geography type of the location of the bill from party The address element value belonging to the geography type9 of the location of the bill from party The geography type of the location of the bill from party The address element value belonging to the geography type10 of the location of the bill from party Code combination identifier of the GL account associated with the transaction line. For Procure to Pay products, this is the identifier of the Item/Expense/Charge GL Account. For Order to Cash products, this is the identifier of the Revenue GL Account. Document type identifier of the applied from document. Applied from document example is a prepayment to a standard purchase invoice. Transaction identifier of the applied from document. Applied from document is uniquely identified by Applied From Document Type Id and Applied From Transaction Identifier. Transaction level type. Possible values are LINE, FREIGHT. Transaction Line Identifier of the applied from document. Document number of the applied from document. Document type identifier of the adjusted document. Adjusted document example is a standard purchase invoice to a credit memo. Transaction identifier of the adjusted document. Adjusted Document Type Id and Adjusted Document Transaction Identifier uniquely identify adjusted document. Transaction level type. Possible values are LINE, FREIGHT. Transaction Line Identifier of the adjusted document. Transaction number for adjusted document. Adjusted document date. Assessable value is the deemed price at which a product is valued, by a tax authority for a given tax, for tax calculation purposes. Transaction line number. This is for use in reports only. Description for the transaction line. This is for use in reports only. Description of the inventory item or memo line used on the invoice line. This is for use in reports only. For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only

222.

account_ccid

NUMBER(15)

223.

applied_from_document_typ e_id applied_from_transaction_id applied_from_trx_level_type applied_from_line_id applied_from_doc_number adjusted_doc_document_typ e_id adjusted_doc_transaction_id adjusted_doc_trx_level_type adjusted_doc_line_id adjusted_doc_number adjusted_doc_date assessable_value

NUMBER(15)

224. 225. 226. 227. 228.

NUMBER(15) VARCHAR2(30) NUMBER(15) NUMBER(150) NUMBER(15)

229. 230. 231. 232. 233. 234.

NUMBER(15) VARCHAR2(30) NUMBER(15) VARCHAR2(150) DATE NUMBER(15)

Line Level Reporting-Only Attributes 235. 236. 237. trx_line_number trx_line_description product_description NUMBER(15) VARCHAR2(240) VARCHAR2(240)

Line Level Additional Attributes for tax partners use 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. line_char1 line_char2 line_char3 line_char4 line_char5 line_char6 line_char7 line_char8 line_char9 line_char10 line_char11 line_char12 VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150)

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 63 of 76

250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282.

line_char13 line_char14 line_char15 line_char16 line_char17 line_char18 line_char19 line_char20 line_char21 line_char22 line_char23 line_char24 line_char25 line_char26 line_char27 line_char28 line_char29 line_char30 line_numeric1 line_numeric2 line_numeric3 line_numeric4 line_numeric5 line_numeric6 line_numeric7 line_numeric8 line_numeric9 line_numeric10 line_date1 line_date2 line_date3 line_date4 line_date5

VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) DATE DATE DATE DATE DATE

For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only

ZX_SYNC_HDR_INPUT_V
This view is used by tax synchronization interface of E-Business Suite to pass reporting-only attributes of the transaction header to tax partners. The columns contained in this view are listed below:
Sequence 1. 2. Attribute internal_organization_id document_type_id Data Type NUMBER(15) NUMBER(15) Description Identifier of the internal organization of the transaction. Document type identifier. Document type represents Sales Invoice, Purchase Invoice etc. All possible values are listed in Appendix B. Primary transaction identifier that distinguishes a transaction/document uniquely in the context of a document type Document level action for the document type / transaction Transaction number of the transaction header, typically the number that enables a user to identify and report a specific transaction. This value by itself does not identify a transaction

3. 4. 5.

transaction_id document_level_action transaction_number

NUMBER(15) VARCHAR2(30) VARCHAR2(150)

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 64 of 76

uniquely. This is for use in reports only. 6. 7. 8. transaction_description document_sequence_value transaction_due_date VARCHAR2(240) VARCHAR2(240) DATE Description for the transaction. This is for use in reports only. Document sequence number for the transaction. This is used to store voucher number for Oracle Payables application of EBusiness Suite. This is for use in reports only. Payment due date of the transaction. This is for use in reports only. Legal entity number. Legal entity is a legally recognized party with given rights and responsibilities by legislation. Legal entities generally have the right to own property (assets, inventory, receivable, investments, other legal entities), the right to trade (borrow, sell, buy, incur expenses, employ), the responsibility to repay debt (liabilities, equity), and the responsibility to account for themselves (balance sheet, income statement, specified reports) to company regulators, taxation authorities, and owners according to rules specified in the relevant legislation. Their rights and responsibilities may be enforced through the judicial system. Establishment name. Establishment is a logical or physical establishment of a party at a given location. e.g., Oracle-HQ 500 Oracle Parkway, Redwood Shores. For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only

9.

legal_entity_number

NUMBER(30)

10.

establishment_number

VARCHAR2(240)

Additional Attributes for tax partners use 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. header_char1 header_char2 header_char3 header_char4 header_char5 header_char6 header_char7 header_char8 header_char9 header_char10 header_char11 header_char12 header_char13 header_char14 header_char15 header_char16 header_char17 header_char18 header_char19 header_char20 header_char21 header_char22 header_char23 header_char24 header_char25 header_char26 header_char27 header_char28 header_char29 header_char30 header_numeric1 header_numeric2 VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) NUMBER(15) NUMBER(15)

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 65 of 76

43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55.

header_numeric3 header_numeric4 header_numeric5 header_numeric6 header_numeric7 header_numeric8 header_numeric9 header_numeric10 header_date1 header_date2 header_date3 header_date4 header_date5

NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) DATE DATE DATE DATE DATE

For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only

ZX_SYNC_LINES_INPUT_V
This view is used by tax synchronization interface of E-Business Suite to pass reporting-only attributes of transaction lines to the tax partners. The columns contained in this view are listed below:
Sequence 1. 2. 3. Attribute document_type_id transaction_id transaction_line_id Data Type NUMBER(15) NUMBER(15) NUMBER(15) Description Document type identifier. Document type represents Sales Invoice, Purchase Invoice etc. All possible values are listed in Appendix B. Primary transaction identifier that distinguishes a transaction/document uniquely in the context of a document type Primary transaction line identifier that recognizes a transaction line uniquely within a transaction Transaction level type. Possible values are LINE, FREIGHT. 4. trx_level_type VARHCAR2(30) This column is only for the purposes of uniquely identifying a transaction line. It does not have any implications for the tax processing. Transaction line number. This is for use in reports only. Description for the transaction line. This is for use in reports only. Description of the inventory item or memo line used on the invoice line. This is for use in reports only. For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only

5. 6. 7.

trx_line_number trx_line_description product_description

NUMBER(15) VARCHAR2(240) VARCHAR2(240)

Additional Attributes for tax partners use 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. line_char1 line_char2 line_char3 line_char4 line_char5 line_char6 line_char7 line_char8 line_char9 line_char10 line_char11 line_char12 line_char13 line_char14 VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150)

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 66 of 76

22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52.

line_char15 line_char16 line_char17 line_char18 line_char19 line_char20 line_char21 line_char22 line_char23 line_char24 line_char25 line_char26 line_char27 line_char28 line_char29 line_char30 line_numeric1 line_numeric2 line_numeric3 line_numeric4 line_numeric5 line_numeric6 line_numeric7 line_numeric8 line_numeric9 line_numeric10 line_date1 line_date2 line_date3 line_date4 line_date5

VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) VARCHAR2(150) NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) DATE DATE DATE DATE DATE

For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only For tax partner use only

ZX_SYNC_TAX_LINES_INPUT_V
This view is used by tax synchronization interface of E-Business Suite to pass tax lines to be synchronized with the tax partner repository. The columns contained in this view are listed below:
Sequence 1. Attribute document_type_id Data Type NUMBER(15) Description Document type identifier. Document type represents Sales Invoice, Purchase Invoice etc. All possible values are listed in Appendix B. Primary transaction identifier that distinguishes a transaction/document uniquely in the context of a document type Primary transaction line identifier that recognizes a transaction line uniquely within a transaction Transaction level type. Possible values are LINE, FREIGHT. 4. trx_level_type VARHCAR2(30) This column is only for the purposes of uniquely identifying a transaction line. It does not have any implications for the tax processing.

2. 3.

transaction_id transaction_line_id

NUMBER(15) NUMBER(15)

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 67 of 76

5.

country_code

VARCHAR2(30)

Taxation country code. For example, US represents the country USA. All Oracle seeded values are listed in Appendix C. 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 Represents the location to which the Tax applies. Possible values are SHIP_TO, BILL_TO, SHIP_FROM, BILL_FROM, POA and POO. Jurisdiction value based on tax. For example, if tax is STATE, then tax jurisdiction can be California. Currency code of the taxation country. For example, USD represents US Dollars. Rounded tax amount in tax currency Rounded tax amount in transaction currency Tax rate %, which when applied on taxable amount gives tax amount Taxable amount in transaction currency. Tax exemption certificate number. Percentage of the original tax rate that is exempt. Tax exemption reason. 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. Flag to indicate if this tax line is of inclusive taxes. Possible values are Y and N Flag to indicate whether this tax line is for Use Tax or Sales Tax. Value is Y for Use Tax and N for Sales Tax. Indicates whether the tax line is overridden by an E-Business Suite Process Indicates if the tax line is overridden by the end user. Possible values are Y and 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. Flag to indicate if the tax line has been manually entered by the end user. Possible values are Y and N. Indicates that the tax line is canceled by the end user. Possible values are Y and N. Indicates that the tax line is physically deleted by the end user. Possible values are Y and N.

6.

tax

VARCHAR2(30)

7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.

situs tax_jurisdiction tax_currency_code tax_curr_tax_amount tax_amount tax_rate_percentage taxable_amount exempt_certificate_number exempt_rate_modifier exempt_reason tax_only_line_flag inclusive_tax_line_flag use_tax_flag ebiz_override_flag user_override_flag last_manual_entry manually_entered_flag cancel_flag delete_flag

VARCHAR2(30) VARCHAR2(30) VARCHAR2(15) NUMBER(15) NUMBER(15) NUMBER(15) NUMBER(15) VARCHAR2(80) NUMBER(15) VARCHAR2(240) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) VARCHAR2(30) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1)

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 68 of 76

Appendix B List of Document Types


The following table provides the list of document type identifiers to be used with E-Business Suite tax interfaces. Please note that this list is not exhaustive. More document types will be added in future releases of the tax partner services integration cookbook.
Document Type Id 0 1 2 3, 12 4 5 6 7 8 9, 11, -1 10 Document Type Name Sales Transaction Quote Oracle Payables Invoice, Debit Memo, Credit memo Expense Report Purchase Order Oracle Receivables Invoice Sales Debit Memo Sales Credit Memo Purchase Prepayment Sales Adjustment Purchase Transaction Quote Purchase Requisition

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 69 of 76

Appendix C List of Country Codes


The following table provides the list of country codes to be used with E-Business Suite APIs or tax interfaces. Please note that this list contains only US at this point because tax partners interfaces are currently provided for US Sales and Use Tax only. More country codes will be added in future releases of the tax partner services integration cookbook.
Country Code US Country Name United States

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 70 of 76

Appendix D Tax Partner Service - Sample Logic


In this appendix, we have provided the sample sequence to illustrate how a calculate tax partner service looks like. As an example, consider that the tax partner ABC Inc. decides to provide a tax calculation service based on the Tax Calculation interface. The tax partner service is a PL/SQL procedure named calc_tax and is the only procedure available in the PL/SQL package partner_abc_services_pkg. The specification of the package body is given below. Please note that the pseudo logic shown in the procedure is only representative of the sequence in which the data types and views of E-Business Suite are to be accessed. The actual code built by a tax partner may not follow this sequence. For example, if the tax partner requires more than one service to be executed for tax calculation, then it can have additional logic to call all the necessary services. CREATE OR REPLACE PACKAGE BODY partner_abc_services_pkg AS PROCEDURE calc_tax ( tax_currencies_tbl IN zx_tax_partner_pkg.zx_tax_currencies_tbl, tax_lines_tbl OUT NO COPY zx_tax_partner_pkg.zx_tax_lines_tbl, messages_tbl OUT NO COPY zx_tax_partner_pkg.zx_messages_tbl) IS BEGIN IF zx_tax_partner_pkg.prod_family_grp_code = O2C THEN <Fetch document data from the view ZX_O2C_CALC_TXN_INPUT_V> <Process tax for the document > <Populate tax_lines_tbl with resultant tax lines, Populate provider_precision for tax currencies in tax_lines_tbl and Populate messages_tbl, if applicable > ELSIF zx_tax_partner_pkg.prod_family_grp_code = P2P THEN <Fetch document data from the view ZX_P2P_CALC_TXN_INPUT_V> <Process tax for the document > <Populate tax_lines_tbl with resultant tax lines, Populate provider_precision for tax currencies in tax_lines_tbl and Populate messages_tbl, if applicable > END IF; END calc_tax; END partner_abc_services_pkg;

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 71 of 76

Appendix E Error Messages List for Registration APIs


This section provides a list of exception messages returned by the following E-Business Suite APIs: Create Tax Partner Service Registration API Delete Tax Partner Service Registration API

Create Tax Partner Service Registration API


Message Type Error Error Error Error Error Error Error Error Error Message Text Incompatible API Version Service Provider Name must be provided Service Type Code must be provided Country Code must be provided Business Flow must be provided Package Name must be provided Procedure Name must be provided Invalid Service Provider Name Invalid Service Type Code If Service Provider Name is not passed to the API If Service Type Code is not passed to the API If Country Code is not passed to the API If Business Flow is not passed to the API If Package Name is not passed to the API If Procedure Name is not passed to the API If incorrect Service Provider Name is provided. The service provider name must match the tax partner name pre-populated in E-Business Suite If incorrect Service Type Code is provided. The possible values for Service Type Code are CALCULATE_TAX, SYNCHRONIZE_TAX and GLOBAL_DOCUMENT_UPDATE If incorrect Country Code is provided. Please refer to the Appendix C for valid list of country codes If incorrect Business Flow is provided. The possible values for Business Flow are O2C, P2P, and ALL Possible Causes

Error Error

Invalid Country Code Invalid Business Flow

Delete Tax Partner Service Registration API


Message Type Error Error Error Error Error Error Error Message Text Incompatible API Version Service Provider Name must be provided Service Type Code must be provided Country Code must be provided Business Flow must be provided Invalid Service Provider Name Invalid Service Type Code If Service Provider Name is not passed to the API If Service Type Code is not passed to the API If Country Code is not passed to the API If Business Flow is not passed to the API If incorrect Service Provider Name is provided. The service provider name must match the tax partner name pre-populated in E-Business Suite If incorrect Service Type Code is provided. The possible values for Service Type Code are CALCULATE_TAX, SYNCHRONIZE_TAX and GLOBAL_DOCUMENT_UPDATE If incorrect Country Code is provided. Please refer to the Appendix C for valid list of country codes If incorrect Business Flow is provided. The possible values for Business Flow are O2C, P2P, and ALL Possible Causes

Error Error

Invalid Country Code Invalid Business Flow

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 72 of 76

Appendix F What has changed since Release 11i?


This section is particularly useful for Vertex and Taxware. It provides a brief description of strategy change in the next upcoming E-Business Suite release in contrast to Release 11i and prior releases.

Strategy Change for Tax Partner Integration


In Release 11i and before, the integration with tax partners is supported only for some Order-to-Cash applications. The integration logic is coded and supported by Oracle for each tax partner separately. This involved understanding of each tax partners APIs, their parameters, when a particular API had to be called and what values needed to be passed to that API in different contexts. Due to continuing enhancements to the tax partner APIs, this integration logic needed revision each time a tax partner comes up with a new version of their APIs. This required understanding of the changes made by the tax partner followed by a careful analysis of changes needed in the integration logic. In the next upcoming E-Business Suite release, Oracle provides a set of tax interfaces to integrate tax partner systems in a uniform, clearly defined, and consistent manner. Tax partners can build their solution using different technologies but are required to provide their services in compliance with the Oracle provided tax interfaces. Oracles goal is to provide a configurable solution allowing new tax partner services/APIs to be plugged in without building integration code. This configurable solution consists of four tax partner interfaces, each performing a specific tax function namely calculation of taxes, synchronization of document and tax information, handling of document level actions like canceling a document and informing when a transaction is committed in the database.

Strategy Change for Supporting Customized User Procedures


In Release 11i, user customizable procedures are provided by Oracle for some attributes needed by Vertex or Taxware APIs. In these procedures, Oracle provided the default logic to derive the values of these tax partner specific attributes. The users are allowed to customize these procedures to alter the attributes derivation logic. Let us consider the following three customizable functions provided by Oracle in Release 11i. The default logic in these functions derives values for company_code, customer_class, and ship_to_geocode. FUNCTION COMPANY_CODE(p_transaction_identifier IN NUMBER) RETURNS VARCHAR2 (company_code)

FUNCTION CUSTOMER_CLASS(p_transaction_identifier p_transaction_line_identifier IN NUMBER, p_customer_identifier IN NUMBER) RETURNS VARCHAR2 (customer_class)

IN NUMBER,

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 73 of 76

FUNCTION SHIP_TO_GEOCODE(p_transaction_identifier p_transaction_line_identifier IN NUMBER, p_ship_to_address_identifier IN NUMBER) RETURNS VARCHAR2 (ship_to_jurisdiction_code)

IN NUMBER,

The calls to these functions are embedded in E-Business Suite processes. Mutual customer can override or supplement the default logic provided by Oracle. From the above, it is evident that if a new extensible attribute is introduced and/or change to the existing attribute is needed, the tax partner is dependent on a code change by Oracle. For Oracle, this approach is not scalable when there are multiple tax partners. In the next upcoming E-Business Suite release, Oracle provides a set of additional attributes, at both transaction header and line levels, for its tax interfaces. Tax partners are expected to decide on whether they will or will not make use of these attributes to receive additional information specific to them. If a tax partner decides to make use of these attributes, the tax partner is expected to publish documentation that provides list of extensible attributes used by the partner along with the purpose of each extensible attribute. The tax partners are also expected to handle any defaulting of values for these attributes in their code. In order to improve the performance of the extensible attribute derivation, tax partner needs to provide guidence on when to re-populate the values of extensible attributes. Since, these attributes are transient i.e. not stored in Oracle repository, tax partner system/user customization must maintain these values. Oracle will no longer provide customizable procedures to the users in the next release. Instead, Oracle provides infrastructure for its customers to define and execute custom PL/SQL procedures to derive the values of the tax partner specific additional attributes. Note to the existing tax partners Vertex and Taxware In Release 11i, users have entered jurisdiction codes to identify the POO and POA locations. The jurisdiction codes have also been entered along with customer address when the address elements are not sufficient to arrive at a specific jurisdiction code. These codes are passed to the tax partner system using customizable procedures. Tax partners may have designed a new jurisdiction code system for their new solutions. After upgrade to Release 12, if the user still passes existing jurisdiction codes to the tax partner tax service, it is the responsibility of the tax partner(s) to recognize these jurisdiction codes through some mapping. Tax partners may request the user to use an extensible attribute to indicate if old jurisdiction codes are being passed. Oracle may drop these fields from the data model and from the UI in a point release subsequent to the release of new integration at its discretion.

Strategy Change for Exemptions handling


In Release 11i, Oracle allows users to set up the exemptions either in Oracle or in the tax partner system. With this new integration approach, all setup needed for tax calculation must reside in the tax partner system if a tax partner is being used. Oracle E-Buisness Suite users can also enter an exemption certificate number and reason code on a transaction line. A list of values is also provided to the user for choosing exemptions already available in the system. In order to have list of values, a user would need to define the needed exemptions in Oracle EBusiness Suite as well. Otherwise, a user can always enter the complete exemption certificate number manually that would be sent over the tax partner during tax calculation call.

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 74 of 76

Appendix G List of Geography Types


Different countries have different geography type conventions to identify the location. For example, in US, geography types state, county, city and zip code identify the address of a particular location whereas, in Canada, it is identified by province, city and postal code. Since, the E-Business Suite provides the solution worldwide, the geography types are also stored, which can be passed along with the address elements of the location. For example, if the ship to location is Foster City, San Mateo County, California, then following values will be passed to the tax partners. ship_to_geography_type1 = COUNTRY, ship_to_geography_value1 = US ship_to_geography_type2 = STATE, ship_to_geography_value2 = CA ship_to_geography_type3 = COUNTY, ship_to_geography_value3 = San Mateo ship_to_geography_type4 = CITY, ship_to_geography_value4 = Foster City ship_to_geography_type5 = POSTAL_CODE, ship_to_geography_value5 = 94404 The following table provides the list of geography types used by E-Business Suite APIs or tax interfaces. Please note that this list contains only US geography types at this point because tax partners interfaces are currently provided for US Sales and Use Tax only.
Geography Type COUNTRY STATE COUNTY CITY POSTAL_CODE Description Country State County City Postal Code/Zip Code

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 75 of 76

Appendix H Frequently Asked Questions


This section provides a list of frequently asked questions for the Tax Partner Services Integration. 1. What happens if the tax partner is not able to identify a tax jurisdiction uniquely based on the address information passed from the Oracle E-Business Suite. Answer: Partner should return an informative message informing this along with the tax calculation results. Oracle would display or log this message so that user can take a corrective action.

For use by Oracle employees and authorized partner only. Do not distribute to third parties.

Page 76 of 76

Vous aimerez peut-être aussi