Reverse GeoTAX Info Lookup - Spectrum_OnDemand - enterprise_tax - web_services - 23.1

Spectrum Web Services Guide

Product type
Software
Portfolio
Integrate
Product family
Spectrum
Product
Spectrum > Web Services
Version
23.1
Language
English
Product name
Spectrum Technology Platform
Title
Spectrum Web Services Guide
First publish date
2007
Last updated
2024-10-17
Published on
2024-10-17T00:33:46.811413

Reverse GeoTAX Info Lookup allows latitude/longitude coordinates to be supplied as input and identifies the tax districts that apply to the given coordinate. Specifically, Reverse GeoTAX Info Lookup can return the following information about a location:

  • FIPS state codes and county codes
  • State and county names
  • MCD codes and names
  • Place codes and names
  • Boundary file districts
  • Cross-reference tax keys
  • The relationship of the input coordinates to user-defined polygons
  • Sales and use tax rates, if licensed for the Precisely Sales and Use Tax Rate File

Reverse GeoTAX Info Lookup optionally includes enhanced tax jurisdiction information for a location, including:

  • Insurance premium districts—Areas designated for the collection of taxes imposed on insurance policy premiums, based on the policy holder's address. Insurance premium districts are created by state governments.
  • Payroll tax districts—Areas designated for the collection of taxes imposed on employers to support state or local government facilities and services, based on the employee's and/or employer's address. Examples include taxes collected for districts to pay for schools, police, or other services. Payroll tax districts are created by state or local governments.
  • Payroll system tax codes—Codes that represent specific jurisdictions that collect payroll tax. Using payroll system tax codes has advantages over using the payroll tax district information returned by Reverse GeoTAX Info Lookup:
    • Reverse GeoTAX Info Lookup uses an additional database to determine payroll tax codes, resulting in more accurate payroll tax determination.
    • Many payroll systems use specific codes to determine withholding amounts. Since you can customize the payroll tax codes returned by Reverse GeoTAX Info Lookup, you can set up a process where Reverse GeoTAX Info Lookup returns the exact payroll tax codes required by your payroll system, instead of returning jurisdictional IDs that must then be translated into the codes used by your system.
  • Special purpose tax districts—Areas designated for the collection of taxes imposed on residents to support specialized services for residents of the district, based on the resident's address. Examples include services such as sewer service, transit service, or water resources. Special purpose tax districts are created by legislative action, court action, or public referendums. This optional information requires the use of boundary files which require an additional license. Contact your Precisely sales representative for more information.

Using the optional Precisely Sales and Use Tax Rate file, Reverse GeoTAX Info Lookup includes tax rate data for a location, including:

Tax rate type:

  • General
  • Automotive
  • Medical
  • Construction

Sales and/or use tax rates for:

  • State
  • County
  • Municipality
  • Up to 10 SPDs
  • Total Rate - the sum of the individual state, county, municipality and SPD rates.

Required input format

The required format for the input coordinates is as follows:

columnName Field Name Response Element Format

InputLatitude

Data.InputLatitude

00.000000 or without the decimal point 00000000

InputLongitude

Data.InputLongitude

000.000000 or without the decimal point 000000000, or

00.000000 or without the decimal point 00000000

Reverse GeoTAX Info Lookup is part of Spectrum Enterprise Tax.

Resource URL

JSON endpoint:

http://server:port/rest/ReverseGeoTAXInfoLookup/results.json
https://OnDemandServer/rest/ReverseGeoTAXInfoLookup/results.json

XML endpoint:

http://server:port/rest/ReverseGeoTAXInfoLookup/results.xml
https://OnDemandServer/rest/ReverseGeoTAXInfoLookup/results.xml
http://server:port/soap/ReverseGeoTAXInfoLookup
https://OnDemandServer/soap/ReverseGeoTAXInfoLookup

For a list of Spectrum Technology Platform servers, see Connecting to Servers.

Example with JSON Response

The following example requests a JSON response:

http://myserver:8080/rest/ReverseGeoTAXInfoLookup/results.json​?Data.InputLatitude=40.018998&Data.InputLongitude=-105.239580
https://spectrum.precisely.com/rest/ReverseGeoTAXInfoLookup/results.json​?Data.InputLatitude=40.018998&Data.InputLongitude=-105.239580

The JSON returned by this request would be:

{"output_port": [{
   "Confidence": "100.0",
   "ProcessedBy": "GTX",
   "County.Code": "013",
   "County.Name": "Boulder",
   "StateCode": "08",
   "InputLatitude": "40.018998",
   "InputLongitude": "-105.239580",
   "State.Abbreviation": "CO",
   "Place.ClassCode": "C1",
   "Place.Code": "07850",
   "Place.IncorporatedFlag": "Inc",
   "Place.Name": "Boulder",
   "Place.LastAnnexedDate": "10/2011",
   "Place.LastUpdatedDate": "04/2013",
   "Place.LastVerifiedDate": "01/2013",
   "Place.DistanceToBorder": "000000387",
   "Place.PointStatus": "P",
   "GNISCode": "002409883",
   "GTX.ErrorCode": "",
   "GTX.ErrorDescription": "",
   "GTX.WarnCode": "",
   "GTX.WarnDescription": ""
}]}

Example with XML Response

The following example requests an XML response:

http://myserver:8080/rest/ReverseGeoTAXInfoLookup/results.xml​?Data.InputLatitude=40.018998&Data.InputLongitude=-105.239580
https://spectrum.precisely.com/rest/ReverseGeoTAXInfoLookup/results.xml​?Data.InputLatitude=40.018998&Data.InputLongitude=-105.239580

The XML returned by this request would be:

ns2:xml.ReverseGeoTAXInfoLookup
xmlns:ns2="http://www.pb.com/spectrum/services/ReverseGeoTAXInfoLookup">
   <ns2:output_port>
      <ns2:Address>
         <ns2:Confidence>100.0</ns2:Confidence>
         <ns2:ProcessedBy>GTX</ns2:ProcessedBy>
         <ns2:County.Code>013</ns2:County.Code>
         <ns2:County.Name>Boulder</ns2:County.Name>
         <ns2:StateCode>08</ns2:StateCode>
         <ns2:InputLatitude>40.018998</ns2:InputLatitude>
         <ns2:InputLongitude>-105.239580</ns2:InputLongitude>
         <ns2:State.Abbreviation>CO</ns2:State.Abbreviation>
         <ns2:Place.ClassCode>C1</ns2:Place.ClassCode>
         <ns2:Place.Code>07850</ns2:Place.Code>
         <ns2:Place.IncorporatedFlag>Inc</ns2:Place.IncorporatedFlag>
         <ns2:Place.Name>Boulder</ns2:Place.Name>
         <ns2:Place.LastAnnexedDate>10/2011</ns2:Place.LastAnnexedDate>
         <ns2:Place.LastUpdatedDate>04/2013</ns2:Place.LastUpdatedDate>
         <ns2:Place.LastVerifiedDate>01/2013</ns2:Place.LastVerifiedDate>
         <ns2:Place.DistanceToBorder>000000387</ns2:Place.DistanceToBorder>
         <ns2:Place.PointStatus>P</ns2:Place.PointStatus>
         <ns2:GNISCode>002409883</ns2:GNISCode>
         <ns2:GTX.ErrorCode>""</ns2:GTX.ErrorCode>
         <ns2:GTX.ErrorDescription>""</ns2:GTX.ErrorDescription>
         <ns2:GTX.WarnCode>""</ns2:GTX.WarnCode>
         <ns2:GTX.WarnDescription>""</ns2:GTX.WarnDescription>
      </ns2:Address>
   </ns2:output_port>
</ns2:xml.ReverseGeoTAXInfoLookup>

Example

The following shows a SOAP request:

<soapenv:Envelope
	xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
	xmlns:rev="http://www.pb.com/spectrum/services/ReverseGeoTAXInfoLookup">
	<soapenv:Header/>
	<soapenv:Body>
		<rev:ReverseGeoTAXInfoLookupRequest>
			<rev:input_port>
				<rev:Address>
					<!--Optional:-->
					<rev:InputLatitude>40.018998</rev:InputLatitude>
					<!--Optional:-->
					<rev:InputLongitude>-105.239580</rev:InputLongitude>
					<!--Optional:-->
					<rev:BufferWidth></rev:BufferWidth>
					<!--Optional:-->
					<rev:UserBufferWidth></rev:UserBufferWidth>
					<!--Optional:-->
					<rev:user_fields>
						<rev:user_field>
							<rev:name>?</rev:name>
							<rev:value>?</rev:value>
						</rev:user_field>
					</rev:user_fields>
				</rev:Address>
			</rev:input_port>
		</rev:ReverseGeoTAXInfoLookupRequest>
	</soapenv:Body>
</soapenv:Envelope>

This would be the response:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns3:ReverseGeoTAXInfoLookupResponse xmlns:ns3="http://spectrum.pb.com/"
      xmlns:ns3="http://www.pb.com/spectrum/services/ReverseGeoTAXInfoLookup">
         <ns3:output_port>
            <ns3:Address>               
               <ns3:Confidence>100.0</ns3:Confidence>
               <ns3:ProcessedBy>GTX</ns3:ProcessedBy>
               <ns3:County.Code>013</ns3:County.Code>
               <ns3:County.Name>Boulder</ns3:County.Name>
               <ns3:StateCode>08</ns3:StateCode>
               <ns3:State.Abbreviation>CO</ns3:State.Abbreviation>              
               <ns3:InputLatitude>40.018998</ns3:InputLatitude>
               <ns3:InputLongitude>-105.239580</ns3:InputLongitude>
               <ns3:GeoTAXKey.MatchCode></ns3:GeoTAXKey.MatchCode>
               <ns3:GeoTAXKey.MatchLevel>NoMatch</ns3:GeoTAXKey.MatchLevel><ns3:GeoTAXKey/>
               <ns3:Place.ClassCode>C1</ns3:Place.ClassCode>
               <ns3:Place.Code>07850</ns3:Place.Code>
               <ns3:Place.IncorporatedFlag>Inc</ns3:Place.IncorporatedFlag>
               <ns3:Place.Name>Boulder</ns3:Place.Name>
               <ns3:Place.LastAnnexedDate>10/2011</ns3:Place.LastAnnexedDate>
               <ns3:Place.LastUpdatedDate>04/2013</ns3:Place.LastUpdatedDate>
               <ns3:Place.LastVerifiedDate>01/2013</ns3:Place.LastVerifiedDate>
               <ns3:Place.PointStatus>P</ns3:Place.PointStatus>
               <ns3:Place.DistanceToBorder>000000387</ns3:Place.DistanceToBorder>
               <ns3:GNISCode>002409883</ns3:GNISCode>
               <ns3:GTX.ErrorCode/>
               <ns3:GTX.ErrorDescription/>
               <ns3:GTX.WarnCode/>
               <ns3:GTX.WarnDescription/>
               <ns3:user_fields/>
            </ns3:Address>
         </ns3:output_port>
      </ns3:ReverseGeoTAXInfoLookupResponse>
   </soap:Body>
</soap:Envelope>