Location management (aka Better ZIP)

base_location
REPOSITORY
REPOSITORYOCA/partner-contact
GIT
GIThttps://github.com/OCA/partner-contact.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/partner-contact/tree/19.0/base_location
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Camptocamp, AdaptiveCity, ACYSOS S.L., Alejandro Santana
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Camptocamp, AdaptiveCity, ACYSOS S.L., Alejandro Santana
COMMITTERS
COMMITTERSRuchir Shukla, Weblate, OCA-git-bot, oca-ci, Saran440
WEBSITE
WEBSITEhttps://github.com/OCA/partner-contact
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:40:47
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base_address_extended
    - base
    - contacts
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
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.

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
city_zip_form res.city.zip.form res.city.zip form New
city_zip_tree res.city.zip.tree res.city.zip list New
view_city_form res.city form New
view_city_tree_inherit res.city list Inherits base_address_extended.view_city_tree
view_city_zip_filter res.city.zip.select res.city.zip search New
view_company_form_city res.company.form.city res.company field Inherits base.view_company_form
view_country_search res.country.search res.country search New
view_partner_form res.partner.zip_id.2 res.partner field Inherits base.view_partner_form
view_res_country_city_better_zip_form res.country xpath Inherits base.view_country_form
Models touched (4)

New fields (1)
  • zip_ids One2many → res.city.zip
    string='Zips in this city' args: 'res.city.zip', 'city_id'
Public methods (0)

No public methods.

New fields (4)
  • city_id Many2one → res.city
    bypass_search_access=True index=True ondelete='cascade' required=True args: 'res.city', 'City'
  • country_id Many2one
    related='city_id.country_id'
  • name Char
    required=True args: 'ZIP'
  • state_id Many2one
    related='city_id.state_id'
Public methods (0)

No public methods.

New fields (3)
  • city_id Many2one → res.city
    compute='_compute_address' inverse='_inverse_city_id' string='City ID' args: 'res.city'
  • country_enforce_cities Boolean
    related='partner_id.country_id.enforce_cities'
  • zip_id Many2one → res.city.zip
    compute='_compute_address' help='Use the city name or the zip code to search the location' inverse='_inverse_zip_id' string='ZIP Location' args: 'res.city.zip'
Public methods (0)

No public methods.

New fields (6)
  • city Char
    compute='_compute_city' readonly=False store=True
  • city_id Many2one
    compute='_compute_city_id' index=True readonly=False store=True
  • country_id Many2one
    compute='_compute_country_id' readonly=False store=True
  • state_id Many2one
    compute='_compute_state_id' readonly=False store=True
  • zip Char
    compute='_compute_zip' readonly=False store=True
  • zip_id Many2one → res.city.zip
    comodel_name='res.city.zip' compute='_compute_zip_id' index=True readonly=False store=True string='ZIP Location'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/partner-contact
GIT
GIThttps://github.com/OCA/partner-contact.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/partner-contact/tree/18.0/base_location
VERSION
VERSION 1.1.1
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Camptocamp, AdaptiveCity, ACYSOS S.L., Alejandro Santana
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Camptocamp, AdaptiveCity, ACYSOS S.L., Alejandro Santana
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Saran440, Luis Rodriguez, Khôi (Kiên Kim)
WEBSITE
WEBSITEhttps://github.com/OCA/partner-contact
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:10
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base_address_extended
    - base
    - contacts
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
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.

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
city_zip_form res.city.zip.form res.city.zip form New
city_zip_tree res.city.zip.tree res.city.zip list New
view_city_form res.city form New
view_city_tree_inherit res.city list Inherits base_address_extended.view_city_tree
view_city_zip_filter res.city.zip.select res.city.zip search New
view_company_form_city res.company.form.city res.company field Inherits base.view_company_form
view_country_search res.country.search res.country search New
view_partner_form res.partner.zip_id.2 res.partner field Inherits base.view_partner_form
view_res_country_city_better_zip_form res.country xpath Inherits base.view_country_form
Models touched (4)

New fields (2)
  • code Char
  • zip_ids One2many → res.city.zip
    string='Zips in this city' args: 'res.city.zip', 'city_id'
Public methods (0)

No public methods.

New fields (4)
  • city_id Many2one → res.city
    auto_join=True index=True ondelete='cascade' required=True args: 'res.city', 'City'
  • country_id Many2one
    related='city_id.country_id'
  • name Char
    required=True args: 'ZIP'
  • state_id Many2one
    related='city_id.state_id'
Public methods (0)

No public methods.

New fields (3)
  • city_id Many2one → res.city
    compute='_compute_address' inverse='_inverse_city_id' string='City ID' args: 'res.city'
  • country_enforce_cities Boolean
    related='partner_id.country_id.enforce_cities'
  • zip_id Many2one → res.city.zip
    compute='_compute_address' help='Use the city name or the zip code to search the location' inverse='_inverse_zip_id' string='ZIP Location' args: 'res.city.zip'
Public methods (0)

No public methods.

New fields (6)
  • city Char
    compute='_compute_city' readonly=False store=True
  • city_id Many2one
    compute='_compute_city_id' index=True readonly=False store=True
  • country_id Many2one
    compute='_compute_country_id' readonly=False store=True
  • state_id Many2one
    compute='_compute_state_id' readonly=False store=True
  • zip Char
    compute='_compute_zip' readonly=False store=True
  • zip_id Many2one → res.city.zip
    comodel_name='res.city.zip' compute='_compute_zip_id' index=True readonly=False store=True string='ZIP Location'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/partner-contact
GIT
GIThttps://github.com/OCA/partner-contact.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/partner-contact/tree/17.0/base_location
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Camptocamp, AdaptiveCity, ACYSOS S.L., Alejandro Santana
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Camptocamp, AdaptiveCity, ACYSOS S.L., Alejandro Santana
COMMITTERS
COMMITTERSsergio-teruel, Weblate, OCA-git-bot, oca-ci, Jérémy Didderen, ilyas caluwe
WEBSITE
WEBSITEhttps://github.com/OCA/partner-contact
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:04
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base_address_extended
    - base
    - contacts
    - mail
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
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.

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
city_zip_form res.city.zip.form res.city.zip form New
city_zip_tree res.city.zip.tree res.city.zip tree New
view_city_form res.city form New
view_city_tree_inherit res.city tree Inherits base_address_extended.view_city_tree
view_city_zip_filter res.city.zip.select res.city.zip search New
view_company_form_city res.company.form.city res.company field Inherits base.view_company_form
view_country_search res.country.search res.country search New
view_partner_form res.partner.zip_id.2 res.partner field Inherits base.view_partner_form
view_res_country_city_better_zip_form res.country xpath Inherits base.view_country_form
Models touched (4)

New fields (2)
  • code Char
  • zip_ids One2many → res.city.zip
    string='Zips in this city' args: 'res.city.zip', 'city_id'
Public methods (0)

No public methods.

New fields (4)
  • city_id Many2one → res.city
    auto_join=True index=True ondelete='cascade' required=True args: 'res.city', 'City'
  • country_id Many2one
    related='city_id.country_id'
  • name Char
    required=True args: 'ZIP'
  • state_id Many2one
    related='city_id.state_id'
Public methods (0)

No public methods.

New fields (3)
  • city_id Many2one → res.city
    compute='_compute_address' inverse='_inverse_city_id' string='City ID' args: 'res.city'
  • country_enforce_cities Boolean
    related='partner_id.country_id.enforce_cities'
  • zip_id Many2one → res.city.zip
    compute='_compute_address' help='Use the city name or the zip code to search the location' inverse='_inverse_zip_id' string='ZIP Location' args: 'res.city.zip'
Public methods (0)

No public methods.

New fields (6)
  • city Char
    compute='_compute_city' readonly=False store=True
  • city_id Many2one
    compute='_compute_city_id' index=True readonly=False store=True
  • country_id Many2one
    compute='_compute_country_id' readonly=False store=True
  • state_id Many2one
    compute='_compute_state_id' readonly=False store=True
  • zip Char
    compute='_compute_zip' readonly=False store=True
  • zip_id Many2one → res.city.zip
    comodel_name='res.city.zip' compute='_compute_zip_id' index=True readonly=False store=True string='ZIP Location'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/partner-contact
GIT
GIThttps://github.com/OCA/partner-contact.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/partner-contact/tree/16.0/base_location
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Camptocamp, AdaptiveCity, ACYSOS S.L., Alejandro Santana
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Camptocamp, AdaptiveCity, ACYSOS S.L., Alejandro Santana
COMMITTERS
COMMITTERSPedro M. Baeza, Weblate, OCA-git-bot, oca-ci, Maksym Yankin
WEBSITE
WEBSITEhttps://github.com/OCA/partner-contact
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:44
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base_address_extended
    - base
    - contacts
    - mail
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
city_zip_form res.city.zip.form res.city.zip form New
city_zip_tree res.city.zip.tree res.city.zip tree New
view_city_form res.city form New
view_city_tree_inherit res.city tree Inherits base_address_extended.view_city_tree
view_city_zip_filter res.city.zip.select res.city.zip search New
view_company_form_city res.company.form.city res.company field Inherits base.view_company_form
view_country_search res.country.search res.country search New
view_partner_form res.partner.zip_id.2 res.partner field Inherits base.view_partner_form
view_res_country_city_better_zip_form res.country xpath Inherits base.view_country_form
Models touched (4)

New fields (1)
  • zip_ids One2many → res.city.zip
    string='Zips in this city' args: 'res.city.zip', 'city_id'
Public methods (0)

No public methods.

New fields (4)
  • city_id Many2one → res.city
    auto_join=True index=True ondelete='cascade' required=True args: 'res.city', 'City'
  • country_id Many2one
    related='city_id.country_id'
  • name Char
    required=True args: 'ZIP'
  • state_id Many2one
    related='city_id.state_id'
Public methods (1)
  • name_get(self)
    Get the proper display name formatted as 'ZIP, name, state, country'.

New fields (3)
  • city_id Many2one → res.city
    compute='_compute_address' inverse='_inverse_city_id' string='City ID' args: 'res.city'
  • country_enforce_cities Boolean
    related='partner_id.country_id.enforce_cities'
  • zip_id Many2one → res.city.zip
    compute='_compute_address' help='Use the city name or the zip code to search the location' inverse='_inverse_zip_id' string='ZIP Location' args: 'res.city.zip'
Public methods (0)

No public methods.

New fields (6)
  • city Char
    compute='_compute_city' readonly=False store=True
  • city_id Many2one
    compute='_compute_city_id' index=True readonly=False store=True
  • country_id Many2one
    compute='_compute_country_id' readonly=False store=True
  • state_id Many2one
    compute='_compute_state_id' readonly=False store=True
  • zip Char
    compute='_compute_zip' readonly=False store=True
  • zip_id Many2one → res.city.zip
    comodel_name='res.city.zip' compute='_compute_zip_id' index=True readonly=False store=True string='ZIP Location'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/partner-contact
GIT
GIThttps://github.com/OCA/partner-contact.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/partner-contact/tree/15.0/base_location
VERSION
VERSION 1.0.3
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Camptocamp, AdaptiveCity, ACYSOS S.L., Alejandro Santana
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Camptocamp, AdaptiveCity, ACYSOS S.L., Alejandro Santana
COMMITTERS
COMMITTERSPedro M. Baeza, OCA Transbot, Víctor Martínez, Weblate, OCA-git-bot, Eric Antones, oca-ci, Valentin Vinagre Urteaga, josep-tecnativa
WEBSITE
WEBSITEhttps://github.com/OCA/partner-contact
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:32
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base_address_city
    - base
    - contacts
    - mail
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
city_zip_form res.city.zip.form res.city.zip form New
city_zip_tree res.city.zip.tree res.city.zip tree New
view_city_form res.city form New
view_city_tree_inherit res.city tree Inherits base_address_city.view_city_tree
view_city_zip_filter res.city.zip.select res.city.zip search New
view_company_form_city res.company.form.city res.company field Inherits base.view_company_form
view_country_search res.country.search res.country search New
view_partner_form res.partner.zip_id.2 res.partner field Inherits base.view_partner_form
view_res_country_city_better_zip_form res.country xpath Inherits base.view_country_form
Models touched (4)

New fields (1)
  • zip_ids One2many → res.city.zip
    string='Zips in this city' args: 'res.city.zip', 'city_id'
Public methods (0)

No public methods.

New fields (5)
  • city_id Many2one → res.city
    auto_join=True index=True ondelete='cascade' required=True args: 'res.city', 'City'
  • country_id Many2one
    related='city_id.country_id'
  • display_name Char
    compute='_compute_new_display_name' index=True store=True
  • name Char
    required=True args: 'ZIP'
  • state_id Many2one
    related='city_id.state_id'
Public methods (0)

No public methods.

New fields (3)
  • city_id Many2one → res.city
    compute='_compute_address' inverse='_inverse_city_id' string='City ID' args: 'res.city'
  • country_enforce_cities Boolean
    related='partner_id.country_id.enforce_cities'
  • zip_id Many2one → res.city.zip
    compute='_compute_address' help='Use the city name or the zip code to search the location' inverse='_inverse_zip_id' string='ZIP Location' args: 'res.city.zip'
Public methods (0)

No public methods.

New fields (6)
  • city Char
    compute='_compute_city' readonly=False store=True
  • city_id Many2one
    compute='_compute_city_id' index=True readonly=False store=True
  • country_id Many2one
    compute='_compute_country_id' readonly=False store=True
  • state_id Many2one
    compute='_compute_state_id' readonly=False store=True
  • zip Char
    compute='_compute_zip' readonly=False store=True
  • zip_id Many2one → res.city.zip
    comodel_name='res.city.zip' compute='_compute_zip_id' index=True readonly=False store=True string='ZIP Location'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/partner-contact
GIT
GIThttps://github.com/OCA/partner-contact.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/partner-contact/tree/14.0/base_location
VERSION
VERSION 1.2.5
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Camptocamp, AdaptiveCity, ACYSOS S.L., Alejandro Santana
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Camptocamp, AdaptiveCity, ACYSOS S.L., Alejandro Santana
COMMITTERS
COMMITTERSPedro M. Baeza, Ivàn Todorovich, Yann Papouin, OCA Transbot, Víctor Martínez, oca-travis, Weblate, OCA-git-bot, Eric Antones
WEBSITE
WEBSITEhttps://github.com/OCA/partner-contact
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:56
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base_address_city
    - base
    - contacts
    - mail
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
city_zip_form res.city.zip.form res.city.zip form New
city_zip_tree res.city.zip.tree res.city.zip tree New
view_city_form res.city form New
view_city_tree_inherit res.city tree Inherits base_address_city.view_city_tree
view_city_zip_filter res.city.zip.select res.city.zip search New
view_company_form_city res.company.form.city res.company field Inherits base.view_company_form
view_country_search res.country.search res.country search New
view_partner_form res.partner.zip_id.2 res.partner field Inherits base.view_partner_form
view_res_country_city_better_zip_form res.country xpath Inherits base.view_country_form
Models touched (4)

New fields (1)
  • zip_ids One2many → res.city.zip
    string='Zips in this city' args: 'res.city.zip', 'city_id'
Public methods (0)

No public methods.

New fields (5)
  • city_id Many2one → res.city
    auto_join=True index=True ondelete='cascade' required=True args: 'res.city', 'City'
  • country_id Many2one
    related='city_id.country_id'
  • display_name Char
    compute='_compute_new_display_name' index=True store=True
  • name Char
    required=True args: 'ZIP'
  • state_id Many2one
    related='city_id.state_id'
Public methods (0)

No public methods.

New fields (3)
  • city_id Many2one → res.city
    compute='_compute_address' inverse='_inverse_city_id' string='City ID' args: 'res.city'
  • country_enforce_cities Boolean
    related='partner_id.country_id.enforce_cities'
  • zip_id Many2one → res.city.zip
    compute='_compute_address' help='Use the city name or the zip code to search the location' inverse='_inverse_zip_id' string='ZIP Location' args: 'res.city.zip'
Public methods (0)

No public methods.

New fields (6)
  • city Char
    compute='_compute_city' readonly=False store=True
  • city_id Many2one
    compute='_compute_city_id' index=True readonly=False store=True
  • country_id Many2one
    compute='_compute_country_id' readonly=False store=True
  • state_id Many2one
    compute='_compute_state_id' readonly=False store=True
  • zip Char
    compute='_compute_zip' readonly=False store=True
  • zip_id Many2one → res.city.zip
    comodel_name='res.city.zip' compute='_compute_zip_id' index=True readonly=False store=True string='ZIP Location'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/partner-contact
GIT
GIThttps://github.com/OCA/partner-contact.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/partner-contact/tree/13.0/base_location
VERSION
VERSION 1.1.4
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Camptocamp, AdaptiveCity, ACYSOS S.L., Alejandro Santana
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Camptocamp, AdaptiveCity, ACYSOS S.L., Alejandro Santana
COMMITTERS
COMMITTERSPedro M. Baeza, Stéphane Bidoul (ACSONE), Yann Papouin, OCA Transbot, Víctor Martínez, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttps://github.com/OCA/partner-contact
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:11
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base_address_city
    - base
    - contacts
    - mail
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
city_zip_form res.city.zip.form res.city.zip form New
city_zip_tree res.city.zip.tree res.city.zip tree New
view_city_form res.city form New
view_city_tree_inherit res.city tree Inherits base_address_city.view_city_tree
view_city_zip_filter res.city.zip.select res.city.zip search New
view_company_form_city res.company.form.city res.company field Inherits base.view_company_form
view_country_search res.country.search res.country search New
view_partner_form res.partner.zip_id.2 res.partner field Inherits base.view_partner_form
view_res_country_city_better_zip_form res.country xpath Inherits base.view_country_form
Models touched (4)

New fields (1)
  • zip_ids One2many → res.city.zip
    string='Zips in this city' args: 'res.city.zip', 'city_id'
Public methods (0)

No public methods.

New fields (3)
  • city_id Many2one → res.city
    auto_join=True index=True ondelete='cascade' required=True args: 'res.city', 'City'
  • display_name Char
    compute='_compute_new_display_name' index=True store=True
  • name Char
    required=True args: 'ZIP'
Public methods (0)

No public methods.

New fields (3)
  • city_id Many2one → res.city
    compute='_compute_address' inverse='_inverse_city_id' string='City ID' args: 'res.city'
  • country_enforce_cities Boolean
    related='partner_id.country_id.enforce_cities'
  • zip_id Many2one → res.city.zip
    compute='_compute_address' help='Use the city name or the zip code to search the location' inverse='_inverse_zip_id' string='ZIP Location' args: 'res.city.zip'
Public methods (0)

No public methods.

New fields (2)
  • city_id Many2one
    index=True
  • zip_id Many2one → res.city.zip
    index=True args: 'res.city.zip', 'ZIP Location'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/partner-contact
GIT
GIThttps://github.com/OCA/partner-contact.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/partner-contact/tree/12.0/base_location
VERSION
VERSION 1.1.4
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Camptocamp, AdaptiveCity, ACYSOS S.L., Alejandro Santana
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Camptocamp, AdaptiveCity, ACYSOS S.L., Alejandro Santana
COMMITTERS
COMMITTERSeLBati, Pedro M. Baeza, mreficent, sbejaoui, Yann Papouin, OCA Transbot, Víctor Martínez, oca-travis, Weblate, OCA-git-bot, sergiocorato, yann-papouin
WEBSITE
WEBSITEhttps://github.com/OCA/partner-contact
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:15
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base_address_city
    - base
    - contacts
    - mail
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
city_zip_form res.city.zip.form res.city.zip form New
city_zip_tree res.city.zip.tree res.city.zip tree New
view_city_form res.city form New
view_city_tree_inherit res.city tree Inherits base_address_city.view_city_tree
view_city_zip_filter res.city.zip.select res.city.zip search New
view_company_form_city res.company.form.city res.company field Inherits base.view_company_form
view_country_search res.country.search res.country search New
view_partner_form res.partner.zip_id.2 res.partner field Inherits base.view_partner_form
view_res_country_city_better_zip_form res.country xpath Inherits base.view_country_form
Models touched (4)

New fields (1)
  • zip_ids One2many → res.city.zip
    string='Zips in this city' args: 'res.city.zip', 'city_id'
Public methods (0)

No public methods.

New fields (3)
  • city_id Many2one → res.city
    auto_join=True index=True ondelete='cascade' required=True args: 'res.city', 'City'
  • display_name Char
    compute='_compute_new_display_name' index=True store=True
  • name Char
    required=True args: 'ZIP'
Public methods (0)

No public methods.

New fields (3)
  • city_id Many2one → res.city
    compute='_compute_address' inverse='_inverse_city_id' string='City ID' args: 'res.city'
  • country_enforce_cities Boolean
    related='country_id.enforce_cities'
  • zip_id Many2one → res.city.zip
    compute='_compute_address' help='Use the city name or the zip code to search the location' inverse='_inverse_zip_id' oldname='better_zip_id' string='ZIP Location' args: 'res.city.zip'
Public methods (0)

No public methods.

New fields (2)
  • city_id Many2one
    index=True
  • zip_id Many2one → res.city.zip
    index=True args: 'res.city.zip', 'ZIP Location'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/partner-contact
GIT
GIThttps://github.com/OCA/partner-contact.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/partner-contact/tree/11.0/base_location
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Camptocamp, ACYSOS S.L., Alejandro Santana
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Camptocamp, ACYSOS S.L., Alejandro Santana
COMMITTERS
COMMITTERSPedro M. Baeza, Jairo Llopis, Stéphane Bidoul (ACSONE), OCA Transbot, oca-travis, Weblate
WEBSITE
WEBSITEhttp://www.camptocamp.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:23:56
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base_address_city
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
better_zip_form res.better.zip.form res.better.zip form New
better_zip_tree res.better.zip.tree res.better.zip tree New
view_better_zip_filter res.better.zip.select res.better.zip search New
view_company_form_city res.company.form.city res.company field Inherits base.view_company_form
view_country_search res.country.search res.country search New
view_country_state_form2 view_country_state_form2 res.country.state field Inherits base.view_country_state_form
view_partner_form res.partner.zip_id.2 res.partner field Inherits base.view_partner_form
view_res_country_city_better_zip_form res.country xpath Inherits base.view_country_form
Models touched (4)

New fields (9)
  • city Char
    required=True args: 'City'
  • city_id Many2one → res.city
    args: 'res.city', 'City'
  • code Char
    help='The official code for the city' size=64 args: 'City Code'
  • country_id Many2one → res.country
    args: 'res.country', 'Country'
  • enforce_cities Boolean
    readonly=True related='country_id.enforce_cities'
  • latitude Float
  • longitude Float
  • name Char
    args: 'ZIP'
  • state_id Many2one → res.country.state
    args: 'res.country.state', 'State'
Public methods (3)
  • constrains_country(self)
    @api.constrains('state_id', 'country_id', 'city_id')
  • name_get(self)
    @api.multi@api.depends('name', 'city', 'state_id', 'country_id')
  • name_search(self, name='', args=None, operator='ilike', limit=100)
    @api.model

New fields (3)
  • city_id Many2one → res.city
    compute='_compute_address' inverse='_inverse_city_id' string='City' args: 'res.city'
  • country_enforce_cities Boolean
    related='country_id.enforce_cities'
  • zip_id Many2one → res.better.zip
    compute='_compute_address' help='Use the city name or the zip code to search the location' inverse='_inverse_zip_id' oldname='better_zip_id' string='ZIP Location' args: 'res.better.zip'
Public methods (1)
  • onchange_state_id(self)
    @api.onchange('state_id')

New fields (1)
  • better_zip_ids One2many → res.better.zip
    args: 'res.better.zip', 'state_id', 'Cities'
Public methods (0)

No public methods.

New fields (1)
  • zip_id Many2one → res.better.zip
    args: 'res.better.zip', 'ZIP Location'
Public methods (1)
  • onchange_state_id(self)
    @api.onchange('state_id')
REPOSITORY
REPOSITORYOCA/partner-contact
GIT
GIThttps://github.com/OCA/partner-contact.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/partner-contact/tree/10.0/base_location
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Camptocamp, ACYSOS S.L., Alejandro Santana
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Camptocamp, ACYSOS S.L., Alejandro Santana
COMMITTERS
COMMITTERSPedro M. Baeza, GitHub, Stéphane Bidoul (ACSONE), OCA Transbot, oca-travis, Weblate, Rafael Blasco, OCA-git-bot, kitcharoen poolperm
WEBSITE
WEBSITEhttp://www.camptocamp.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:19:55
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (7)
XML IDNameModelTypeStatus
better_zip_form res.better.zip.form res.better.zip form New
better_zip_tree res.better.zip.tree res.better.zip tree New
view_better_zip_filter res.better.zip.select res.better.zip search New
view_company_form_city res.company.form.city res.company field Inherits base.view_company_form
view_country_search res.country.search res.country search New
view_country_state_form2 view_country_state_form2 res.country.state field Inherits base.view_country_state_form
view_partner_form res.partner.zip_id.2 res.partner field Inherits base.view_partner_form
Models touched (4)

New fields (8)
  • city Char
    required=True args: 'City'
  • code Char
    help='The official code for the city' size=64 args: 'City Code'
  • country_id Many2one → res.country
    args: 'res.country', 'Country'
  • display_name Char
    compute='_get_display_name' store=True args: 'Name'
  • latitude Float
  • longitude Float
  • name Char
    args: 'ZIP'
  • state_id Many2one → res.country.state
    args: 'res.country.state', 'State'
Public methods (1)
  • onchange_state_id(self)
    @api.onchange('state_id')

New fields (1)
  • better_zip_id Many2one → res.better.zip
    help='Use the city name or the zip code to search the location' string='Location' args: 'res.better.zip'
Public methods (2)
  • on_change_city(self)
    @api.onchange('better_zip_id')
  • onchange_state_id(self)
    @api.onchange('state_id')

New fields (1)
  • better_zip_ids One2many → res.better.zip
    args: 'res.better.zip', 'state_id', 'Cities'
Public methods (0)

No public methods.

New fields (1)
  • zip_id Many2one → res.better.zip
    args: 'res.better.zip', 'City/Location'
Public methods (2)
  • onchange_state_id(self)
    @api.onchange('state_id')
  • onchange_zip_id(self)
    @api.onchange('zip_id')
REPOSITORY
REPOSITORYOCA/partner-contact
GIT
GIThttps://github.com/OCA/partner-contact.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/partner-contact/tree/9.0/base_location
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSTecnativa, Odoo Community Association (OCA), Camptocamp, ACYSOS S.L., Alejandro Santana
MAINTAINERS
MAINTAINERSTecnativa, Odoo Community Association (OCA), Camptocamp, ACYSOS S.L., Alejandro Santana
COMMITTERS
COMMITTERSYannick Vaucher, Pedro M. Baeza, GitHub, Jairo Llopis, Stéphane Bidoul (ACSONE), OCA Transbot, oca-travis, Weblate
WEBSITE
WEBSITEhttp://www.camptocamp.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:19
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (7)
XML IDNameModelTypeStatus
better_zip_form res.better.zip.form res.better.zip form New
better_zip_tree res.better.zip.tree res.better.zip tree New
view_better_zip_filter res.better.zip.select res.better.zip search New
view_company_form_city res.company.form.city res.company field Inherits base.view_company_form
view_country_search res.country.search res.country search New
view_country_state_form2 view_country_state_form2 res.country.state field Inherits base.view_country_state_form
view_partner_form res.partner.zip_id.2 res.partner field Inherits base.view_partner_form
Models touched (4)

New fields (6)
  • city Char
    required=True args: 'City'
  • code Char
    help='The official code for the city' size=64 args: 'City Code'
  • country_id Many2one → res.country
    args: 'res.country', 'Country'
  • display_name Char
    compute='_get_display_name' store=True args: 'Name'
  • name Char
    args: 'ZIP'
  • state_id Many2one → res.country.state
    args: 'res.country.state', 'State'
Public methods (1)
  • onchange_state_id(self)
    @api.onchange('state_id')

New fields (1)
  • better_zip_id Many2one → res.better.zip
    help='Use the city name or the zip code to search the location' select=1 string='Location' args: 'res.better.zip'
Public methods (1)
  • on_change_city(self)
    @api.one@api.onchange('better_zip_id')

New fields (1)
  • better_zip_ids One2many → res.better.zip
    args: 'res.better.zip', 'state_id', 'Cities'
Public methods (0)

No public methods.

New fields (1)
  • zip_id Many2one → res.better.zip
    args: 'res.better.zip', 'City/Location'
Public methods (1)
  • onchange_zip_id(self)
    @api.one@api.onchange('zip_id')
REPOSITORY
REPOSITORYOCA/partner-contact
GIT
GIThttps://github.com/OCA/partner-contact.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/partner-contact/tree/8.0/base_location
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp, ACYSOS S.L., Alejandro Santana, Serv. Tecnol. Avanzados - Pedro M. Baeza
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp, ACYSOS S.L., Alejandro Santana, Serv. Tecnol. Avanzados - Pedro M. Baeza
COMMITTERS
COMMITTERSStéphane Bidoul, Alexis de Lattre, Lorenzo Battistini, Alexandre Fayolle, Sandy Carter, Pedro M. Baeza, GitHub, Stéphane Bidoul (ACSONE), Alejandro Santana, Alex Comba, Franco Tampieri, OCA Transbot, Juan Jose Scarafia, oca-travis, Weblate, Hans Henrik Gabelgaard
WEBSITE
WEBSITEhttp://www.camptocamp.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:21
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (7)
XML IDNameModelTypeStatus
better_zip_form res.better.zip.form res.better.zip form New
better_zip_tree res.better.zip.tree res.better.zip tree New
view_better_zip_filter res.better.zip.select res.better.zip search New
view_company_form_city res.company.form.city res.company field Inherits base.view_company_form
view_country_search res.country.search res.country search New
view_country_state_form2 view_country_state_form2 res.country.state field Inherits base.view_country_state_form
view_partner_form res.partner.zip_id.2 res.partner div Inherits base.view_partner_form
Models touched (4)

New fields (6)
  • city Char
    required=True args: 'City'
  • code Char
    help='The official code for the city' size=64 args: 'City Code'
  • country_id Many2one → res.country
    args: 'res.country', 'Country'
  • display_name Char
    compute='_get_display_name' store=True args: 'Name'
  • name Char
    args: 'ZIP'
  • state_id Many2one → res.country.state
    args: 'res.country.state', 'State'
Public methods (1)
  • onchange_state_id(self)
    @api.onchange('state_id')

New fields (1)
  • better_zip_id Many2one → res.better.zip
    help='Use the city name or the zip code to search the location' select=1 string='Location' args: 'res.better.zip'
Public methods (1)
  • on_change_city(self)
    @api.one@api.onchange('better_zip_id')

New fields (1)
  • better_zip_ids One2many → res.better.zip
    args: 'res.better.zip', 'state_id', 'Cities'
Public methods (0)

No public methods.

New fields (1)
  • zip_id Many2one → res.better.zip
    args: 'res.better.zip', 'City/Location'
Public methods (1)
  • onchange_zip_id(self)
    @api.one@api.onchange('zip_id')
REPOSITORY
REPOSITORYOCA/partner-contact
GIT
GIThttps://github.com/OCA/partner-contact.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/partner-contact/tree/7.0/base_location
VERSION
VERSION 1.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Camptocamp
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Camptocamp
COMMITTERS
COMMITTERSYannick Vaucher, Alexandre Fayolle, Sandy Carter, Pedro M. Baeza, Stéphane Bidoul (ACSONE), unknown, OCA Transbot, dufresnedavid
WEBSITE
WEBSITEhttp://www.camptocamp.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:07:13
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Introduces a better zip/npa management system.
It enables zip/city auto-completion on partners

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
better_zip_form res.better.zip.form res.better.zip form New
better_zip_tree res.better.zip.tree res.better.zip tree New
view_better_zip_filter res.better.zip.select res.better.zip search New
view_company_form_city res.company.form.city res.company field Inherits base.view_company_form
view_country_state_form2 view_country_state_form2 res.country.state field Inherits base.view_country_state_form
view_partner_form res.partner.zip_id.2 res.partner field Inherits base.view_partner_form
Models touched (4)

New fields (0)

No new fields.

Public methods (3)
  • name_get(self, cursor, uid, ids, context=None)
  • name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=100)
  • onchange_state_id(self, cr, uid, ids, state_id=False, context=None)

New fields (0)

No new fields.

Public methods (1)
  • on_change_city(self, cr, uid, ids, zip_id, context=None)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • onchange_zip_id(self, cursor, uid, ids, zip_id, context=None)