Tax Level Output XML Elements

The following elements are found in the <OUTDATA><INVOICE><LINE><TAX> and <OUTDATA><INVOICE><LINE><ALLOCATION_LINE><TAX> structures.

In the table(s) below, dependency is show by indentation. For example:

<PARENT_ELEMENT>

<CHILD_ELEMENT>

<GRANDCHILD_ELEMENT>

Element Name

Type

Aud?

Description

<ADDRESS_TYPE>

varchar2(50)

No

Indicates the address type (for example, 'SHIP_FROM', 'BILL_TO') which resulted in this tax.

Values returned in this field include:

  • SF (SHIP_FROM)
  • ST (SHIP_TO)
  • OO (ORDER_ORIGIN)
  • OA (ORDER_ACCEPTANCE)
  • BT (BILL_TO)
  • SU (SUPPLY)
  • MM (MIDDLEMAN)
  • SC (SELLER_PRIMARY)
  • BC (BUYER_PRIMARY)

<ADMIN_ZONE_LEVEL>

varchar2(50)

Yes

The zone level in which the tax is actually administered. For example, many US states administer both state and county taxes.

<AUTHORITY_CURRENCY_CODE>

varchar2(3)

Yes

The currency code used by the authority.

<AUTHORITY_FIPS>

varchar2(50)

Yes

The FIPS code associated with a US authority.

<AUTHORITY_NAME>

varchar2(100)

Yes

The name of the current authority for which data is being returned.

<AUTHORITY_OFFICIAL_NAME>

varchar2(100)

Yes

The official name of the current authority for which data is being returned, if it differs from the Determination-provided authority name.

<AUTHORITY_CATEGORY>

varchar2(100)

Yes

The category of the current authority for which data is being returned. From the Authorities Edit page.

<AUTHORITY_UUID>

varchar2(36)

Yes

Unique identifier of the current authority being returned. Determined by Determination default data.

<AUTHORITY_TYPE_NAME>

varchar2(100)

Yes

The type of authority. Returned value is one of:

  • City Rental, City Sales/Use, County Rental, County Sales/Use, District Rental, District Sales/Use, EXC, State Rental, State Sales/Use (US).
  • CST, DPH, EXC, FCP, FCP-ST, GCT, GIT, GST, HST, ICMS, IGIC, IGV, IMI, IPI, IPSI, ISS, IST, ISV, ITBIS, ITBM, IVA, KDV, MOT, MVA, MWST, PIS, PST, PVM, QST, ST, TVA, VAT (INTL).

<AUTHORITY_TYPE_ALIAS_NAME>

varchar2(100)

N/A

This is an alternative name for an authority type name that can be set in TransEditors.

<AUTHORITY_ATTRIBUTE>

structural

N/A

A structure containing rule output name/value pairs.

<NAME>

varchar2(100)

Yes

The name of a rule output identifier.

<VALUE>

varchar2(100)

Yes

The value of a rule output identifier.

<BASIS_PERCENT>

number

Yes

A percentage of the gross amount of the line used in tax calculation.

<BUYER_REGISTRATION>

varchar2(25)

Yes

Buyer registration number used by this tax calculation. Derived from registration found in input XML or from value in database.

<CALCULATION_METHOD>

varchar2(50)

Yes

Text identifying the behavior of the calculation algorithm. From the property on the rule applied for this tax.

<COMMENT>

varchar2(2000)

Yes

The optional comment from the rule which was applied for this tax.

<CURRENCY_CONVERSION_STEPS>

structural

No

Structural element containing information about any currency conversions taking place to generate this tax result, including any intermediary conversions.

<CONVERSION_STEPS>

structural

No

Structural element containing the individual currency steps.

<CONVERSION_STEP>

number

Yes

The step number (1 or 2).

<FROM_CURRENCY_CODE>

varchar2(3)

Yes

The currency code of the currency from which the conversion took place.

<TO_CURRENCY_CODE>

varchar2(3)

Yes

The currency code of the currency to which the conversion took place.

<EXCHANGE_RATE>

number

Yes

The actual exchange rate.

<EXCHANGE_RATE_DATE>

date

Yes

The date used to determine the exchange rate using any specified date determination rules.

<EXCHANGE_RATE_SOURCE>

varchar2(100)

Yes

The exchange rate source used in this currency conversion.

<EFFECTIVE_ZONE_LEVEL>

varchar2(50)

Yes

The zone level in which the tax logically applies. If a US state administers both state and county taxes, the effective tax level defines who the tax is being collected for regardless of who is administering it.

<ERP_TAX_CODE>

varchar2(200)

Yes

A default tax code to be used by the ERP system if the rule does not return an Oracle tax code.

<EU_TRANSACTION>

boolean

Yes

Indicates whether this tax result was generated by an EU authority or not. Valid values are true and false.

<EXEMPT_AMOUNT>

structural

No

The amount of gross not liable for this tax, in authority and document currencies, in rounded and unrounded amounts.

See also the <IS_ROUNDING> Invoice Input XML element. When set to false, all amounts in this structure are unrounded. When set to true or null (default), amounts are rounded/unrounded as described.

<AUTHORITY_AMOUNT>

number

Yes

The amount of gross not liable for this tax, rounded, in the authority currency.

<DOCUMENT_AMOUNT>

number

Yes

The amount of gross not liable for this tax, rounded, in the document currency.

<UNROUNDED_AUTHORITY_AMOUNT>

number

Yes

The amount of gross not liable for this tax, unrounded, in the authority currency.

This element returns 10 digits after the decimal point.

<UNROUNDED_DOCUMENT_AMOUNT>

number

Yes

The amount of gross not liable for this tax, unrounded, in the document currency.

This element returns 10 digits after the decimal point.

<EXEMPT_CERTIFICATE>

varchar2(100)

Yes

The exempt certificate number applied to this tax result.

<EXEMPT_CERTIFICATE_EXPIRE_DATE>

date

Yes

The expiration date of the exemption certificate applied to this tax result.

<EXEMPT_REASON>

varchar2(100)

Yes

The exempt reason code that was used to select the tax rule resulting in this tax.

<FEE>

structural

No

This structural element contains the fee-related elements for tax authorities.

<AMOUNT>

number(31,5)

No

The fee amount.

<CURRENCY_CODE>

varchar2(3)

No

The currency code for the fee.

<UNIT_OF_MEASURE>

varchar2(100)

No

The unit of measure for the fee. The default is Each.

<FISCAL_ADDRESS_1>

varchar2(100)

Yes

The first address line of the fiscal representative associated with the registration number for the company running the transaction. For example: If the role is S this data is associated with the <SELLER_REGISTRATION>.

<FISCAL_ADDRESS_2>

varchar2(100)

Yes

The second address line of the fiscal representative associated with the registration number for the company running the transaction. For example: If the role is S this data is associated with the <SELLER_REGISTRATION>.

<FISCAL_REP_CONTACT>

varchar2(100)

Yes

The contact name of the fiscal representative associated with the registration number for the company running the transaction. For example: If the role is S this data is associated with the <SELLER_REGISTRATION>.

<FISCAL_REP_NAME>

varchar2(100)

Yes

The name of the fiscal representative associated with the registration number for the company running the transaction. For example: If the role is S this data is associated with the <SELLER_REGISTRATION>.

<FLAT_FEE>

number

Yes

Similar to <TAX_RATE>; indicates the basis for the tax assessed by the authority.

<GROSS_AMOUNT>

structural

No

The Gross Amount which resulted in this tax result, passed down from the Line level. Values are returned in the Authority Currency in rounded and unrounded amounts. When reverse calculations are run, the tax amount is passed in and an estimated gross amount is returned.

See also the <IS_ROUNDING> Invoice Input XML element. When set to false, all amounts in this structure are unrounded. When set to true or null (default), amounts are rounded/unrounded as described.

<AUTHORITY_AMOUNT>

number

Yes

The gross amount, rounded, in the authority currency.

<UNROUNDED_AUTHORITY_AMOUNT>

number

Yes

The gross amount, unrounded, in the authority currency.

This element returns 10 digits after the decimal point.

<INCLUSIVE_TAX>

boolean

Yes

Indicates that this tax is an inclusive tax (included in the gross amount).

<INPUT_RECOVERY_AMOUNT>

number

Yes

The amount of tax eligible for VAT recovery.

<INPUT_RECOVERY_PERCENT>

number

Yes

The percentage of tax eligible for VAT recovery.

<INVOICE_DESCRIPTION>

varchar2(100)

No

A text description of the tax which you may choose to print on customer invoices. This value comes from the Authority or Rule used to generate the tax.

<IS_EXEMPT>

boolean

Yes

Indicates that this line was exempt from tax. Exemption is different from zero tax as in VAT countries exemption completely excludes the transaction from the VAT system. In the case of a sale, VAT paid to make the supply cannot be recovered if the supply is exempt. In Sales Tax countries such as the US, the exempt indicator prevents tax from being charged. If (N)o is explicitly passed the exemption certificate lookup is bypassed; tax will be charged even though an apparently valid certificate may exist in ONESOURCE Indirect Tax Determination.

<IS_INTRASTAT_REPORTED>

varchar2(1)

Yes

Indicates whether this transaction applies for Intrastat reporting. Based on Jurisdiction logic.

<IS_NOTAX>

boolean

Yes

Indicates whether this authority was told not to tax this line.

<IS_TRIANGULATION>

boolean

Yes

Indicates whether triangulation simplification was used on this transaction. If the tag is not generated, simplification was not used.

For more information, see Triangulation Simplification.

<IS_VAT_REPORTED>

boolean

Yes

Indicates whether this transaction applies for VAT reporting. Based on Jurisdiction logic.

<IS_VIES_REPORTED>

boolean

Yes

Indicates whether this transaction applies for VIES reporting. Based on Jurisdiction logic.

<JURISDICTION_TEXT>

varchar2(1000)

Yes

The text returned by this authority's jurisdiction determination logic. This may be text explaining why the authority was selected to tax this address or it may be a situation-specific warning message related to the tax scenario such as "May require proof of export."

<LICENSES>

structural

No

Structural element containing information about one or more Licenses which were applied to this transaction.

<LICENSE>

structural

No

Structural element containing information about a specific license which was applied to this transaction.

<LICENSE_NUMBER>

varchar2(100)

Yes

The license number for this license.

<LICENSE_TYPE_NAME>

varchar2(100)

Yes

The license type for this license.

<LICENSE_END_DATE>

date

Yes

The end date for this license.

<LICENSE_EXTERNAL_IDENTIFIER>

varchar2(100)

Yes

An external identifier defined for this license which enables matching to a license in the ERP system.

<LICENSE_CATEGORY>

varchar2(20)

Yes

The category of license. Currently, only CUSTOMER is returned in this element.

<LOCATION_CODE>

varchar2(50)

Yes

Authority location code, from the Authorities Edit page.

<MESSAGE>

structural

No

A message related to this tax amount. There can be multiple MESSAGE elements returned with each tax amount.

For a complete description of this structure, see Message Level Output XML Elements.

<MIDDLEMAN_REGISTRATION>

varchar2(25)

Yes

Middleman registration number used by this tax calculation. Derived from registration found in input XML or from value in database.

<NATURE_OF_TAX>

varchar2(1)

Yes

Indicates whether the value stored in <TAX_AMOUNT> represents a (P)ercentage, (F)ee, or is (E)xempt (no tax).

<NON_TAXABLE_BASIS>

structural

N/A

Identifies the portion of a line's taxable basis not used for calculating tax. Some authorities may consider the non-taxable basis a deduction from the gross sales or gross receipts, thus reducing the aggregated taxable basis to be reported on a return.

<DOCUMENT_AMOUNT>

number

Yes

The non-taxable basis, rounded, in the document currency.

<UNROUNDED_DOCUMENT_AMOUNT>

number

Yes

The non-taxable basis, unrounded, in the document currency.

This element returns 10 digits after the decimal point.

<AUTHORITY_AMOUNT>

number

Yes

The non-taxable basis, rounded, in the authority currency.

<UNROUNDED_AUTHORITY_AMOUNT>

number

Yes

The non-taxable basis, unrounded, in the authority currency.

This element returns 10 digits after the decimal point..

<OVERRIDE_AMOUNT>

number

Yes

Tax amount applied without calculation.

<OVERRIDE_RATE>

number

Yes

Tax rate applied regardless of rule rate for this authority.

<REGISTRATION_ATTRIBUTE_[1-50]>

varchar2(100)

Yes

Custom attributes associated with the registration number for the company running the transaction. For example: If the role is S, this data is associated with the <SELLER_REGISTRATION>.

<RELATED_ALLOCATION_LINE_NUMBER>

number

No

The related allocation line number based on the related line number.

<RELATED_LINE_NUMBER>

number

No

The related line number from the Input XML for this tax result.

<REVISED_GROSS_AMOUNT>

number

Yes

The revised amount used by certain tax authorities, primarily in Brazil. These authorities revise the gross amount as part of the process of tax calculation and base the tax on this amount.

<RULE_ORDER>

number

Yes

The order of the rule applied to calculate this tax. This rule order is stored in the audit database.

<RULE_REPORTING_CATEGORY>

varchar2(100)

Yes

The reporting category of the rule applied to calculate this tax, as maintained on the Rules Edit page.

<SELLER_REGISTRATION>

varchar2(25)

Yes

Seller registration number used by this tax calculation. Derived from registration found in input XML or from value in database.

<SUPPLY_EXEMPT_PERCENT>

number

Yes

A pass-through element which has been deprecated in favor of enhanced VAT calculation logic.

See <INPUT_RECOVERY_AMOUNT/PERCENT> and VAT Recoverability and Rules for more information.

<TAX_AMOUNT>

structural

No

The amount of tax owed to the authority, in authority and document currencies, in rounded and unrounded amounts.

See also the <IS_ROUNDING> Invoice Input XML element. When set to false, all amounts in this structure are unrounded. When set to true or null (default), amounts are rounded/unrounded as described.

<AUTHORITY_AMOUNT>

number

Yes

The amount of tax, rounded, in the authority currency.

<DOCUMENT_AMOUNT>

number

Yes

The amount of tax, rounded, in the document currency.

<UNROUNDED_AUTHORITY_AMOUNT>

number

Yes

The amount of tax, unrounded, in the authority currency.

This element returns 10 digits after the decimal point.

<UNROUNDED_DOCUMENT_AMOUNT>

number

Yes

The amount of tax, unrounded, in the document currency.

This element returns 10 digits after the decimal point.

<TAX_DETERMINATION_DATE>

date

Yes

The date used to drive all rule, rate, and other tax decisions.

<TAX_DIRECTION>

varchar2(1)

Yes

The tax direction specifies Input/Output values for VAT recovery identification.

<TAX_POINT_DATE>

date

Yes

The date at which a tax liability to an authority has been established.

<TAX_RATE>

number

Yes

The rate of taxation for the authority.

<TAX_RATE_CODE>

varchar2(25)

Yes

The tax rate code associated with the applied rate.

<TAX_TREATMENT>

varchar2(100)

Yes

The flag that indicates alternative tax treatment after Determination performs its calculation:

  • D: Deferred.
  • DI: Deferred Invoice.
  • DP: Deferred Payment.

For more information, see Deferred Taxes.

For more information, see Deferred Taxes in Help.

<TAX_TYPE>

varchar2(3)

Yes

The type of tax applied to a tax result. For example: sales, consumer use, or zero rate. By default, the tax type is determined automatically. You can override it with configuration or in the input XML. Some tax types are specific to US or International transactions.

For a list of tax types and their descriptions, see Tax Types Quick Reference.

<TAXABLE_BASIS>

structural

N/A

The amount actually taxed by this authority: gross less basis percentage and other exempt amounts. Rounded and unrounded amounts in authority and document currencies.

See also the <IS_ROUNDING> Invoice Input XML element. When set to false, all amounts in this structure are unrounded. When set to true or null (default), amounts are rounded/unrounded as described.

<AUTHORITY_AMOUNT>

number

Yes

The taxable basis, rounded, in the authority currency.

<DOCUMENT_AMOUNT>

number

Yes

The taxable basis, rounded, in the document currency.

<UNROUNDED_AUTHORITY_AMOUNT>

number

Yes

The taxable basis, unrounded, in the authority currency.

This element returns 10 digits after the decimal point..

<UNROUNDED_DOCUMENT_AMOUNT>

number

Yes

The taxable basis, unrounded, in the document currency.

This element returns 10 digits after the decimal point.

<TAXABLE_COUNTRY>

varchar2(3)

Yes

Country code from address that triggered this tax.

<TAXABLE_COUNTRY_NAME>

varchar2(50)

Yes

Country name from the address that triggered this tax.

<TAXABLE_STATE>

varchar2(50)

Yes

State from the address that triggered this tax.

<TAXABLE_PROVINCE>

varchar2(50)

Yes

Province from the address that triggered this tax.

<TAXABLE_DISTRICT>

varchar2(50)

Yes

District from the address that triggered this tax.

<TAXABLE_COUNTY>

varchar2(50)

Yes

County from the address that triggered this tax.

<TAXABLE_CITY>

varchar2(50)

Yes

City from the address that triggered this tax.

<TAXABLE_GEOCODE>

varchar2(50)

Yes

Geocode from the address that triggered this tax.

<TAXABLE_POSTCODE>

varchar2(50)

Yes

Postcode from the address that triggered this tax.

<UOM_CONVERSION>

structural

No

A structure containing data pertaining to any unit of measure conversions which took place for this transaction.

<FACTOR>

number

Yes

The conversion factor applied to the FROM amount to yield the TO amount.

<OPERATOR>

varchar2(1)

Yes

The operator to be applied to the conversion factor.

<FROM>

structural

No

The "from" amount and unit of measure.

<AMOUNT>

number

Yes

The amount converted.

<UOM>

varchar2(50)

Yes

The original unit of measure.

<TO_ROUNDED>

structural

No

The rounded "to" amount and associated unit of measure.

<AMOUNT>

number

Yes

The rounded amount.

<UOM>

varchar2(50)

Yes

The unit of measure for the rounded amount.

<TO_UNROUNDED>

structural

No

The unrounded "to" amount and associated unit of measure.

<AMOUNT>

number

Yes

The unrounded amount.

<UOM>

varchar2(50)

Yes

The unit of measure for the unrounded amount.

<VAT_GROUP_REGISTRATION>

varchar2(25)

Yes

The registration number used to trigger VAT Registration Group functionality for this calculation.

<ZONE_NAME>

varchar2(100)

Yes

The name of the zone for which authority level information is being supplied.

<ZONE_LEVEL>

varchar2(50)

Yes

The zone level of the zone where this tax applies.

Allocation Rollup

Allocation tax results are rolled up at the Line level to enable accurate returns to the calling applications through ONESOURCE Indirect Tax Integrations. Where possible, multiple allocation line <TAX> results are combined into one or more <TAX> results at the Line level based on grouping and summing.

If more than one allocation line contains the same Group By elements, and the values of those elements are the same across each allocation line, those <TAX> results are combined at the line level into a single result, with any Sum elements summed.

The Group By elements are:

  • <ADDRESS_TYPE>
  • <ADMIN_ZONE_LEVEL>
  • <AUTHORITY_NAME>
  • <AUTHORITY_TYPE>
  • <BUYER_REGISTRATION>
  • <COMMENT>
  • <EFFECTIVE_ZONE_LEVEL>
  • <ERP_TAX_CODE>
  • <EXEMPT_CERTIFICATE>
  • <EXEMPT_REASON>
  • <INPUT_RECOVERY_PERCENT>
  • <INVOICE_DESCRIPTION>
  • <IS_EXEMPT>
  • <JURISDICTION_TEXT>
  • <LOCATION_CODE>
  • <MIDDLEMAN_REGISTRATION>
  • <SELLER_REGISTRATION>
  • <TAX_DIRECTION>
  • <TAX_RATE>
  • <TAX_TYPE>

The Sum elements are:

  • <EXEMPT_AMOUNT>
  • <FLAT_FEE>
  • <INPUT_RECOVERY_AMOUNT>
  • <REVISED_GROSS_AMOUNT>
  • <TAX_AMOUNT>
  • <TAXABLE_BASIS>

Example 1: Allocation lines 1 and 2 contain the same values for <TAX_RATE> <TAX_TYPE> and <AUTHORITY_NAME> They also contain the <TAX_AMOUNT> and <TAXABLE_BASIS> elements.

A single <TAX> block will be created at the Line level containing the <TAX_RATE> <TAX_TYPE> and <AUTHORITY_NAME> elements, as well as summed values for <TAX_AMOUNT> and <TAXABLE_BASIS>

Example 2: Same as Example 1, but allocation line 2 contains a different <AUTHORITY_NAME> than line 2. Two <TAX> blocks will be created at the Line level (all Group By elements must have the same value in each allocation line to enable rollup).

Example 3: Same as Example 1, but allocation line 2 contains the additional Group By element <COMMENT> Two <TAX> blocks will be created at the Line level (the same Group By elements must be present in each allocation line to enable rollup).