OdooWiki OCA HUB

USPS Address Validation

partner_usps_address_validation folder_open OCA/l10n-usa open_in_new
Contact License: AGPL-3

This module adds a tool to the Contacts page which validates the contact's address. Simply click the 'Validate' button, and the address of the contact will be compared to the USPS address database. The result will be a cleaned address, including the full 9 digit zipcode, in the exact format recognized by USPS.

auto_awesome What this module does

AI-generated from the code · Odoo 16.0

Adds a Validate button on contacts that checks the address against the USPS database and lets you accept the corrected address, including the full ZIP+4 code.

This module connects Odoo contacts to the USPS address database. On a contact form you get a new Validate button next to the Tax ID field. Clicking it opens a pop-up that shows the address as it is stored and the address as USPS returns it, side by side.

  • The pop-up shows the original street, city, state, ZIP and country, and the validated version of each.
  • Two indicators tell you whether the street address matched and whether the city, state and ZIP matched.
  • Pressing Accept Validate Address writes the validated street, city, ZIP and state back onto the contact and records today's date as the last validation date.
  • A new USPS Address Validation tab on the contact shows that last validation date.

Before using it, an administrator must enter the USPS API URL, username and password under Settings, in the USPS Address Validation Settings block. If USPS returns an error, Odoo shows it as a message instead of saving anything.

The module touches contacts (res.partner), the settings screen (res.config.settings) and a new validation wizard (usps.address.validation). It requires the Python libraries xmltodict and requests.

Depends on

contacts
Models and fields (3)
  • res.partner · extends an existing modelusps_date_validation (Last Validation Date)
  • res.config.settings · extends an existing modelusps_api_url (API URL), usps_password (Password), usps_username (Username)
  • usps.address.validation · new modelzip, city, state, street, country, street2, original_zip, address_match, original_city, address_result, original_state, original_street, original_country, original_street2, city_state_zip_match

Text generated by AI (DeepSeek) from reading the Odoo 16.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 2 confirmed, 7 with no information of 9 versions.

terminal Installation and usage

No verified information

Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.