OdooWiki OCA HUB

Location management (aka Better ZIP)

base_location folder_open OCA/partner-contact open_in_new
Uncategorised License: AGPL-3

This module introduces a zip model that allows you to manage locations in a better way.

The zips will allow the users to complete automatically all address-related fields by just filling the zip.

Also allows different search filters.

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Manage ZIP/postal codes as their own records linked to cities, so users can pick a location and have the address fields filled in automatically. Adds Cities and Zips menus under Contacts and a Zips button on countries.

This module turns postal codes into a proper list you can maintain, instead of typing them freely on each contact.

  • Under Contacts > Configuration (Localisation) you get two new menus: Cities and Zips. In Cities you can see each city and, on its form, a Zips tab listing all postal codes belonging to it. In Zips you get an editable list of locations showing the ZIP, its city and country, with a search box.
  • On a contact form, a new "Location completion" field appears before the city. Choosing a location automatically fills in the ZIP, city, state and country. The same completion field is available on company addresses and on child contacts.
  • On the country form a Zips button opens the list of locations filtered on that country.
  • Business rules: a city name must be unique within its state and country, and a ZIP must be unique within its city. If you change the ZIP, city, state or country on a contact so that it no longer matches the selected location, the location link is cleared. If the location and the contact's country, state, city or ZIP disagree, Odoo blocks saving with an error message.
  • The location search on contacts is filtered by the city, state and country already entered, so only relevant locations are proposed.

Depends on

base_address_extendedcontacts

Menus it adds

CitiesZips
Models and fields (4)
  • res.city · extends an existing modelzip_ids (Zips in this city)
  • res.company · extends an existing modelzip_id (ZIP Location), city_id (City ID), country_enforce_cities
  • res.partner · extends an existing modelzip, city, zip_id (ZIP Location), city_id, state_id, country_id
  • res.city.zip · new modelname (ZIP), city_id, state_id, country_id

Text generated by AI (DeepSeek) from reading the Odoo 19.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: 8 confirmed, 1 with no information of 9 versions.

Sources · Odoo 17.0

Confirmed on 2026-11-03 in branch 17.0 of OCA/partner-contact.

terminal Installation and usage

OCA documentation · Odoo 19.0
  • Go to Contacts / Configuration / Localization / Cities.
  • Create a new City.
  • Go to Contacts / Configuration / Localization / Zips.
  • Create a new Zip and relate it to the city (you can also create the Zip from the City).

or, with module 'Contacts Directory' installed: #. Go to Contacts / Configuration / Localization / Countries. #. Locate the desired country. #. Press on the button 'Cities' / 'Zips'.

  • Access a partner record
  • Fill the field Location completion
  • Information about country, state, city and zip will be filled automatically

No verified information in OCA: Installation.

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.