ReverseGeoTAXInfoLookup allows latitude/longitude coordinates to be supplied as input and identifies the tax districts that apply to the given coordinate. Specifically, ReverseGeoTAXInfoLookup 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
ReverseGeoTAXInfoLookup 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 ReverseGeoTAXInfoLookup:
- ReverseGeoTAXInfoLookup 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 ReverseGeoTAXInfoLookup, you can set up a process where ReverseGeoTAXInfo 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, ReverseGeoTAXInfoLookup 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:
Response Element | Format |
---|---|
Data.InputLatitude |
00.000000 or without the decimal point 00000000 |
Data.InputLongitude |
000.000000 or without the decimal point 000000000, or 00.000000 or without the decimal point 00000000 |
ReverseGeoTAXInfoLookup 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
For a list of Spectrum OnDemand servers, see Connecting to Spectrum OnDemand 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>