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.0Adds 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
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-03Confirmation status: 2 confirmed, 7 with no information of 9 versions.
Sources · Odoo 16.0
Confirmed on 2026-11-03 in branch 16.0 of OCA/l10n-usa.
terminal Installation and usage
No verified informationInstallation 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.
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.