Tax treatments API

The tax treatments API is the service used by external systems to retrieve a complete or incremental content extract as configured by your extract definition in ONESOURCE Indirect Tax.

GET

/taxtreatments/company/{companyName}/extractName/{extractName}?loadMethod={loadMethod}

Path parameters

Parameter
Occurrence
Description
Type
{companyName}
Required
The name the ONESOURCE Indirect Tax company containing the extract definition and tax policy configuration for the data you want to get.
String
{extractName}
Required
The name of the extract definition for the data you want to get.
String

Query string parameters

Parameter
Occurrence
Description
Type
{loadMethod}
Required
The only supported loadMethod value is FULL
String
Request example 1
Usage
Retrieve a full content extract for the extract definition named PointOfSale configured under the ONESOURCE Indirect Tax Company named MyCompany.
URL https://onesource-idt-cre-amer-ws. hostedtax.thomsonreuters.com/services/rest /services/rest/taxtreatments/company/
MyCompany
/extractName/
PointOfSale
?loadMethod=FULL

Response field definitions

The following table describes each item that may show up in your response. The type of content included in your response depends on your extract definition.
Response field
Description
Data type
extractDate
The date and time the extract was generated. Includes year, month, day, hour, minute, seconds, milliseconds.
Array of integers
companyName
The name of the company that owns the definition for this extract.
String (100)
extractName
The name of this extract as specified in the definition.
String (100)
contentVersion
The content version for this extract.
Integer
groupingRule
The grouping rule as specified in the extract definition.
String (20)
loadMethod
The type of load generated. Possible values are: FULL for a complete data set
String (20)
taxDataProvider
Content Extract is providing the content version. The field has two sub-elements to provide US and INTL tax data versions.
Array
taxDataProvider/taxDataProvider
The tax data provider – US or International
String (100)
taxDataProvider/version
The content version of the tax data provider
String (100)
Locations
A group of one or more locations based on a physical address, which may contain one or more stores.
Array
locations/locationKey
The unique identifier for this location.
String (100)
locations/name
The name of this location.
String (100)
locations/notes
Notes for this location.
String (240)
locations/addressKey
The unique identifier for the address of this location.
Integer
locations/changeType
The type of change for this location.
String
Addresses
A group of addresses as defined in Indirect Tax.
Array
addresses/addressKey
The unique identifier for this address.
String (100)
addresses/jurisdictionKey
The unique identifier for the jurisdiction connection to this address.
String (100)
addresses/country
The country for this address.
String (50)
addresses/state
The state for this address.
String (50)
addresses/province
The province for this address.
String (50)
addresses/county
The county for this address.
String (50)
addresses/district
The district for this address.
String (50)
addresses/city
The city for this address.
String (50)
addresses/postalRange
A range of postal codes used for this address. The postalRange field and the postalCode/geocode field pair are mutually exclusive.
Array
addresses/postalRange/begin
The beginning value for a range of postal codes.
String (60)
addresses/postalRange/end
The ending value for a range of postal codes.
String (60)
addresses/postalCode
The postal code used for this address. The postalRange field and the postalCode/geocode field pair are mutually exclusive.
String (60)
addresses/geocode
The geocode used for this location. Also known as the "plus four" of a postal code. The postalRange field and the postalCode/geocode field pair are mutually exclusive.
String (30)
addresses/changeType
The type of change for this address.
String
Products
A group of one or more products.
Array
products/name
The name of this product. This is based on the Product Code value configured for mappings in Indirect Tax.
String (100)
products/productKey
The unique identifier for this product.
String (100)
products/effectiveDate
The date range for which this product is valid.
Object
products/effectiveDate/from
The start date for effectiveDate. The from field is returned as an array containing the year, month, day, hour, and minute.
Array
products/effectiveDate/to
The end date for effectiveDate. The to field is returned as an array containing the year, month, day, hour, and minute.
Array
products/changeType
The type of change for this product.
String
products/productCategory
The name of the product category associated with this product.
String (100)
products/productCategoryKey
The unique identifier for this product category
String (100)
products/description
The product category description associated with this product.
String (100)
products/productGroupName
The name of the product group or classification for which the product mapping has been created in Indirect tax
String (100)
products/productMapGroupCompanyName
The company for which the product mappings have been created in Indirect Tax
String (100)
products/productMapGroupName
The group which holds all the product mappings
String (100)
products/commodityCode
This is the associated commodity code (if any exists) for the product
String (50)
extractAuthorities
A group of one or more authorities. Authorities are only returned when the grouping rule is AUTHORITY.
Array
extractAuthorities/authorityKey
The unique identifier for this authority.
String (100)
extractAuthorities/authorityName
The name of this authority.
String (100)
extractAuthorities/authorityType
The authority type for this authority.
String (100)
extractAuthorities/changeType
The type of change for this authority.
String
jurisdictions
A group of one or more jurisdictions.
Array
jurisdictions/jurisdictionKey
The unique identifier for this jurisdiction.
String (100)
jurisdictions/changeType
The type of change for this jurisdiction.
String
jurisdictionAuthorities
A group of one or more jurisdiction authority mappings. Use this to match one or more authorities to the jurisdictions to which they apply.
Array
jurisdictionAuthorities/jurisdictionKey
The unique identifier for the jurisdiction in this jurisdiction authority mapping.
String (100)
jurisdictionAuthorities/authorityKey
The identifier for the authority in this jurisdiction authority mapping.
String (100)
jurisdictionAuthorities/changeType
The type of change for this jurisdiction authority.
String
Treatments
A group of one or more tax treatments. A tax treatment contains only one of the following types of tax liability: Rate, Fee, Split Rate, Split Fee. Only fields for the applicable liability type are populated—the other types remain null.
Array
treatments/displayName
The display name for this tax treatment. This is derived from either ONESOURCE Content or your extract definition configurations using the following order of precedence: 1. Authority Name exceptions specified in the Extract 2. Invoice Description specified on the Authority Rule 3. Invoice Description specified on the Authority 4. Default Display Name as specified in the Extract
String (100)
treatments/treatmentKey
The unique identifier for this tax treatment.
String (100)
treatments/ruleOrder
This field will only appear in extracts which are configured with the Authority grouping rule. This field contains information which may be useful for evaluating Rule Qualifiers. If the transaction meets the Rule Qualifier criteria for multiple treatment blocks then the treatment block that should be used is the one with the lowest ruleOrder numeric value.
Decimal (31,10)
treatments/rateCode
The Tax Rate Code associated with the treatment rate. This field has no context for Authority Type or Tax Type groupings.
String (50)
treatments/calculationMethod
The Calculation Method that is used to calculate the tax result. For example, Tax on Gross Amount.
String
treatments/basisPercent
The basis percentage of the gross amount to be used for tax calculation
Decimal (31, 10)
treatments/maxAmount
The maximum tax that can be charged for the product
Decimal (31, 10)
treatments/rate
The tax rate for this tax treatment. Values are returned in decimal, for example, a tax rate of 6.25% returns as 0.0625. Rates, fees, split rates, and split fees are mutually exclusive.
Decimal (31,10)
treatments/fee
The fee for this tax treatment. Rates, fees, split rates, and split fees are mutually exclusive.
Decimal (31,10)
treatments/splitType
The type of split for this tax treatment. Possible values are: T for Texas City/County Max Tax, G for Graduated, R for Tiered
String (100)
treatments/splitAmountType
The type of amount used to determine which liability to apply from a split rate or split fee. Possible values are: L for Line Amount, I for Invoice Amount, T for Item amount, Q for Quantity, P for Invoice Amount By Rule
String (100)
treatments/extractTierList
A group of two or more treatments for this split rate or split fee.
Array
treatments/extractTierList/treatmentKey
The unique identifier for the treatment associated with this split rate or split fee. The extractTreatments/extractTierList/order field paired with the extractTreatments/extractTierList/treatmentKey field makes up the unique identifier for this split rate or split fee.
String (100)
treatments/extractTierList/order
The order in which this split rate or split fee should be evaluated for applicability. The extractTreatments/extractTierList/order field paired with the extractTreatments/extractTierList/treatmentKey field makes up the unique identifier for this split rate or split fee.
Integer
treatments/extractTierList/lowValue
The beginning of the threshold for this split rate or split fee.
Decimal (31,5)
treatments/extractTierList/highValue
The end of the threshold for this split rate or split fee. The last split rate or split fee object may not have a highValue.
Decimal (31,5)
treatments/extractTierList/rate
The tax rate for this split rate object. Values are returned in decimal, for example, a tax rate of 6.25% returns as 0.0625. Rates, fees, split rates, and split fees are mutually exclusive.
Decimal (31,10)
treatments/extractTierList/fee
The fee for this split fee object. Rates, fees, split rates, and split fees are mutually exclusive.
Decimal (31,10)
treatments/ruleQualifierList
This data block contains one or more special additional criteria which may be used to determine if the treatment applies
Array
treatments/ruleQualifierList/ruleQualifierType
This indicates which kind of rule qualifier is being listed. Possible values are:
  • Condition: Indicates the treatment applies if the condition criteria are met
  • Authority: Indicates the treatment applies if the indicated authority either has or does not have jurisdiction over the transaction
  • List: Indicates the treatment applies if the associated ‘element’ value belongs to a list of values
  • License: Indicates the treatment applies if the License associated with the transaction is of a certain type
String (20)
treatments/ruleQualifierList/element
Indicates the name of the XML Element whose value should be compared using the ‘operator’ and ‘value’ fields. This is the name of the XML Element which would be used in a tax call to ONESOURCE Indirect Tax.
String (100)
treatments/ruleQualifierList/operator
Indicates the operator to be used to evaluate if the condition is met or is not met. Common examples would be ‘=’ (equal to), ‘!=’ (not equal to), ‘>=’ (greater than or equal to), ‘<’ (strictly less than), etc.
String (20)
treatments/ruleQualifierList/value
This is the value which should be compared to the element via the operator.
String (100)
treatments/ruleQualifierList/effectiveDate/from
The timestamp indicating when the rule qualifier condition goes into effect. The ‘from’ field is returned as an array containing the year, month, day, hour, and minute.
Array
treatments/ruleQualifierList/effectiveDate/to
The timestamp indicating when the rule qualifier condition is no longer in effect. The ‘to’ field is returned as an array containing the year, month, day, hour, and minute. A null value indicates that the rule qualifier has no end date.
Array
treatments/ruleQualifierList/changeType
The type of change for the rule qualifier
String
treatments/changeType
The type of change for this tax treatment.
String
jurisdictionTreatmentMappings
A group of one or more mappings between a jurisdiction and a treatment group
Array
jurisdictionTreatmentMappings/key
The unique identifier for this jurisdiction treatment mapping.
String (100)
jurisdictionTreatmentMappings/productKey
The unique identifier for the product that applies to this jurisdiction treatment mapping.
String (100)
jurisdictionTreatmentMappings/jurisdictionKey
The unique identifier for the jurisdiction that applies to this jurisdiction treatment mapping.
String (100)
jurisdictionTreatmentMappings/taxType
The abbreviated code for the tax type that applies to this jurisdiction treatment mapping. Refer to ONESOURCE documentation for a current list of tax types and their meanings.
String (100)
jurisdictionTreatmentMappings/treatmentGroupKey
The unique identifier for the treatment group that applies to this jurisdiction treatment mapping.
String (100)
jurisdictionTreatmentMappings/effectiveDate
The date range for which this jurisdiction treatment mapping is valid.
Object
jurisdictionTreatmentMappings/effectiveDate/from
The start date for effectiveDate. The from field is returned as an array containing the year, month, day, hour, and minute.
Array
jurisdictionTreatmentMappings/effectiveDate/to
The end date for effectiveDate. The to field is returned as an array containing the year, month, day, hour, and minute. A null value indicates that the record has no end date.
Array
jurisdictionTreatmentMappings/changeType
The type of change for this jurisdiction treatment mapping.
String
authorityTreatmentMappings
A group of one or more mappings between an authority and a treatment group
Array
authorityTreatmentMappings/key
The unique identifier for this authority treatment mapping.
String (100)
authorityTreatmentMappings/productKey
The unique identifier for the product that applies to this authority treatment mapping
String (100)
authorityTreatmentMappings/authorityKey
The unique identifier for the authority that applies to this authority treatment mapping.
String (100)
authorityTreatmentMappings/taxType
The abbreviated code for the tax type that applies to this jurisdiction treatment mapping. Refer to ONESOURCE documentation for a current list of tax types and their meanings.
String (100)
authorityTreatmentMappings/treatmentKey
The unique identifier for the treatment that applies to this authority treatment mapping.
String (100)
authorityTreatmentMappings/effectiveDate
The date range for which this authority treatment mapping is valid.
Object
authorityTreatmentMappings/effectiveDate/from
The start date for effectiveDate. The from field is returned as an array containing the year, month, day, hour, and minute.
Array
authorityTreatmentMappings/effectiveDate/to
The end date for effectiveDate. The to field is returned as an array containing the year, month, day, hour, and minute.
Array
authorityTreatmentMappings/changeType
The type of change for this authority treatment mapping.
String
treatmentGroups
A group of one or more treatment groups
Array
treatmentGroups/key
The unique identifier for this treatment group.
String (100)
authorityTreatmentMappings/changeType
The type of change for this treatment group.
String
treatmentGroupTreatments
A group of one or more treatment group treatment collections. Use this to match tax treatments to treatment groups. A treatment group may contain one or more tax treatments, and a treatment may belong to one or more treatment groups.
Array
treatmentGroupTreatments/key
The unique identifier for this treatment group treatments collection.
String (100)
treatmentGroupTreatments/treatmentGroupKey
The unique identifier for the treatment group that applies to this treatment group treatments collection.
String (100)
treatmentGroupTreatments/treatmentKeys
A list of treatments that belong to the treatment group identified in this treatment group treatment collection.
Array
treatmentGroupTreatments/changeType
The type of change for this treatment group treatments collection.
String

Change type field

The
changeType
field is only included in updates. Possible values are
I
for Insert or
D
for Delete.