-
Table of Contents Oracle Corporation Confidential - For Oracle
internal use only Page 1 of 71
ORACLE FUSION APPLICATIONS
TAX PARTNER INTEGRATION COOKBOOK Applications Release: Fusion
V1
Author: Desh Deepak & Steven Chi
Creation Date: 11-May-11
Update Date: 15-Jan-13
Draft / Version: 5.0
Change Record
Date Author Version Change Reference
11-May-11
Desh Deepak 1.0 First draft
01-Feb-12 Steven Chi 2.0 Party creation API calling syntax
added. Appendix for running the Fusion Tax Content Upload Program
added for regular partner data content file quality assurance
purposes.
19-Sept-12 Steven Chi 3.0 Alternatives for, and importance of,
creating taxes using the Global Configuration Owner for use with
tax partner content added. Tax Partner Party Creation &
Registration Section added with detailed steps and screen prints
applicable to different Fusion Applications Releases. Importance of
identifying and addressing the need for raised exceptions
emphasized for selected PL/SQL package procedures used for tax
partner integrations. Appendix for running the Fusion Tax Content
Upload Program expanded with detailed steps and screen prints
applicable to different Fusion Applications Releases for both On
Premise and Cloud Deployments.
05-Nov-12 Steven Chi 4.0 Enhanced execution steps and screen
prints added to the Fusion Tax Content Upload Program Appendix for
(1) Oracle Fusion On Premise Deployments involving tax partner
content, tax partner calculation services, or both, (2) Oracle
Fusion Cloud Deployments involving only tax partner content, and
(3) Oracle Fusion Cloud Deployments involving only tax partner
calculation services or tax partner content and tax partner
calculation services. Key tax regime start date prerequisite
necessary for the Fusion Tax Content Upload Program added to the
Configuring Fusion Tax for Partner Integration Section.
15-Jan-13 Steven Chi 5.0 ZX_REGISTER_TAX_PARTNER API calling
script details expanded for different cases to create and register
a tax partner as a party for Oracle Fusion Applications On Premise
Deployments.
-
Table of Contents Oracle Corporation Confidential - For Oracle
internal use only Page 2 of 71
Table of Contents
1 Introduction
...........................................................................................................................................4
2 Configuring Fusion Tax for Partner Integration
...................................................................................5
3 Tax Partner APIs Integration Overview
................................................................................................7
4 Tax Partner APIs
..................................................................................................................................10
4.1 Tax Calculation API
...................................................................................................................10
4.2 Tax Synchronization API
...........................................................................................................14
4.3 Global Document Update API
..................................................................................................15
5 Partner Calculated Tax Lines Processing by Fusion Tax
.....................................................................17
6 Tax Partner Repository Consistency Check
........................................................................................18
7 Tax Partner Party Creation & Registration
.........................................................................................19
8 Tax Partner Installation & Integration
...............................................................................................27
8.1 Create and Register Tax Partner as a Party
.............................................................................27
8.2 Tax Partner APIs Plug-in
...........................................................................................................27
8.3 User Extensible Procedures
....................................................................................................
30
9 Vertex Q-Series and ADP-Taxware Sales and Use Tax (SUT)
Integration .........................................33
9.1 Vertex Q-Series
........................................................................................................................33
9.2 Taxware
SUT.............................................................................................................................34
10 Appendix A Data Types and Database Views
..................................................................................35
10.1 zx_tax_partner_pkg.messages_tbl_type
.................................................................................35
10.2 zx_tax_partner_pkg.output_sync_tax_lines_tbl_type
............................................................36
10.3 zx_tax_partner_pkg.tax_currencies_tbl_type
.........................................................................37
10.4 zx_tax_partner_pkg.tax_lines_tbl_type
..................................................................................37
10.5 zx_tax_partner_pkg.trx_rec_type
...........................................................................................42
10.6 zx_api_prvdr_pub.error_messages_tbl
...................................................................................42
10.7 ZX_IMPORT_TAX_LINES_INPUT_V
..........................................................................................42
10.8
ZX_O2C_CALC_TXN_INPUT_V..................................................................................................43
10.9
ZX_SYNC_HDR_INPUT_V..........................................................................................................57
10.10 ZX_SYNC_LINES_INPUT_V
........................................................................................................58
10.11 ZX_SYNC_TAX_LINES_INPUT_V
...............................................................................................60
-
Table of Contents Oracle Corporation Confidential - For Oracle
internal use only Page 3 of 71
11 Appendix B Important Changes for Tax Partners between EBS R12
and Fusion ...........................62
12 Appendix C Recommended Configuration
......................................................................................63
13 Appendix D Document Types
...........................................................................................................64
14 Appendix D Tax Partner Integration Validation
..............................................................................65
15 Appendix E Running the Fusion Tax Content Upload Program
......................................................67
-
Introduction Oracle Corporation Confidential - For Oracle
internal use only Page 4 of 71
1 Introduction This document is intended for the tax partner
integrators to build integration of a third party transaction
(indirect) tax calculation application with Oracle Fusion Tax.
Oracle Fusion Tax provides a set of tax interfaces to enable tax
partner agnostic integration. Tax partners services/API must
conform to the tax interfaces described in this document. The
integration described in this document, with Fusion Tax, acts as a
gateway to all Order-to-Cash applications integrated for tax
calculation.
-
Configuring Fusion Tax for Partner Integration Oracle
Corporation Confidential - For Oracle internal use only Page 5 of
71
2 Configuring Fusion Tax for Partner Integration The objective
is to keep tax configuration in the tax partner application so that
users are required to configure taxes at one place. However, the
integration with tax partners does require a minimal configuration
of Fusion Tax. In order to maintain referential integrity of
mandatory attributes of a tax line, following configuration must be
done by users in Fusion Tax.
Tax Regime Users must create a tax regime for which tax partner
services would to be used for tax calculation. The Regime level can
either be Country or Tax Zone. When using regime at Tax Zone level,
only a tax zone with the boundary as World must be used. Tax
partner API is called once for a regime. So, if a single tax
partner API can calculate taxes of United States, Canada and
Mexico, define a tax regime for a tax zone comprising of United
States, Canada and Mexico. If a transaction involves any one or
more of these countries, tax partner API would be invoked just once
to calculate applicable taxes of all of the countries in the zone.
Finally, when using the Fusion Tax Content Upload Program to upload
a tax partner content file, it is important to create a tax regime
with a Start Date = 1/1/51 (January 1, 1951) or earlier to ensure
that there are no conflicts with specific tax partner content start
dates. In practice, this consideration is critical when uploading a
tax partner content file for the United States.
Tax Users must create all the taxes of the tax regime. There can
be more than one tax for a tax regime. Tax accounts must be defined
for each tax for general ledger accounting. These accounts are
copied from the tax to the tax jurisdictions.
Tax Status Users must create at least one tax status for each
tax. Each tax must have one default tax status.
Tax Partner Party Create tax partner as a party as explained in
the Tax Partner Party Creation & Registration Section. This
should be done as an automatic installation step in partner
installation process.
Tax Jurisdiction Users must create at least one tax jurisdiction
for each tax. Alternatively, for United States sales/use taxes, tax
partners can also provide tax jurisdiction and tax rates content
file for loading in Fusion Tax. Tax accounts are copied from the
tax and users are allowed to change them.
Tax Rates Define at least one tax rate code for the default tax
status. Each tax status is required to have a default tax rate
code. For the default tax rate code, tax jurisdiction must be left
NULL and Allow ad hoc tax rate flag should be checked. Tax accounts
are copied from the tax or tax jurisdiction and can be changed by
the user.
Tax Regime Configuration Options and Service Subscriptions
Create configuration option and service subscription for Business
Units and/or Legal Entities that would be using tax partner
services for tax calculation for this regime.
Tax Content For United States sales tax, users can upload
geography, tax zones, tax jurisdictions, and tax rates from a tax
partner content file. This enables partner calculated tax lines to
have the same tax jurisdiction codes and tax rate codes as returned
by a tax partner application. This step for uploading a tax partner
content file can be completed only after a tax partner has been
created as a party and after a tax regime has been created for the
United States. As outlined above, when using the Fusion Tax Content
Upload Program to upload a tax partner content file, it is
important to create a tax regime with a Start Date = 1/1/51
(January 1, 1951) or earlier to ensure that there are no conflicts
with specific tax partner content start dates.
-
Configuring Fusion Tax for Partner Integration Oracle
Corporation Confidential - For Oracle internal use only Page 6 of
71
A user can elect to directly create the STATE, COUNTY, and CITY
Taxes upfront in Fusion Tax prior to executing the content upload
program to allow for more detailed control of tax-level
configuration settings. In all cases in which the STATE, COUNTY,
and CITY Taxes are directly created upfront in Fusion Tax prior to
executing the content upload program, please note (1) all three
taxes must be created using the Global Configuration Owner to
prevent the creation of duplicate taxes downstream by the content
upload program and (2) none of the taxes should be enabled for
either Simulation or Transactions until a user completely
understands the impacts to tax-level configuration settings (i.e.
some tax-level configuration settings can only be changed when the
taxes are not enabled for either Simulation or Transactions,
whereas other tax-level configuration settings can still be changed
as long as taxes are only enabled for Simulation, but not enabled
for Transactions). If a user does not create STATE, COUNTY or CITY
taxes for the tax regime upfront in Fusion Tax prior to executing
the content upload program, the content upload program will
automatically create these three taxes using the Global
Configuration Owner and specific tax-level configuration settings
(ex. specific Tax Controls Functionality Options, Tax Accounts
Creation Methods, Tax Rule Defaults, etc.). The content upload
program also creates three default tax status codes as STANDARD for
each of these three taxes. Finally, it also creates four default
tax rate codes for each default tax status for storing sales, use,
lease, and rental tax rates.
Steps to Run Content Upload Program o Please reference Appendix
E for the detailed steps in running the Fusion Tax
Configuration Content Upload Program for different Fusion
Applications Releases. o On Premise and Cloud Deployment
considerations are also outlined in Appendix E.
Fusion Functional Setup Manager lets a user uncheck the features
that are not to be configured for a tax regime. This presents user
with a list of minimal tasks required. Following features can be
optionally turned off for a tax regime -
Party Fiscal Classifications Legal Fiscal Classifications
Product Fiscal Classifications Product Category Classifications
Transaction Business Categories Transaction Fiscal Classifications
Document Fiscal Classifications Intended Use Fiscal Classifications
User-Defined Fiscal Classifications Multiple Tax Jurisdictions Tax
Exemptions Tax Rate Exceptions Tax Recovery Tax Registration
Statuses Offset Taxes
Offset Taxes, Tax Rate Exceptions, and Tax Recovery must not be
configured when using a tax partner. Tax Exemptions should
optionally be configured, only if using Vertex Inc. Q-Series or
ADP-Taxware SUT applications. If a tax partner decides to leverage
any other feature listed above, tax partner must explain its usage
to the Fusion customers via tax partner documentation.
-
Tax Partner APIs Integration Overview Oracle Corporation
Confidential - For Oracle internal use only Page 7 of 71
3 Tax Partner APIs Integration Overview Tax Partners integrate
with Fusion applications through Fusion Tax. Fusion Tax has
encapsulated all transaction events into three API calls to the tax
partners. The diagram below shows a typical tax
calculation/re-calculation and tax amount update flow for a Fusion
Receivables transaction. This diagram explains the interaction
between Fusion Receivables, Fusion Tax and a tax partner.
-
Tax Partner APIs Integration Overview Oracle Corporation
Confidential - For Oracle internal use only Page 8 of 71
No
Yes
User enters or updates a
Transaction in Fusion
Receivables
Invoke a Fusion Tax
Integration API
Determine Applicable
Tax Regimes Determine Applicable
Tax Regimes
Is it a Tax Partner
Subscribed Tax
Regime?
Invoke User Extensible
APIs
Continue with Fusion
Tax Processing
Invoke Tax Partners Tax Calculation API
Populate Mandatory Tax
Lines Attributes
Store Tax Lines in Fusion
Tax Repository
Store Tax Lines in Fusion
Receivables
Store Tax Lines in Fusion
Receivables
User overrides Tax
Amount in Fusion
Receivables
Invoke a Fusion Tax
Integration API
Invoke Tax Partners Tax Synchronization API
Store Tax Lines in Fusion
Tax Repository
Store Tax Lines in Fusion
Receivables
-
Tax Partner APIs Integration Overview Oracle Corporation
Confidential - For Oracle internal use only Page 9 of 71
Some other common scenarios are - Update of a transaction line
attribute that does not re-require tax re-calculation e.g.
transaction_number - Deletion of a transaction - Entry of a manual
tax line - Entry of a tax only invoice - Successful validation of a
transaction Next section provides details of the three APIs tax
partners are required to provide and how these APIs handle various
transaction events (scenarios).
-
Tax Partner APIs Oracle Corporation Confidential - For Oracle
internal use only Page 10 of 71
4 Tax Partner APIs Following three PL/SQL APIs are to be
provided by a tax partner adhering to the parameters specified by
Fusion Tax. The API names can be anything as long as the
specification of the API is same as described here.
Tax Calculation
Tax Synchronization
Global Document Update Fusion Tax calls a tax partners at
transaction level. All transaction lines requiring tax handling for
a transaction are passed in a single call. Tax partners can
calculate taxes for multiple countries in a single call if a tax
regime is defined at a Tax Zone level and a partner API is capable
of handling multiple countries in a single API call.
4.1 Tax Calculation API
This API is used to calculate and re-calculate transaction taxes
for manually entered and imported transactions with or without tax
lines. Following are the parameters for this API.
Parameter Usage Data Type Description
Currencies Table
IN OUT zx_tax_partner_pkg. tax_currencies_tbl_type
PL/SQL collection for passing transaction to tax currency
exchange rate information when transaction currency is not same as
tax currency. It is also used for receiving the precision for tax
currency applied by the tax partner for rounding the tax amounts in
tax currency.
Resultant Tax Lines
OUT zx_tax_partner_pkg. tax_lines_tbl_type
PL/SQL collection for retuning tax lines determined by the tax
partner API.
Error Status OUT VARCHAR2
API Return Status. The possible Values are:
Success S,
Error - E,
Unexpected error - U
Error / Debug Messages
OUT zx_tax_partner_pkg. messages_tbl_type
PL/SQL collection for retuning error and/or debug messages.
For a detailed description of
zx_tax_partner_pkg.tax_currencies_tbl_type,
zx_tax_partner_pkg.tax_lines_tbl_type, and
zx_tax_partner_pkg.messages_tbl_type data types, refer to Appendix
A.
The transaction header and lines details are available through
ZX_O2C_CALC_TXN_INPUT_V view. For imported transactions, the
imported tax lines are available through
ZX_IMPORT_TAX_LINES_INPUT_V view. These views are also described in
Appendix A. Few critical attributes of ZX_O2C_CALC_TXN_INPUT_V are
discussed below.
Transaction (Document) Level Actions
o QUOTE Transaction is being sent for tax quote. This
transaction is not supposed to be recorded in tax partners
repository.
-
Tax Partner APIs Oracle Corporation Confidential - For Oracle
internal use only Page 11 of 71
o CREATE Transaction is being sent for tax calculation and
recording in tax partners repository first time.
o UPDATE A transaction, already stored in tax partner
repository, is being sent for re-calculation of taxes. Transaction
lines may or may not have changed.
Line Level Actions
Following table explains the valid line level actions in
conjunction with transaction level actions.
Document Level Action
Line Level Action Business Scenario Example
Expected behavior by Tax Partner
CREATE
CREATE Create new transaction line.
Calculate taxes for the transaction line; Record the transaction
line and calculated tax lines in the repository.
CREATE_WITH_TAX Import transaction line with taxes.
Record associated imported tax lines as is.
QUOTE Request a tax estimate for a transaction line.
Calculate taxes for the transaction line. Do not record the
transaction line and tax lines in the repository. A tax calculation
call may have some transaction lines with QUOTE line level action
while other transaction lines with some other line level
actions.
RECORD_WITH_NO_TAX Fusion Receivables lets a user credit
transaction lines only without requiring calculation of tax.
Do not calculate taxes on the transaction line. Only record the
transaction line information in the repository.
LINE_INFO_TAX_ONLY User enters a tax only line without a
transaction line. A dummy transaction line with a tax line is
created.
Store dummy transaction line as is without tax calculation. For
imported transactions, a tax line is also sent for recording as is.
For manually entered invoices, first a call is made to store
transaction line as is. A subsequent synchronize call would
synchronize the tax line.
UPDATE
CREATE Create a new line transaction line in an existing
transaction.
Calculate taxes for the newly added transaction line. Record
transaction line and calculated tax lines in the repository.
-
Tax Partner APIs Oracle Corporation Confidential - For Oracle
internal use only Page 12 of 71
UPDATE Update a transaction header or a transaction line
attributes that have tax implications.
Recalculate taxes for the changed transaction line. Record the
transaction line and calculated tax lines in the repository.
DELETE Delete a transaction line.
Physically delete the transaction line and associated tax lines
from the repository.
QUOTE Request a tax estimate for a transaction line.
Calculate taxes for the transaction line. Do not record the
transaction line and tax lines in the repository. A tax calculation
call may have some transaction lines with QUOTE line level action
while other transaction lines with some other line level
actions.
SYNCHRONIZE Update a transaction header or a transaction line
attributes that does not require tax re-calculation.
Do not recalculate taxes on the changed transaction line. Record
the changes to the transaction line in the repository.
LINE_INFO_TAX_ONLY User enters a tax only line without a
transaction line. A dummy transaction line with a tax line is
created.
Store dummy transaction line as is without tax calculation. A
subsequent synchronize call would synchronize the tax line.
QUOTE
N/A User enters a sales order.
Calculate taxes for all the transaction lines. Do not record
transaction lines and tax information in the repository.
Max Tax Handling
Tax Partners may support transaction header or transaction line
level max tax or threshold. If a transaction header level max tax
is incurred on a transaction, the tax partner API is expected to
communicate it back to Fusion Tax by setting the attribute
threshold indicator flag to Y on all tax lines for that tax.
Exemptions and Exceptions Handling
Exemptions or exceptions must be configured in the tax partner
software.
Fusion applications allow users to enter exemption certificate
number and exemption reason on a transaction line if a user wants
to enforce a specific exemption certificate. User can type any
-
Tax Partner APIs Oracle Corporation Confidential - For Oracle
internal use only Page 13 of 71
exemption certificate number or select an existing exemption
certificate number using a List of Values. In order to get the List
of Values, the exemptions must also be defined in Fusion Tax.
Tax partners should perform validation of the exemption
certificate number, check existence and/or create a new exemption
certificate number entered by the user.
Optionally, one more attribute, called exemption_control_flag,
can also be passed on a transaction line. Following table shows the
possible values of this flag and its intended behavior.
Value Meaning Intended Behavior
R Required Tax should be determined, ignoring the exemptions
defined.
S Standard Taxes are determined taking into account any
exemptions that are configured in the tax partner application.
E Exempt This option is accompanied by Exemption Certificate and
Exempt Reason Code values. Exemption certificate specified on the
transaction line must be applied. If the exemption certificate is
not defined in the tax partner application, 100% exemption should
be applied.
Inclusive Taxes Handling
Transaction line attribute Line Amount Includes Tax Flag informs
tax partner API if tax amount is already included in the
transaction line amount. This attribute indicates whether all taxes
(i.e. both inclusive and exclusive) are included in the transaction
line amount or only inclusive taxes are included in the transaction
line amount or no taxes are included in the transaction line
amount.
There is another attribute called Other Inclusive Tax Amount
passed to the tax partner API. This attribute is populated only if
the value of Line Amount Includes Tax Flag is Only Inclusive Taxes
are Included. This attribute contains the total included tax amount
for one or more taxes that are not calculated by the tax partner,
but included in the line amount.
On the inclusive tax lines calculated by the tax partners,
Inclusive Tax Line Flag must be set to Y.
Rounding
For converting tax amounts to one or more reporting currencies,
Fusion Tax uses unrounded transaction currency tax amounts. Tax
partner API must return both rounded and un-rounded tax amounts in
the transaction currency.
Partners should advise mutual customer to configure same or more
precise rounding precision in Fusion Tax than in partner
application. By doing so, Fusion Tax rounding process would not do
further rounding on partner calculated rounded tax amounts.
-
Tax Partner APIs Oracle Corporation Confidential - For Oracle
internal use only Page 14 of 71
4.2 Tax Synchronization API
This API is used to update information in the tax partner
repository for the transaction line attributes that do not
influence tax calculation, but are used in tax reports. Another use
of this API is to synchronize the tax partner repository for the
tax amount overrides made in Fusion applications.
Tax partner API can return the changed effective tax rate and/or
taxable basis for the overridden tax lines as a result of tax lines
synchronization.
Following are the parameters for this API.
Parameter Usage Data Type Description
Resultant Synchronized Tax Lines
OUT zx_tax_partner_pkg. output_sync_tax_lines_tbl_type
PL/SQL collection for returning synchronized tax lines back to
Fusion Tax. Tax partner API may update effective tax rate and/or
taxable basis. The parameter value is expected to be NULL if
synchronization is for transaction attributes only.
Error Status OUT VARCHAR2
API Return Status. The possible Values are:
Success S,
Error - E,
Unexpected error - U
Error / Debug Messages
OUT zx_tax_partner_pkg. messages_tbl_type
PL/SQL collection for returning error and/or debug messages.
For a detailed description of
zx_tax_partner_pkg.output_sync_tax_lines_tbl_type and
zx_tax_partner_pkg.messages_tbl_type data types, refer to Appendix
A.
The transaction specific synchronization inputs for this API are
available through ZX_SYNC_HDR_INPUT_V and ZX_SYNC_LINES_INPUT_V
views. The tax line specific synchronization inputs for this tax
API are available through ZX_SYNC_TAX_LINES_INPUT_V view. These
views are also described in Appendix A.
Transaction (Document) Level Actions
Document Level Action Business Scenario Example Expected
Behavior by Tax Partner
SYNCHRONIZE_HEADER_ONLY Update one or more reporting only
attributes of the transaction header, which does not require tax
re-calculation.
Do not recalculate taxes for the changed transaction. Record
changes to transaction header information in the repository.
Reporting-only attributes at the transaction header level are
-
Transaction Number
Transaction Description
Document Sequence Value
Transaction Due Date
-
Tax Partner APIs Oracle Corporation Confidential - For Oracle
internal use only Page 15 of 71
SYNCHRONIZE_TRX_LINES Update one or more reporting only
attributes of a transaction line, which does not require tax
re-calculation.
Do not recalculate taxes on the changed transaction line. Record
the changes to transaction line information in the repository.
Reporting-only attributes at the transaction line level are
Transaction Line Description
Product Description
SYNCHRONIZE_TAX_LINES User updates tax amount or manually enters
one or more tax lines.
Manual Tax line that is not associated with any transaction line
is referred as tax only line and is identified by setting Tax Only
Line Flag attribute to Y on the tax line.
Do not recalculate taxes for the transaction. Record changes to
the tax line in the repository. Optionally, determine effective tax
rate and/or effective taxable basis for the changed tax lines. In
certain situations, Fusion Tax does call tax partners for tax
re-calculation even when no transaction line attribute has changed.
Tax partner must ensure that previously user entered/ overridden
tax amount are not changed during such calls.
Tax Only Invoice Handling
A tax only invoice comprises of tax only lines. There is a dummy
transaction line created for such an invoice. For imported
transactions, the dummy transaction line with the line level action
LINE_INFO_TAX_ONLY is passed and the associated tax only line is
also passed for the dummy line. For manually entered transactions,
first a dummy transaction line with the line level action as
LINE_INFO_TAX_ONLY is passed through Tax Calculation API. Tax
partner is expected to simply store the dummy transaction line at
this time. Subsequently, another call is made using tax
synchronization API, to store the tax only line associated with the
dummy transaction line in the tax partners repository.
4.3 Global Document Update API
This API handles transaction level actions.
Following are the parameters for this API.
Parameter Usage Data Type Description
Transaction Record IN zx_tax_partner_pkg. trx_rec_type
Identifies transaction and the transaction level action on the
transaction.
Error Status OUT VARCHAR2
API Return Status. The possible Values are:
Success S,
Error - E,
Unexpected error - U
Error / Debug Messages
OUT zx_tax_partner_pkg. messages_tbl_type
PL/SQL collection for returning error and/or debug messages.
-
Tax Partner APIs Oracle Corporation Confidential - For Oracle
internal use only Page 16 of 71
For a detailed description of zx_tax_partner_pkg.trx_rec_type
and zx_tax_partner_pkg.messages_tbl_type data types, refer to
Appendix A.
Transaction (Document) Level Actions
Transaction Level Action
Expected Behavior by Tax Partner
DELETE Physically delete transaction lines and tax lines
FREEZE_FOR_TAX Mark the transaction as ready to report
UNFREEZE_FOR_TAX If the transaction is not yet reported, then
mark it as not ready to report. If it is already reported, then
return an error to indicate that the unfreeze process is not
successful.
-
Partner Calculated Tax Lines Processing by Fusion Tax Oracle
Corporation Confidential - For Oracle internal use only Page 17 of
71
5 Partner Calculated Tax Lines Processing by Fusion Tax
Tax partner calculated tax lines are validated before storing in
Fusion Tax repository. If the value of a mandatory attribute of a
tax line is invalid but can be replaced by a default value, a
message is inserted in the debug log file; otherwise an error is
raised to the user along with inserting the cause of the error in
the debug log file.
Following attribute values are defaulted by Fusion Tax if not
correctly populated by tax partner in tax_lines_tbl_type.
TAX_STATUS_CODE Populated with tax status code marked as a
default tax status code.
JURISDICTION_CODE Populated with the jurisdiction code derived
based on the tax regime, tax and situs. If not found,
jurisdiction_code is stored as NULL.
TAX_RATE_CODE Populated with tax rate code for the
tax_status_code with no associated tax_jurisdiction_code.
Default accounting code combination for tax liability account is
taken from the source tax jurisdiction first. If the tax has no
associated source tax, then it is taken from the tax jurisdiction
configuration. If it is not configured at tax jurisdiction level
then it is taken from tax rate configuration. Users can decide to
ignore default accounting code combination value by defining
Sub-Ledger Accounting rules to derive accounting code
combinations.
-
Tax Partner Repository Consistency Check Oracle Corporation
Confidential - For Oracle internal use only Page 18 of 71
6 Tax Partner Repository Consistency Check
Tax partners must check consistency of transaction and tax lines
in their repository with Fusion Receivables and Fusion Tax. There
may be situations such as user session timeout, system crash or
unexpected error that may result in not committing a transaction in
Fusion after a tax partner API has been successfully called. If the
tax partner API has already committed the transaction in tax
partner repository, there would be inconsistency between Fusion
Applications and Tax Partner repository. Tax Partner must provide
scripts to the customers to perform data consistency check and
cleanup tax partner repository periodically or at least prior to
generating tax returns.
-
Tax Partner Party Creation & Registration Oracle Corporation
Confidential - For Oracle internal use only Page 19 of 71
7 Tax Partner Party Creation & Registration A tax partner
must be created and registered as a party in Oracle Fusion
Applications anytime the partner provides a data content file
and/or provides a transaction tax calculation software application
for use with Fusion. For tax partners whose metadata has been
upgraded from Oracle E-Business Suite to Oracle Fusion
Applications, such tax partners may already exist as a party in
Oracle Fusion Applications as a result of the upgrade process. At
the time of initial deployment, the tax partner installation
process or project deployment process should create and register
the tax partner as a party in Fusion if such a record does not
already exist. The applicable steps will depend upon the specific
type of Oracle Fusion Applications deployment and the Oracle Fusion
Applications Release involved. Oracle Fusion On Premise
Deployments: Required Steps for Utilizing Tax Partner Content
and/or Services Case 1 On Premise Deployments using Oracle Fusion
Releases 1 through 4 For all Oracle Fusion on premise deployments
in which tax partner content, tax partner calculation services, or
both tax partner content and calculation services will be utilized,
tax partner party creation and registration is performed using a
standard PL/SQL API. The standard Oracle API,
ZX_REGISTER_TAX_PARTNER.register_tax_partner, allows the creation
and registration of a tax partner as a party in Oracle Fusion
Applications.
To accomplish this task for Oracle Fusion on premise deployments
using Fusion Releases 1 through 4, tax partners will be
specifically responsible for providing the script below to all of
their applicable clients upfront that will properly invoke a call
to the standard Oracle API
ZX_REGISTER_TAX_PARTNER.register_tax_partner to create and register
the tax partner as a party as outlined in the sample calling syntax
below:
DECLARE x_err_message VARCHAR2(100); x_return_status
VARCHAR2(10); BEGIN ZX_REGISTER_TAX_PARTNER.register_tax_partner
(p_party_name => 'Partner Name', p_provider_type_code =>
'Provider Type', x_err_message => x_err_message, x_return_status
=> x_return_status); IF x_return_status
FND_API.G_RET_STS_SUCCESS THEN DBMS_OUTPUT.put_line('Error: ' ||
x_err_message); ELSE DBMS_OUTPUT.put_line('Party Created
successfully'); END IF; END; / COMMIT; EXIT;
-
Tax Partner Party Creation & Registration Oracle Corporation
Confidential - For Oracle internal use only Page 20 of 71
In the API calling syntax outlined above, the tax partner must
decide how to populate the Partner Name and Provider Type API Input
Parameters based on an individual clients tax deployment needs as
well as the following attribute table:
Sequence Attribute Data Type Required Description
1 Partner Name STRING Y Company name of the tax partner.
2 Provider Type STRING Y
The three possible values are BOTH, CONTENT, and SERVICES.
CONTENT Tax partner provides only tax content for loading into
Fusion Tax. SERVICES Tax partner provides only tax calculation
services for Fusion customers. BOTH Tax partner provides both tax
content and tax calculation services for Fusion customers.
Case 2 On Premise Deployments using Oracle Fusion Release 5 and
Subsequent Releases Similar to Case 1 outlined above, for all
Oracle Fusion on premise deployments in which tax partner content,
tax partner calculation services, or both tax partner content and
calculation services will be utilized, tax partner party creation
and registration is performed using the standard Oracle API,
ZX_REGISTER_TAX_PARTNER.register_tax_partner.
However, in on premise deployment situations which involve
Oracle Fusion Release 5 and subsequent Releases, the API calling
script will be different in structure. Tax partners will be
specifically responsible for providing a script to all of their
applicable clients upfront that will properly invoke a call to the
standard Oracle API ZX_REGISTER_TAX_PARTNER.register_tax_partner to
create and register the tax partner as a party as outlined in the
sample calling syntax below for on premise deployments which
involve Oracle Fusion Release 5 and subsequent releases:
DECLARE x_err_message VARCHAR2(100); x_return_status
VARCHAR2(10); x_party_tax_profile_id NUMBER; BEGIN
ZX_REGISTER_TAX_PARTNER.register_tax_partner (p_party_name =>
'Partner Name', p_party_code => 'Partner Code',
p_provider_type_code => 'Provider Type', x_party_tax_profile_id
=> x_party_tax_profile_id, x_err_message => x_err_message,
x_return_status => x_return_status); IF x_return_status
FND_API.G_RET_STS_SUCCESS THEN DBMS_OUTPUT.put_line('Error: ' ||
x_err_message); ELSE DBMS_OUTPUT.put_line('Party Created
successfully'); END IF; END; /
-
Tax Partner Party Creation & Registration Oracle Corporation
Confidential - For Oracle internal use only Page 21 of 71
COMMIT; EXIT;
In the API calling syntax outlined above, the tax partner must
decide how to populate the Partner Name and Provider Type API Input
Parameters based on an individual clients tax deployment needs as
well as the following attribute table:
Sequence Attribute Data Type Required Description
1 Partner Name STRING Y Company name of the tax partner.
2 Partner Code STRING Y Company name of the tax partner. In
practice, the Partner Name and Partner Code can be initialized as
the same value.
3 Provider Type STRING Y
The three possible values are BOTH, CONTENT, and SERVICES.
CONTENT Tax partner provides only tax content for loading into
Fusion Tax. SERVICES Tax partner provides only tax calculation
services for Fusion customers. BOTH Tax partner provides both tax
content and tax calculation services for Fusion customers.
Oracle Fusion Cloud Deployments: Required Steps for Utilizing
Tax Partner Content Only
For Oracle Fusion cloud deployments in which only tax partner
content will be utilized, tax partner party creation and
registration is performed using a two-step sequential process as
outlined below. This approach is valid for all Oracle Fusion cloud
deployments that are available with Fusion Applications Release 5
and subsequent releases.
1. Creation of a standard lookup code value within the
ZX_SERVICE_PROVIDER Lookup Type
a. The existing ZX_SERVICE_PROVIDER Lookup Type is accessible
by:
Selecting Navigator > Tools > Setup and Maintenance.
Entering Manage Standard Lookups as the Name in the All Tasks UI
Tab.
Selecting the Search Button and the Go to Task Icon for Manage
Standard Lookups in sequence.
Entering ZX_SERVICE_PROVIDER as the Lookup Type before selecting
Search:
-
Tax Partner Party Creation & Registration Oracle Corporation
Confidential - For Oracle internal use only Page 22 of 71
b. After retrieving the existing ZX_SERVICE_PROVIDER Lookup Type
by selecting Search as outlined above:
Enter a Lookup Code for a tax partner.
Check the Enabled Box.
Enter a Start Date.
Enter a Meaning and Description for a tax partner name.
Save the information entered. A sample illustration is provided
below:
2. Execution of the tax data upload process
Oracle Fusion Cloud clients will utilize the Import Tax
Configuration Content Job in order to initiate the Fusion Tax data
content upload of a particular tax partner data file. The Import
Tax Configuration Content Job is accessed using the Scheduled
Processes User Interface Page from the Tools group in the Fusion
Navigator Menu.
Please reference Appendix E Running the Fusion Tax Content
Upload Program for all of the detailed navigation and steps on how
to execute the tax content upload.
-
Tax Partner Party Creation & Registration Oracle Corporation
Confidential - For Oracle internal use only Page 23 of 71
Fusion Cloud Deployments: Required Steps for Utilizing Tax
Partner Services Only or Content and Services For all Oracle Fusion
cloud deployments in which only tax partner calculation services or
both tax partner content and calculation services will be utilized,
tax partner party creation and registration is performed using an
inline create option available within the Tax Regime Service
Subscriptions User Interface (UI). This approach is valid for all
Oracle Fusion cloud deployments that are available with Fusion
Applications Release 5 and subsequent releases. The procedures for
tax partner party creation and registration are outlined below.
1. Using the Navigator > Tools > Setup and Maintenance
path, perform a task name search for Manage Tax Regimes:
2. Select the Go to Task Icon for Manage Tax Regimes to retrieve
the Manage Tax Regimes UI:
-
Tax Partner Party Creation & Registration Oracle Corporation
Confidential - For Oracle internal use only Page 24 of 71
3. Create an appropriate tax regime based on client
requirements:
4. Select the Service Subscriptions UI Tab and then select the
Add a New Record Icon (Green Plus Sign):
-
Tax Partner Party Creation & Registration Oracle Corporation
Confidential - For Oracle internal use only Page 25 of 71
5. With the exception of the Service Provider, enter in all
service subscription information:
6. Use the drop-down listing for the Service Provider to select
the inline Create option assuming the specific Service Provider has
not been previously created:
-
Tax Partner Party Creation & Registration Oracle Corporation
Confidential - For Oracle internal use only Page 26 of 71
7. Enter the required information for the Create Service
Provider UI (Note: The Type Field may either be populated with a
value of Both or Services. A value of Both indicates that the tax
partner will be used for both tax content and tax calculation
services whereas a value of Services indicates that the tax partner
will only be used for tax calculation services):
8. Select Save and Close from the Create Service Provider UI,
which will result in navigation back to the Create Tax Regime UI as
shown below. (Note: Once the final review of the new tax regime has
been completed, you may select Save and Close on the Create Tax
Regime UI as well):
-
Tax Partner Installation & Integration Oracle Corporation
Confidential - For Oracle internal use only Page 27 of 71
8 Tax Partner Installation & Integration
Tax partner integration with Fusion Tax is a three-step process:
1. Create and register tax partner as a party 2. Plug-in tax
partner API calls in a Fusion Tax pl/sql procedure 3. Optionally,
create user extensible procedures Since partner objects are to be
installed in partner schema, execute permission on tax partner APIs
must be granted to Fusion schema.
8.1 Create and Register Tax Partner as a Party Please reference
the Tax Partner Party Creation & Registration Section for
specific steps.
8.2 Tax Partner APIs Plug-in
Calls to tax partner APIs for tax calculation, tax
synchronization, and global document update need to be placed in
the pl/sql procedure
ZX_PTNR_SRVC_INTGRTN_PKG.invoke_third_party_interface. This
procedure is shipped with a sample commented code for guidance. As
a post tax partner installation step, implementation consultants
should copy the commented code and modify the copied code by
changing the partner name and regime code. -- Following is the
sample code that is written for Vertex Q Series and Taxware SUT
Integration -- Implementation consultants should copy and modify
this code for any other tax software -- p_partner_name and
p_tax_regime_code values would vary based on tax partner and regime
configuration IF p_partner_name = 'Vertex Inc' THEN IF
p_tax_regime_code = AND p_business_flow = 'O2C' THEN IF
p_service_type_code = 'CALCULATE_TAX' THEN -- APIs used in Vertex Q
Series -- ***************Replace with your package.procedure
name************************************-- -- ***************Ensure
that OUT parameters are as per API
specification**************************--
ZX_VERTEX_TAX_SERVICE_PKG.calculate_tax_api
(ZX_PTNR_SRVC_INTGRTN_PKG.G_TAX_CURRENCIES_TBL, --IN
ZX_PTNR_SRVC_INTGRTN_PKG.G_TAX_LINES_RESULT_TBL, --OUT
ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS, --OUT
ZX_PTNR_SRVC_INTGRTN_PKG.G_MESSAGES_TBL); --OUT IF
ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS FND_API.G_RET_STS_SUCCESS
THEN x_return_status := FND_API.G_RET_STS_ERROR; RETURN; END IF;
ELSIF p_service_type_code = 'SYNCHRONIZE_FOR_TAX' THEN --
***************Replace with your package.procedure
name************************************-- -- ***************Ensure
that OUT parameters are as per API
specification**************************--
-
Tax Partner Installation & Integration Oracle Corporation
Confidential - For Oracle internal use only Page 28 of 71
ZX_VERTEX_TAX_SERVICE_PKG.SYNCHRONIZE_VERTEX_REPOSITORY
(ZX_PTNR_SRVC_INTGRTN_PKG.G_SYNC_TAX_LINES_TBL, --OUT
ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS, --OUT
ZX_PTNR_SRVC_INTGRTN_PKG.G_MESSAGES_TBL); --OUT IF
ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS FND_API.G_RET_STS_SUCCESS
THEN x_return_status := FND_API.G_RET_STS_ERROR; RETURN; END IF;
ELSIF p_service_type_code = 'DOCUMENT_LEVEL_CHANGES' THEN --
***************Replace with your package.procedure
name************************************-- -- ***************Ensure
that OUT parameters are as per API
specification**************************--
ZX_VERTEX_TAX_SERVICE_PKG.GLOBAL_DOCUMENT_UPDATE
(ZX_PTNR_SRVC_INTGRTN_PKG.G_TRX_REC, --IN
ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS, --OUT
ZX_PTNR_SRVC_INTGRTN_PKG.G_MESSAGES_TBL); --OUT IF
ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS FND_API.G_RET_STS_SUCCESS
THEN x_return_status := FND_API.G_RET_STS_ERROR; RETURN; END IF;
ELSE Raise InvalidServiceType; END IF; --ELSIF **************** Add
separate code here for different Regime and Business Flow if
needed***** ELSE Raise InvalidContextCcid; END IF; END IF; IF
p_partner_name = 'Adp Inc.' OR p_partner_name = 'Taxware, LP - A
First Data Company' THEN IF p_tax_regime_code = AND p_business_flow
= 'O2C' THEN IF p_service_type_code = 'CALCULATE_TAX' THEN -- APIs
used in ADP-Taxware SUT -- This is an example and end users can
call their own API's here as well. -- ***************Replace with
your package.procedure name************************************--
-- ***************Ensure that OUT parameters are as per API
specification**************************--
ZX_TAXWARE_TAX_SERVICE_PKG.calculate_tax_api
(ZX_PTNR_SRVC_INTGRTN_PKG.G_TAX_CURRENCIES_TBL, --IN
ZX_PTNR_SRVC_INTGRTN_PKG.G_TAX_LINES_RESULT_TBL, --OUT
ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS, --OUT
ZX_PTNR_SRVC_INTGRTN_PKG.G_MESSAGES_TBL); --OUT IF
ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS FND_API.G_RET_STS_SUCCESS
THEN x_return_status := FND_API.G_RET_STS_ERROR; RETURN; END
IF;
-
Tax Partner Installation & Integration Oracle Corporation
Confidential - For Oracle internal use only Page 29 of 71
ELSIF p_service_type_code = 'SYNCHRONIZE_FOR_TAX' THEN --
***************Replace with your package.procedure
name************************************-- -- ***************Ensure
that OUT parameters are as per API
specification**************************--
ZX_TAXWARE_TAX_SERVICE_PKG.SYNCHRONIZE_TAXWARE_REPOSITORY
(ZX_PTNR_SRVC_INTGRTN_PKG.G_SYNC_TAX_LINES_TBL, --OUT
ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS, --OUT
ZX_PTNR_SRVC_INTGRTN_PKG.G_MESSAGES_TBL); --OUT IF
ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS FND_API.G_RET_STS_SUCCESS
THEN x_return_status := FND_API.G_RET_STS_ERROR; RETURN; END IF;
ELSIF p_service_type_code = 'DOCUMENT_LEVEL_CHANGES' THEN --
***************Replace with your package.procedure
name************************************-- -- ***************Ensure
that OUT parameters are as per API
specification**************************--
ZX_TAXWARE_TAX_SERVICE_PKG.GLOBAL_DOCUMENT_UPDATE
(ZX_PTNR_SRVC_INTGRTN_PKG.G_TRX_REC, --IN
ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS, --OUT
ZX_PTNR_SRVC_INTGRTN_PKG.G_MESSAGES_TBL); --OUT IF
ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS FND_API.G_RET_STS_SUCCESS
THEN x_return_status := FND_API.G_RET_STS_ERROR; RETURN; END IF;
ELSE Raise InvalidServiceType; END IF; --ELSIF **************** Add
code here for more tax regimes if needed************ ELSE Raise
InvalidContextCcid; END IF; END IF; IMPORTANT NOTE: When no tax
partner application is implemented, this procedure raises an
exception RAISE CODE_NOT_GENERATED;. Tax partners or implementers
should comment this line of code after inserting a call to a tax
partner application. In practice, failure to comment out this
exception can result in transaction runtime errors.
-
Tax Partner Installation & Integration Oracle Corporation
Confidential - For Oracle internal use only Page 30 of 71
8.3 User Extensible Procedures
For tax partner integration, Fusion Tax provides ninety user
extensible attributes. Forty five extensible attributes are
available at transaction header level and another forty five
attributes are present at transaction line level. These attributes
are not persistent in any Fusion Tax table but are available in
ZX_O2C_CALC_TXN_INPUT_V view for tax calculation purposes. The
attributes are
header_char1 to header_char30 header_numeric1 to
header_numeric10 header_date1 to header_date5 line_char1 to
line_char30 line_numeric1 to line_numeric10 line_date1 to
line_date5
Header extensible attributes are also available in
ZX_SYNC_HDR_INPUT_V and lines extensible attributes are available
in ZX_SYNC_LINES_INPUT_V for synchronizing the header and line
attributes with the tax partner repository, if a tax partner wishes
to use these attributes for tax reporting.
If a tax partner decides to use extensible attributes, tax
partner must explain how these attributes are used by tax partner
application. It should be in tax partner documentation for the
mutual customers. Users must know the sources for these attributes
in the Fusion Applications as users are expected to populate the
value in those source attributes.
These attributes are populated by user procedures. Package and
procedure name is decided by the user. If the logic to derive
values of these attributes varies by business unit/first party
legal entity, users can create separate user procedures for each
business unit/first party legal entity or can have conditional
logic in one procedure itself.
Calls to user extensible procedures must be placed in
ZX_USER_EXT_PKG.invoke_third_party_interface procedure. This
procedure is shipped with a sample commented code for guidance.
Implementation consultants should copy the commented code and
modify the copied code by changing the partner name and regime
code. -- Following is the sample code that is written for Vertex Q
Series and Taxware SUT Integration -- Implementation consultants
should copy and modify this code for any other tax software --
p_partner_name and p_tax_regime_code values would vary based on tax
partner and regime configuration -- If you write separate
procedures for different Business Units/Legal Entities, -- you
would need to add conditions for checking Business Unit/Legal
Entity in the IF statement -- You can use as many OR clauses as
needed as per your situation IF p_partner_name = 'Vertex Inc' AND
((p_bu_or_le_name = AND p_party_type = ) OR (p_bu_or_le_name = <
enter business unit or legal entity name> AND p_party_type = )
OR ) THEN IF p_tax_regime_code = AND p_business_flow = 'O2C' THEN
IF p_service_type_code = 'DERIVE_HDR_ATTRS' THEN -- APIs used in
Vertex Q Series -- ***************Replace with your
package.procedure name************************************--
-
Tax Partner Installation & Integration Oracle Corporation
Confidential - For Oracle internal use only Page 31 of 71
-- ***************Ensure that OUT parameters are as per API
specification**************************--
ZX_VTX_USER_PKG.derive_hdr_ext_attr
(ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS, --OUT
ZX_PTNR_SRVC_INTGRTN_PKG.G_MESSAGES_TBL); --OUT IF
ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS FND_API.G_RET_STS_SUCCESS
THEN x_return_status := FND_API.G_RET_STS_ERROR; RETURN; END IF;
ELSIF p_service_type_code = 'DERIVE_LINE_ATTRS' THEN --
***************Replace with your package.procedure
name************************************-- -- ***************Ensure
that OUT parameters are as per API
specification**************************--
ZX_VTX_USER_PKG.derive_line_ext_attr
(ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS, --OUT
ZX_PTNR_SRVC_INTGRTN_PKG.G_MESSAGES_TBL); --OUT IF
ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS FND_API.G_RET_STS_SUCCESS
THEN x_return_status := FND_API.G_RET_STS_ERROR; RETURN; END IF;
ELSE Raise InvalidServiceType; END IF; --ELSIF **************** Add
separate code here for different Regime and Business Flow if needed
ELSE Raise InvalidContextCcid; END IF; END IF; IF (p_partner_name =
'Adp Inc.' OR p_partner_name = 'Taxware, LP - A First Data
Company') AND
((p_bu_or_le_name = AND p_party_type = ) OR
(p_bu_or_le_name = < enter business unit or legal entity
name> AND p_party_type = ) OR ) THEN IF p_tax_regime_code = AND
p_business_flow = 'O2C' THEN IF p_service_type_code =
'DERIVE_HDR_ATTRS' THEN -- APIs used in Taxware SUT --
***************Replace with your package.procedure
name************************************-- -- ***************Ensure
that OUT parameters are as per API
specification**************************--
ZX_TAXWARE_USER_PKG.derive_hdr_ext_attr
(ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS,
ZX_PTNR_SRVC_INTGRTN_PKG.G_MESSAGES_TBL); IF
ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS FND_API.G_RET_STS_SUCCESS
THEN x_return_status := FND_API.G_RET_STS_ERROR; RETURN; END IF;
ELSIF p_service_type_code = 'DERIVE_LINE_ATTRS' THEN
-
Tax Partner Installation & Integration Oracle Corporation
Confidential - For Oracle internal use only Page 32 of 71
-- ***************Replace with your package.procedure
name************************************-- -- ***************Ensure
that OUT parameters are as per API
specification**************************--
ZX_TAXWARE_USER_PKG.derive_line_ext_attr
(ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS,
ZX_PTNR_SRVC_INTGRTN_PKG.G_MESSAGES_TBL); IF
ZX_PTNR_SRVC_INTGRTN_PKG.G_ERROR_STATUS FND_API.G_RET_STS_SUCCESS
THEN x_return_status := FND_API.G_RET_STS_ERROR; RETURN; END IF;
ELSE Raise InvalidServiceType; END IF; --ELSIF **************** Add
code here for more tax regimes if needed*************** ELSE Raise
InvalidContextCcid; END IF; END IF; IMPORTANT NOTE: When no user
procedure is implemented in conjunction with the deployment of a
tax partner application, this procedure raises an exception RAISE
CODE_NOT_GENERATED;. In such cases, tax partners or implementers
should comment this line of code. In practice, failure to comment
out this exception can result in transaction runtime errors.
-
Vertex Q-Series and ADP-Taxware Sales and Use Tax (SUT)
Integration Oracle Corporation Confidential - For Oracle internal
use only Page 33 of 71
9 Vertex Q-Series and ADP-Taxware Sales and Use Tax (SUT)
Integration In EBS R12, Oracle pre-packaged Vertex Inc. Q-Series
and ADP-Taxware SUT zip files and provided a shell script to unzip
and install partner software. This process installed database
objects only. Customers had to install Vertex Inc./ADP-Taxware
client software using Vertex Inc./ADP-Taxware installation process.
In Fusion, Vertex Inc. Q-Series and ADP-Taxware SUT software are
not shipped as zip files. Customers must get both backend and
client software from Vertex Inc./ADP-Taxware. Vertex Inc. and
ADP-Taxware are responsible for providing installation and
integration manual to customers. This section explains additional
steps required for Vertex Inc. Q-Series and ADP-Taxware SUT. It is
recommended that these steps are done in a script to make
installation easier for the customers. Oracle Fusion would not
publish any document on Vertex Inc. Q-Series and ADP-Taxware
implementation. So, Vertex Inc. and ADP-Taxware must publish their
integration manual for mutual customers. Note that for all other
tax partner software integration other than Vertex Inc. Q-Series
and ADP-Taxware SUT, this section must be skipped.
9.1 Vertex Q-Series
1. After creating Vertex Inc. as a party as per the instructions
given in Tax Partner Installation & Integration section and
after installing Q-Series software, re-create following synonyms
CONNECT / CREATE OR REPLACE SYNONYM ZX_TAX_VERTEX_QSU FOR .QSU;
CREATE OR REPLACE SYNONYM ZX_TAX_VERTEX_GEO FOR .GEO; CREATE OR
REPLACE SYNONYM ZX_TAX_VERTEX_AUDIT FOR .REGPRERETURNSTBL;
2. Provide grants to FUSION schema on the required Q-Series
objects. 3. Create index on Vertex Audit Table
CREATE INDEX ON REGPRERETURNSTBL (TRANSUSERAREA); 4. Vertex Inc.
Q-Series APIs do not follow APIs specification described in Tax
Partner APIs section of this
document. Oracle Fusion provides three wrappers APIs over Vertex
Inc. Q-Series APIs to meet Oracle specifications. Vertex Inc. can
either use the same for integrating with Fusion, can change these
wrappers or can re-write Q-Series APIs as per the APIs
specification.
o Tax Calculation API -
ZX_VERTEX_TAX_SERVICE_PKG.CALCULATE_TAX_API o Tax Synchronization
API -
ZX_VERTEX_TAX_SERVICE_PKG.SYNCHRONIZE_VERTEX_REPOSITORY o Global
Document Update API -
ZX_VERTEX_TAX_SERVICE_PKG.GLOBAL_DOCUMENT_UPDATE 5. To invoke
ZX_VERTEX_TAX_SERVICE_PKG.CALCULATE_TAX_API,
ZX_VERTEX_TAX_SERVICE_PKG.SYNCHRONIZE_VERTEX_REPOSITORY and
ZX_VERTEX_TAX_SERVICE_PKG.GLOBAL_DOCUMENT_UPDATE API wrapper APIs,
modify ZX_PTNR_SRVC_INTGRTN_PKG.invoke_third_party_interface
procedure as explained in Tax Partner Installation and Integration
section.
6. Customizable functions that were made available in EBS R12
are still available in ZX_VTX_USER_PKG. Refer Oracle E-Business
Tax: Vertex Q-Series and Taxware Sales/Use Tax System
Implementation Guide, Release 12 for more information on
customizable functions and explain the same in an implementation
guide for the mutual customers.
-
Vertex Q-Series and ADP-Taxware Sales and Use Tax (SUT)
Integration Oracle Corporation Confidential - For Oracle internal
use only Page 34 of 71
7. Customizable functions are called from
ZX_VTX_USER_PKG.DERIVE_HDR_EXT_ATTR and
ZX_VTX_USER_PKG.DERIVE_LINE_EXT_ATTR procedures. Implementation
consultant should change
ZX_USER_EXT_PKG.invoke_third_party_interface procedure to
un-comment the commented code that calls the
ZX_VTX_USER_PKG.DERIVE_HDR_EXT_ATTR and ZX_VTX_USER_PKG.
DERIVE_LINE_EXT_ATTR procedures. Implementation consultant must
follow instructions provided in User Extensible Attributes section
specifically p_partner_name and p_tax_regime_code values.
8. Profile options provided for Vertex Q-Series integration in
EBS R12 continue to exist in Fusion.
9.2 Taxware SUT
1. After creating ADP-Taxware as a party as per the instructions
given in Tax Partner Installation & Integration section and
after installing ADP-Taxware SUT software, re-create following
synonyms CONNECT / CREATE OR REPLACE SYNONYM ZX_TAX_TAXWARE_010 FOR
.TAXPKG_10; CREATE OR REPLACE SYNONYM ZX_TAX_TAXWARE_GEN FOR
.TAXPKG_GEN; CREATE OR REPLACE SYNONYM ZX_TAX_TAXWARE_AUDIT_HEADER
FOR .TAXAUDIT_HEADER; CREATE OR REPLACE SYNONYM
ZX_TAX_TAXWARE_AUDIT_DETAIL FOR .TAXAUDIT_DETAIL; CREATE OR REPLACE
SYNONYM ZX_TAX_TAXWARE_AUDIT_JURIS FOR .TAXAUDIT_JURIS; CREATE OR
REPLACE SYNONYM ZX_TAX_TAXWARE_AUDIT_TAX FOR .TAXAUDIT_TAX;
2. Provide grants to FUSION schema on the required SUT objects.
3. ADP-Taxware SUT APIs do not follow APIs specification described
in Tax Partner APIs section of this
document. Oracle wrote three wrappers APIs over ADP-Taxware SUT
APIs to meet Oracle specifications. ADP-Taxware can either use the
same for integrating with Fusion, can change these wrappers or can
re-write SUT APIs as per the APIs specification.
o Tax Calculation API -
ZX_TAXWARE_TAX_SERVICE_PKG.CALCULATE_TAX_API o Tax Synchronization
API -
ZX_TAXWARE_TAX_SERVICE_PKG.SYNCHRONIZE_TAXWARE_REPOSITORY o
Global Document Update API -
ZX_TAXWARE_TAX_SERVICE_PKG.GLOBAL_DOCUMENT_UPDATE 4. To invoke
ZX_TAXWARE_TAX_SERVICE_PKG.CALCULATE_TAX_API,
ZX_TAXWARE_TAX_SERVICE_PKG.SYNCHRONIZE_TAXWARE_REPOSITORY and
ZX_TAXWARE_TAX_SERVICE_PKG.GLOBAL_DOCUMENT_UPDATE wrapper APIs,
modify ZX_PTNR_SRVC_INTGRTN_PKG.invoke_third_party_interface
procedure as explained in Tax Partner Installation and Integration
section.
5. Customizable functions that were made available in EBS R12
are still available in ZX_TAXWARE_USER_PKG. Refer Oracle E-Business
Tax: Vertex Q-Series and Taxware Sales/Use Tax System
Implementation Guide, Release 12 for more information on
customizable functions and explain the same in an implementation
guide for the mutual customers.
6. Customizable functions are called from
ZX_TAXWARE_USER_PKG.DERIVE_HDR_EXT_ATTR and
ZX_TAXWARE_USER_PKG.DERIVE_LINE_EXT_ATTR procedures. Implementation
consultant should change
ZX_USER_EXT_PKG.invoke_third_party_interface procedure to
un-comment the commented code that calls
ZX_TAXWARE_USER_PKG.DERIVE_HDR_EXT_ATTR and
ZX_TAXWARE_USER_PKG.DERIVE_LINE_EXT_ATTR procedures. Implementation
consultant must follow instructions provided in User Extensible
Attributes section specifically p_partner_name and
p_tax_regime_code values.
7. Profile options provided for ADP-Taxware SUT integration in
EBS R12 continue to exist in Fusion.
-
Appendix A Data Types and Database Views Oracle Corporation
Confidential - For Oracle internal use only Page 35 of 71
10 Appendix A Data Types and Database Views
Transaction header, transaction line and tax lines are uniquely
identified with following composite unique keys in the data types
and views explained in this section.
Transaction Header composite unique key is document_type_id and
transaction_id.
Transaction Line composite unique key is document_type_id,
transaction_id, transaction_line_id and trx_level_type.
Tax Line composite unique key is document_type_id,
transaction_id, transaction_line_id, trx_level_type, country_code
(represents tax regime code), tax and situs.
10.1 zx_tax_partner_pkg.messages_tbl_type
A table of this data type is used for receiving errors returned
by tax partner APIs. Each error should be returned in one of the
following three contexts:
Transaction Header
Transaction Line
Tax Line
messages_tbl_type is a PL/SQL table that contains following
columns:
Sequence Attribute Data Type Required Description
1 document_type_id NUMBER Y
Document type identifier. Document type represents Sales
Invoice, Credit Memo etc. All possible values are listed in
Appendix D.
2 transaction_id NUMBER Y
Primary transaction identifier that distinguishes a
transaction/document uniquely in the context of a document
type.
3 transaction_line_id NUMBER N Primary transaction line
identifier that represents a transaction line uniquely within a
transaction.
4 trx_level_type VARHCAR2(30) N
Transaction level type. Possible values are LINE, FREIGHT. This
column is only for the purposes of uniquely identifying a
transaction line. It does not have any implications for the tax
processing.
5 country_code VARCHAR2(30) N Tax Regime Code
6 tax VARCHAR2(30) N
Represents a classification of the charges imposed by a
government through a fiscal or tax authority. For example, it can
be STATE, COUNTY, CITY, DISTRICT COUNTY, DISTRICT CITY, etc.
7 situs VARCHAR2(30) N
Represents the location to which the Tax applies. Possible
values are SHIP_TO, BILL_TO, SHIP_FROM, BILL_FROM, POA and POO.
8 error_message_type VARCHAR2(30) Y Represents the severity of
the error message returned by the tax partner
-
Appendix A Data Types and Database Views Oracle Corporation
Confidential - For Oracle internal use only Page 36 of 71
service. Possible values are ERROR and INFORMATION.
9 error_message_string VARCHAR2(240) Y Error message text
10.2 zx_tax_partner_pkg.output_sync_tax_lines_tbl_type
A table of this data type is used by tax synchronization API to
return effective tax rate percentage and/or effective taxable basis
determined by tax partner API for the tax lines that are being
synchronized in the tax partners repository.
output_sync_tax_lines_tbl_type is a PL/SQL table of records
sync_tax_lines_rec_type having following columns:
Sequence Attribute Data Type Required Description
1 document_type_id NUMBER Y
Document type identifier. Document type represents Sales
Invoice, Credit Memo etc. All possible values are listed in
Appendix D.
2 transaction_id NUMBER Y
Primary transaction identifier that distinguishes a
transaction/document uniquely in the context of a document
type.
3 transaction_line_id NUMBER Y Primary transaction line
identifier that represents a transaction line uniquely within a
transaction.
4 trx_level_type VARHCAR2(30)
Y
Transaction level type. Possible values are LINE, FREIGHT. This
column is only for the purposes of uniquely identifying a
transaction line. It does not have any implications for the tax
processing.
5 country_code VARCHAR2(30)
Y Tax Regime Code
6 tax VARCHAR2(30)
Y
Represents a classification of the charges imposed by a
government through a fiscal or tax authority. For example, it can
be STATE, COUNTY, CITY, DISTRICT COUNTY, DISTRICT CITY, etc.
7 situs VARCHAR2(30)
Y
Represents the location to which the Tax applies. Possible
values are SHIP_TO, BILL_TO, SHIP_FROM, BILL_FROM, POA and POO.
8 tax_rate_percentage NUMBER N Effective tax rate percentage
determined by the tax partners synchronization API.
9 taxable_amount NUMBER N Effective taxable amount determined by
the tax partners synchronization API.
Tax Partner API must return either tax_rate_percentage or
taxable_amount or both for each output line.
-
Appendix A Data Types and Database Views Oracle Corporation
Confidential - For Oracle internal use only Page 37 of 71
10.3 zx_tax_partner_pkg.tax_currencies_tbl_type
A table of this data type is used by tax calculation API to pass
exchange rate information to the tax partner if transaction
currency is different from the tax currency. The same table is also
used to receive precision information from the tax partner for tax
currency. tax_currencies_tbl_type is of record
tax_currencies_rec_type having following columns:
Sequence Attribute Data Type Required Description
1 tax VARCHAR2(30) Y
Represents a classification of the charges imposed by a
government through a fiscal or tax authority. For example, it can
be STATE, COUNTY, CITY, DISTRICT COUNTY, DISTRICT CITY, etc.
2 tax_currency_code VARCHAR2(15) Y
Currency code of tax currency or currency of the taxation
country. For example, USD represents US Dollars and it is the
currency for US Sales and Use Tax.
3 trx_line_currency_code VARCHAR2(15) Y Currency code of
transaction line currency.
4 exchange_rate NUMBER Y
Exchange rate between the transaction line currency and the tax
currency. Tax partner can use an exchange rate specified by a tax
authority instead of the exchange rate passed by Oracle. If another
exchange rate is used, tax partner should return the exchange rate
in this attribute. The value of this attribute is 1, if the two
currencies are the same.
5 tax_currency_precision NUMBER Y Precision used by tax partner
for rounding the tax amounts in the tax currency.
10.4 zx_tax_partner_pkg.tax_lines_tbl_type
A table of this data type is used by tax calculation API to
receive tax lines determined by the tax partner. tax_lines_tbl_type
contains following columns:
Sequence Attribute Data Type Required Description
1. document_type_id NUMBER Y
Document type identifier. Document type represents Sales
Invoice, Credit Memo etc. All possible values are listed in
Appendix D.
2. transaction_id NUMBER Y
Primary transaction identifier that distinguishes a
transaction/document uniquely in the context of a document
type.
3. transaction_line_id NUMBER Y Primary transaction line
identifier that represents a
-
Appendix A Data Types and Database Views Oracle Corporation
Confidential - For Oracle internal use only Page 38 of 71
transaction line uniquely within a transaction.
4. trx_level_type VARHCAR2(30) Y
Transaction level type. Possible values are LINE, FREIGHT. This
column is only for the purposes of uniquely identifying a
transaction line. It does not have any implications for the tax
processing.
5. country_code VARCHAR2(30) Y Tax Regime Code
6. Tax VARCHAR2(30) Y
Represents a classification of the charges imposed by a
government through a fiscal or tax authority. For example, it can
be STATE, COUNTY, CITY, DISTRICT COUNTY, DISTRICT CITY, etc.
7. Situs VARCHAR2(30) Y
Represents the location to which the Tax applies. Possible
values are SHIP_TO, BILL_TO, SHIP_FROM, BILL_FROM, POA and POO.
8. tax_jurisdiction VARCHAR2(30) N Tax Jurisdiction Code
9. tax_status_code VARCHAR2(30) N Tax status code
10. tax_rate_code VARCHAR2(30) N Tax rate code
11. tax_amount NUMBER Y Rounded tax amount in transaction
currency.
12. unrounded_tax_amount NUMBER Y Un-rounded tax amount in
transaction currency.
13. tax_currency_code VARCHAR2(30) Y Tax Currency
14. tax_curr_tax_amount NUMBER Y Rounded tax amount in tax
currency.
15. tax_rate_percentage NUMBER Y Tax rate %, which when applied
on taxable amount gives tax amount.
16. taxable_amount NUMBER Y Taxable amount in transaction
currency.
17. Tax_Exemption_id NUMBER N Tax Exemption unique
identifier
18. exempt_certificate_number VARCHAR2(80) N Tax exemption
certificate
number
19. exempt_rate_modifier NUMBER N Percentage of the original tax
rate that is exempt.
20. exempt_reason VARCHAR2(240) N Tax exemption reason
21. Exemption_reason_code VARCHAR2(30) N Exempt reason code
22. tax_only_line_flag VARCHAR2(1) N
Flag to indicate this is a tax only line. Possible values are Y
and N. Tax partner is expected to return the same value as passed
by E-Business Suite during tax calculation interface.
23. inclusive_tax_line_flag VARCHAR2(1) N Flag to indicate if
this tax line
-
Appendix A Data Types and Database Views Oracle Corporation
Confidential - For Oracle internal use only Page 39 of 71
is of inclusive taxes. Possible values are Y and N.
24. line_amt_includes_tax_flag VARCHAR2(1) N
An internal attribute to be populated for Fusion use only. This
is needed to enhance the overall performance of tax calculation
interface. Tax partners must provide the value of this attribute
from the input transaction line information. This value is same for
all the tax lines associated with a transaction line.
25. use_tax_flag VARCHAR2(1) N For Future Use. Pass N
always.
26. user_override_flag VARCHAR2(1) N
Indicates if the tax line calculated by the tax partner service
is overridden by the end user. Possible values are Y and N.
27. last_manual_entry VARCHAR2 N
Indicates which value the end user has overridden - whether the
tax amount or the tax rate %. Possible values are TAX_RATE and
TAX_AMOUNT.
28. manually_entered_flag VARCHAR2(1) N
Flag to indicate if the tax line is manually entered by the
user. Possible values are Y and N. Please note that
user_override_flag is set when a calculated tax line is changed by
the user, whereas manually_entered_flag is set when a new tax line
is created by the user.
29. registration_party_type VARCHAR2(30) N
Party type whose registration was used for tax calculation.
SHIP_TO, BILL_TO, SHIP_FROM, BILL_FROM, POA and POO.
30. party_tax_reg_number VARCHAR2(50) N Tax registration number
of the first party.
31. threshold_indicator_flag VARCHAR2(1) N
Indicates if a header level max tax has been applied to one or
more transaction lines during tax processing. Possible values are Y
and N. This value should be the same for all tax lines of a
tax.
32. Attribute_category VARCHAR2(600) N Descriptive flexfield
context column
33. Attribute_date1 DATE N Descriptive flexfield segment
34. Attribute_date2 DATE N Descriptive flexfield segment
-
Appendix A Data Types and Database Views Oracle Corporation
Confidential - For Oracle internal use only Page 40 of 71
35. Attribute_date3 DATE N Descriptive flexfield segment
36. Attribute_date4 DATE N Descriptive flexfield segment
37. Attribute_date5 DATE N Descriptive flexfield segment
38. Attribute_number1 NUMBER N Descriptive flexfield segment
39. Attribute_number2 NUMBER N Descriptive flexfield segment
40. Attribute_number3 NUMBER N Descriptive flexfield segment
41. Attribute_number4 NUMBER N Descriptive flexfield segment
42. Attribute_number5 NUMBER N Descriptive flexfield segment
43. Attribute1 VARCHAR2(600) N Descriptive flexfield segment
44. Attribute2 VARCHAR2(600) N Descriptive flexfield segment
45. Attribute3 VARCHAR2(600) N Descriptive flexfield segment
46. Attribute4 VARCHAR2(600) N Descriptive flexfield segment
47. Attribute5 VARCHAR2(600) N Descriptive flexfield segment
48. Attribute6 VARCHAR2(600) N Descriptive flexfield segment
49. Attribute7 VARCHAR2(600) N Descriptive flexfield segment
50. Attribute8 VARCHAR2(600) N Descriptive flexfield segment
51. Attribute9 VARCHAR2(600) N Descriptive flexfield segment
52. Attribute10 VARCHAR2(600) N Descriptive flexfield
segment
53. Attribute11 VARCHAR2(600) N Descriptive flexfield
segment
54. Attribute12 VARCHAR2(600) N Descriptive flexfield
segment
55. Attribute12 VARCHAR2(600) N Descriptive flexfield
segment
56. Attribute13 VARCHAR2(600) N Descriptive flexfield
segment
57. Attribute15 VARCHAR2(600) N Descriptive flexfield
segment
58. Char1 VARCHAR2(600) N User extensible attribute for future
use.
59. Char2 VARCHAR2(600) N User extensible attribute for future
use.
60. Char3 VARCHAR2(600) N User extensible attribute for future
use.
61. Char4 VARCHAR2(600) N User extensible attribute for future
use.
62. Char5 VARCHAR2(600) N User extensible attribute for future
use.
63. Char6 VARCHAR2(600) N User extensible attribute for future
use.
64. Char7 VARCHAR2(600) N User extensible attribute for future
use.
65. Char8 VARCHAR2(600) N User extensible attribute for future
use.
66. Char9 VARCHAR2(600) N User extensible attribute for future
use.
67. Char10 VARCHAR2(600) N User extensible attribute for future
use.
68. Date1 DATE N User extensible attribute for future use.
69. Date2 DATE N User extensible attribute for future use.
70. Date3 DATE N User extensible attribute for future use.
71. Date4 DATE N User extensible attribute for future use.
-
Appendix A Data Types and Database Views Oracle Corporation
Confidential - For Oracle internal use only Page 41 of 71
72. Date5 DATE N User extensible attribute for future use.
73. Date6 DATE N User extensible attribute for future use.
74. Date7 DATE N User extensible attribute for future use.
75. Date8 DATE N User extensible attribute for future use.
76. Date9 DATE N User extensible attribute for future use.
77. Date10 DATE N User extensible attribute for future use.
78. Numeric1 NUMBER N User extensible attribute for future
use.
79. Numeric2 NUMBER N User extensible attribute for future
use.
80. Numeric3 NUMBER N User extensible attribute for future
use.
81. Numeric4 NUMBER N User extensible attribute for future
use.
82. Numeric5 NUMBER N User extensible attribute for future
use.
83. Numeric6 NUMBER N User extensible attribute for future
use.
84. Numeric7 NUMBER N User extensible attribute for future
use.
85. Numeric8 NUMBER N User extensible attribute for future
use.
86. Numeric9 NUMBER N User extensible attribute for future
use.
87. Numeric10 NUMBER N User extensible attribute for future
use.
88. Global_Attribute_Category VARCHAR2(150) N For Internal
use.
89. Global_Attribute2 VARCHAR2(150) N For Internal use.
90. Global_Attribute4 VARCHAR2(150) N For Internal use.
91. Global_Attribute6 VARCHAR2(150) N For Internal use.
92. Legal_justification_text1 VARCHAR2(4000) N Legal
justification text 1
93. Legal_justification_text2 VARCHAR2(4000) N Legal
justification text 2
94. Legal_justification_text3 VARCHAR2(4000) N Legal
justification text 3
95. Legal_message_appl_2 NUMBER N Legal message for tax
applicability.
96. Legal_message_basis NUMBER N Legal message for taxable
basis.
97. Legal_message_calc NUMBER N Legal message for tax
calculation.
98. Legal_message_excpt NUMBER N Legal message for
exceptions.
99. Legal_message_exmpt NUMBER N Legal message for
exemptions.
100. Legal_message_pos NUMBER N Legal message for place of
supply.
101. Legal_message_rate NUMBER N Legal message for rate
determination.
102. Legal_message_status NUMBER N Legal message for status
-
Appendix A Data Types and Database Views Oracle Corporation
Confidential - For Oracle internal use only Page 42 of 71
determination.
103. Legal_message_threshold NUMBER N Legal message for
thresholds.
104. Legal_message_trn NUMBER N Legal message for tax
registration number.
10.5 zx_tax_partner_pkg.trx_rec_type
A record of this data type is used by global document API to
pass transaction identifiers and corresponding document level
action. trx_rec_type contains following columns:
Sequence Attribute Data Type Description
1 document_type_id NUMBER Document type identifier. Document
type represents Sales Invoice, Credit Memo etc. All possible values
are listed in Appendix D.
2 transaction_id NUMBER Primary transaction identifier that
distinguishes a transaction/document uniquely in the context of a
document type.
3 document_level_action VARCHAR2(30) Document level action for
the document type / transaction.
10.6 zx_api_prvdr_pub.error_messages_tbl
A table of this data type is used for returning errors by Fusion
to tax partners while registering a tax partner service.
The type error_messages_tbl is a TABLE OF VARCHAR2(1000) INDEX
BY BINARY_INTEGER
10.7 ZX_IMPORT_TAX_LINES_INPUT_V
This view is used in tax calculation API to pass imported tax
lines to the tax partners. The columns of the view are:
Sequence Attribute Data Type Description
1. document_type_id NUMBER Document type identifier. Document
type represents Sales Invoice, Credit Memo etc. All possible values
are listed in Appendix D.
2. transaction_id NUMBER Primary transaction identifier that
distinguishes a transaction/document uniquely in the context of a
document type.
3. transaction_line_id NUMBER Primary transaction line
identifier that represents a transaction line uniquely within a
transaction.
4. trx_level_type VARHCAR2(30)
Transaction level type. Possible values are LINE, FREIGHT. This
column is only for the purposes of uniquely identifying a
transaction line. It does not have any implications for the tax
processing.
5. country_code VARCHAR2(30) Tax Regime Code
6. tax VARCHAR2(30) Represents a classification of the
charges
-
Appendix A Data Types and Database Views Oracle Corporation
Confidential - For Oracle internal use only Page 43 of 71
imposed by a government through a fiscal or tax authority. For
example, it can be STATE, COUNTY, CITY, DISTRICT COUNTY, DISTRICT
CITY, etc.
7. situs VARCHAR2(30) Represents the location to which the Tax
applies. Possible values are SHIP_TO, BILL_TO, SHIP_FROM,
BILL_FROM, POA and POO.
8. tax_jurisdiction VARCHAR2(30) Tax Jurisdiction Code
9. tax_currency_code VARCHAR2(15) Tax Currency Code
10. tax_amount NUMBER Rounded tax amount in transaction
currency.
11. Tax_amount_tax_currency NUMBER Rounded tax amount in tax
currency.
12. Tax_rate_percentage NUMBER Tax rate %, which when applied on
taxable amount gives tax amount.
13. taxable_amount NUMBER Taxable amount in transaction
currency.
14. exempt_rate_modifier NUMBER Percentage of the original tax
rate that is exempt.
15. exempt_reason VARCHAR2(240) Tax exemption reason.
16. Tax_only_line_flag VARCHAR2(1) Flag to indicate this is a
tax only line. Possible values are Y and N. If the value is Y, then
the corresponding transaction_line_id can be NULL.
17. inclusive_tax_line_flag VARCHAR2(1) Flag to indicate if this
tax line is of inclusive taxes. Possible values are Y and N.
18. use_tax_flag VARCHAR2(1) For Future Use. Value is always
N.
19. manually_entered_flag VARCHAR2(1) Flag to indicate if the
tax line has been manually entered by the end user. Possible values
are Y and N.
20. Overridden_flag VARCHAR2(1) Flag to indicate if the tax line
has been manually overridden by the end user. Possible values are Y
and N.
21. Last_manual_entry VARCHAR2(30)
Indicates which value the end user has overridden - whether the
tax amount or the tax rate %. Possible values are TAX_RATE and
TAX_AMOUNT.
22. Tax_registration_number VARCHAR2(50)
10.8 ZX_O2C_CALC_TXN_INPUT_V
This view is used by tax calculation API for providing
transaction information to the tax partners. The columns of this
view are:
Sequence Attribute Data Type Description
Header Level Tax Calculation Attributes
1. internal_organization_id NUMBER Internal organization
identifier of the transaction.
2. document_type_id NUMBER
Document type identifier. Document type represents Sales
Invoice, Credit Memo etc. All possible values are listed in
Appendix D.
3. transaction_id NUMBER
Primary transaction identifier that distinguishes a
transaction/document uniquely in the context of a document
type.
-
Appendix A Data Types and Database Views Oracle Corporation
Confidential - For Oracle internal use only Page 44 of 71
4. document_level_action VARCHAR2(30) Document level action for
the document type / transaction.
5. trx_date DATE Transaction date
6. legal_entity_number VARCHAR2(30) Legal entity number
7. establishment_number VARCHAR2(30) First party legal entitys
establishment number
Header Level Reporting-Only Attributes
8. transaction_number VARCHAR2(150) Transaction number,
typically the number that enables a user to identify a
transaction.
9. transaction_description VARCHAR2(240) Description for the
transaction.
10. document_sequence_value VARCHAR2(240) Document sequence
number for the transaction.
11. transaction_due_date DATE Payment due date of the
transaction.
12. allow_tax_calculation VARCHAR2