> This page is for Documentation, version Integration guides (default).
> For other versions, use one of these documentation indexes:
> - Integration guides (default): https://avalara.ferndocs.com/docs/integration-guides/llms.txt
> - Refactor guides: https://avalara.ferndocs.com/docs/refactor-guides/llms.txt
> - Get certified: https://avalara.ferndocs.com/docs/get-certified/llms.txt
> - Agent to Agent (A2A): https://avalara.ferndocs.com/docs/agent-to-agent-a2a/llms.txt
> - AI use cases: https://avalara.ferndocs.com/docs/ai-use-cases/llms.txt
> - API versioning: https://avalara.ferndocs.com/docs/api-versioning/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://avalara.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://avalara.ferndocs.com/_mcp/server.

# Best Practices

* [Previous](https://developer.avalara.com/communications/dev-guide_geo_soap/getting-started/sample-messages/)
* [Next Chapter](https://developer.avalara.com/communications/dev-guide_geo_soap/geocode/)

### Minimum Score

Specify a minimum score (`MinimumScore`) for an address or check the [score](https://developer.avalara.com/communications/dev-guide_geo_soap/geocode/scoring/) returned for matching locations before using the jurisdiction. We recommend using locations with a score of 0.7 (for 70%) or greater.

* Minimum Score (`MinimumScore`) of 0.7 allows for a reasonable number of typos in the input address
* Increase or decrease the Minimum Score (`MinimumScore`) to allow for a higher or lower level accuracy
* Setting Minimum Score (`MinimumScore`) to 1.0 returns only exact matches - this may not return a valid jurisdiction if the input address contains a small error
* Setting Minimum Score (`MinimumScore`) to 0.0 returns all matches that AFC Geo SaaS Pro Soap can find, regardless of confidence in the results

For more information, see [Address Geocoding](https://developer.avalara.com/communications/dev-guide_geo_soap/geocode/address-geocoding/) and [Scoring](https://developer.avalara.com/communications/dev-guide_geo_soap/geocode/scoring/).

### Special Tax Jurisdictions

Return Special Tax Jurisdictions ([Options](https://developer.avalara.com/communications/dev-guide_geo_soap/geocode/options/) bitwise value 16) to get the most accurate jurisdiction. Only the city or county is returned when the Special Tax Jurisdictions option is not include.

For more information, see [Special Tax Jurisdiction](https://developer.avalara.com/communications/dev-guide_geo_soap/geocode/special-tax-jurisdictions/).

### Numeric Street Number

* Always start the street address (`StreetAddress`) with a numeric street number
* Exception to the rule is for states that allow a one letter prefix on the street (for example, a "G" prefix on the street number is valid in Michigan)
* A letter as a suffix on the street number is acceptable, but may not return valid results

### Post Office (PO) Box

* PO Boxes **aren't supported** because a PO Box is not considered acceptable by tax jurisdictions for tax situsing purposes
* Zip Codes associated with a PO Box should not be used for geocoding because the zip code represents the physical location of a PO Box, not the location of the actual transaction

### CASS Validation

Turn [CASS validation](https://developer.avalara.com/communications/dev-guide_geo_soap/geocode/cass/) on (`CassCertify` set to `true` ) to increase the accuracy of the address results.

#### Note

[CASS validation](https://developer.avalara.com/communications/dev-guide_geo_soap/geocode/cass/) is always be performed on [Florida addresses](https://developer.avalara.com/communications/dev-guide_geo_soap/geocode/florida-certification/), no matter what the value of the input flag.

### Secondary Unit

When the input address contains an apartment or suite numbers, use `SecondaryUnit` to enter this information rather than including apartment or suite numbers at the end of the street address. The Secondary Unit (`SecondaryUnit`) is not using in the geocoding process, but including an apartment or suite number on the street address line can cause the score to be lowered to the point that a valid match is missed.

### Endpoints

Use the [endpoints](https://developer.avalara.com/communications/dev-guide_geo_soap/getting-started/endpoints-methods/) ending in `/2.0` so that any exceptions generated are returned to you and you can better handle the exceptions in your code.

### Request

The order of input fields is important. AFC Geo requires a static order of input values, such as fields in [`inputAddress`](https://developer.avalara.com/communications/dev-guide_geo_soap/reference/input-address/). Fields that are out of order remain unassigned, impacting the final geocoding results.

### Options

Don’t use Street Number Snapping ([Options](https://developer.avalara.com/communications/dev-guide_geo_soap/geocode/options/) bitwise value 1) or Postal Code Centroid ([Options](https://developer.avalara.com/communications/dev-guide_geo_soap/geocode/options/) bitwise value 2) unless no results are returned. Using these [options](https://developer.avalara.com/communications/dev-guide_geo_soap/geocode/options/) can cause incorrect results to be returned when the street database contains complete data.

* [Previous](https://developer.avalara.com/communications/dev-guide_geo_soap/getting-started/sample-messages/)
* [Next Chapter](https://developer.avalara.com/communications/dev-guide_geo_soap/geocode/)

> **Note**
>
> Part of the **Communications Geo SaaS Pro SOAP guide** integration guide. [Open the full "Best Practices" milestone on Avalara](https://developer.avalara.com/products/communications/integration-guides/dev-guide_geo_soap/getting-started/) to see every page in this section.