LATAM Localization Base

l10n_latam_base
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/19.0/l10n_latam_base
VERSION
VERSION 1.0
CATEGORY
CATEGORYAccounting/Localizations
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo S.A., ADHOC SA
MAINTAINERS
MAINTAINERSOdoo S.A., ADHOC SA
COMMITTERS
COMMITTERSOdoo Translation Bot, Thibault Delavallée, Josse Colpaert, Gorash, william-andre, luvi, Andrew Gavgavian, Levi Siuzdak (sile), Dylan Kiss (dyki), Louis (loti), kcv-odoo, Claire (clbr), Léo Gizard, Krzysztof Magusiak (krma), Ajit Singh, hatr-odoo, oumaima-aarabe, “Victoria, soza-odoo
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:51:40
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - contacts
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - base_vat
    - account
    - onboarding
    - product
    - uom
    - analytic
    - portal
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Add a new model named "Identification Type" that extend the vat field functionality in the partner and let the user to identify (an eventually invoice) to contacts not only with their fiscal tax ID (VAT) but with other types of identifications like national document, passport, foreign ID, etc. With this module installed you will see now in the partner form view two fields:

* Identification Type
* Identification Number

This behavior is a common requirement for some latam countries like Argentina and Chile. If your localization has this requirements then you need to depend on this module and define in your localization module the identifications types that are used in your country. Generally these types of identifications are defined by the government authorities that regulate the fiscal operations. For example:

* ARCA in Argentina defines DNI, CUIT (vat for legal entities), CUIL (vat for natural person), and another 80 valid identification types.

Each identification holds this information:

* name: short name of the identification
* description: could be the same short name or a long name
* country_id: the country where this identification belongs
* is_vat: identify this record as the corresponding VAT for the specific country.
* sequence: let us to sort the identification types depending on the ones that are most used.
* active: we can activate/inactivate identifications to make it easier to our customers

In order to make this module compatible for multi-company environments where we have companies that does not need/support this requirement, we have added generic identification types and generic rules to manage the contact information and make it transparent for the user when only use the VAT as we formerly know.

Generic Identifications:

* VAT: The Fiscal Tax Identification or VAT number, by default will be selected as identification type so the user will only need to add the related vat number.
* Passport
* Foreign ID (Foreign National Document)

Rules when creating a new partner: We will only see the identification types that are meaningful, taking into account these rules:

* If the partner have not country address set: Will show the generic identification types plus the ones defined in the partner's related company country (If the partner has not specific company then will show the identification types related to the current user company)

* If the partner has country address: will show the generic identification types plus the ones defined for the country of the partner.

When creating a new company, will set to the related partner always the related country is_vat identification type.

All the defined identification types can be reviewed and activate/deactivate in "Contacts / Configuration / Identification Type" menu.

This module is compatible with base_vat module in order to be able to validate VAT numbers for each country that have or not have the possibility to manage multiple identification types.

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
address_form_fields address_form_fields ir.ui.view qweb Inherits portal.address_form_fields
view_l10n_latam_identification_type_search l10n_latam.identification.type.search l10n_latam.identification.type search New
view_l10n_latam_identification_type_tree l10n_latam.identification.type.list l10n_latam.identification.type list New
view_partner_latam_form view_partner_latam_form res.partner xpath Inherits base_vat.view_partner_base_vat_form
Models touched (3)

New fields (6)
  • active Boolean
    default=True
  • country_id Many2one → res.country
    args: 'res.country'
  • description Char
    translate=True
  • is_vat Boolean
  • name Char
    required=True translate=True
  • sequence Integer
    default=10
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • create(self, vals_list)
    @api.model_create_multi
    If exists, use specific vat identification.type for the country of the company

New fields (3)
  • is_vat Boolean
    related='l10n_latam_identification_type_id.is_vat'
  • l10n_latam_identification_type_id Many2one → l10n_latam.identification.type
    bypass_search_access=True default=<expr> help='The type of identification' index='btree_not_null' inverse='_inverse_vat' string='Identification Type' args: 'l10n_latam.identification.type'
  • vat Char
    help='Identification Number for selected type' string='Identification Number'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/18.0/l10n_latam_base
VERSION
VERSION 1.0
CATEGORY
CATEGORYAccounting/Localizations
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo S.A., ADHOC SA
MAINTAINERS
MAINTAINERSOdoo S.A., ADHOC SA
COMMITTERS
COMMITTERSOdoo Translation Bot, Gorash, Andrew Gavgavian, Antoine Boonen, Dylan Kiss (dyki), Mahdi Cheikh Rouhou (macr), Julia Elizondo
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:25:53
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - contacts
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - base_vat
    - account
    - onboarding
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Add a new model named "Identification Type" that extend the vat field functionality in the partner and let the user to identify (an eventually invoice) to contacts not only with their fiscal tax ID (VAT) but with other types of identifications like national document, passport, foreign ID, etc. With this module installed you will see now in the partner form view two fields:

* Identification Type
* Identification Number

This behavior is a common requirement for some latam countries like Argentina and Chile. If your localization has this requirements then you need to depend on this module and define in your localization module the identifications types that are used in your country. Generally these types of identifications are defined by the government authorities that regulate the fiscal operations. For example:

* AFIP in Argentina defines DNI, CUIT (vat for legal entities), CUIL (vat for natural person), and another 80 valid identification types.

Each identification holds this information:

* name: short name of the identification
* description: could be the same short name or a long name
* country_id: the country where this identification belongs
* is_vat: identify this record as the corresponding VAT for the specific country.
* sequence: let us to sort the identification types depending on the ones that are most used.
* active: we can activate/inactivate identifications to make it easier to our customers

In order to make this module compatible for multi-company environments where we have companies that does not need/support this requirement, we have added generic identification types and generic rules to manage the contact information and make it transparent for the user when only use the VAT as we formerly know.

Generic Identifications:

* VAT: The Fiscal Tax Identification or VAT number, by default will be selected as identification type so the user will only need to add the related vat number.
* Passport
* Foreign ID (Foreign National Document)

Rules when creating a new partner: We will only see the identification types that are meaningful, taking into account these rules:

* If the partner have not country address set: Will show the generic identification types plus the ones defined in the partner's related company country (If the partner has not specific company then will show the identification types related to the current user company)

* If the partner has country address: will show the generic identification types plus the ones defined for the country of the partner.

When creating a new company, will set to the related partner always the related country is_vat identification type.

All the defined identification types can be reviewed and activate/deactivate in "Contacts / Configuration / Identification Type" menu.

This module is compatible with base_vat module in order to be able to validate VAT numbers for each country that have or not have the possibility to manage multiple identification types.

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
view_l10n_latam_identification_type_search l10n_latam.identification.type.search l10n_latam.identification.type search New
view_l10n_latam_identification_type_tree l10n_latam.identification.type.list l10n_latam.identification.type list New
view_partner_latam_form view_partner_latam_form res.partner xpath Inherits base_vat.view_partner_base_vat_form
Models touched (3)

New fields (6)
  • active Boolean
    default=True
  • country_id Many2one → res.country
    args: 'res.country'
  • description Char
    translate=True
  • is_vat Boolean
  • name Char
    required=True translate=True
  • sequence Integer
    default=10
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • create(self, vals_list)
    @api.model_create_multi
    If exists, use specific vat identification.type for the country of the company

New fields (2)
  • l10n_latam_identification_type_id Many2one → l10n_latam.identification.type
    auto_join=True default=<expr> help='The type of identification' index='btree_not_null' string='Identification Type' args: 'l10n_latam.identification.type'
  • vat Char
    help='Identification Number for selected type' string='Identification Number'
Public methods (1)
  • check_vat(self)
    @api.constrains('vat', 'l10n_latam_identification_type_id')
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/17.0/l10n_latam_base
VERSION
VERSION 1.0
CATEGORY
CATEGORYAccounting/Localizations
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo S.A., ADHOC SA
MAINTAINERS
MAINTAINERSOdoo S.A., ADHOC SA
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Denis Ledoux, Rémy Voet (ryv), Gorash, momegahed, Florian(flg), niyasraphy, Louis Wicket (wil), Maximilien (malb), Antoine Boonen, Dylan Kiss (dyki), Mahdi Cheikh Rouhou (macr), Julia Elizondo
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:02:04
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - contacts
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - base_vat
    - account
    - onboarding
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Add a new model named "Identification Type" that extend the vat field functionality in the partner and let the user to identify (an eventually invoice) to contacts not only with their fiscal tax ID (VAT) but with other types of identifications like national document, passport, foreign ID, etc. With this module installed you will see now in the partner form view two fields:

* Identification Type
* Identification Number

This behavior is a common requirement for some latam countries like Argentina and Chile. If your localization has this requirements then you need to depend on this module and define in your localization module the identifications types that are used in your country. Generally these types of identifications are defined by the government authorities that regulate the fiscal operations. For example:

* AFIP in Argentina defines DNI, CUIT (vat for legal entities), CUIL (vat for natural person), and another 80 valid identification types.

Each identification holds this information:

* name: short name of the identification
* description: could be the same short name or a long name
* country_id: the country where this identification belongs
* is_vat: identify this record as the corresponding VAT for the specific country.
* sequence: let us to sort the identification types depending on the ones that are most used.
* active: we can activate/inactivate identifications to make it easier to our customers

In order to make this module compatible for multi-company environments where we have companies that does not need/support this requirement, we have added generic identification types and generic rules to manage the contact information and make it transparent for the user when only use the VAT as we formerly know.

Generic Identifications:

* VAT: The Fiscal Tax Identification or VAT number, by default will be selected as identification type so the user will only need to add the related vat number.
* Passport
* Foreign ID (Foreign National Document)

Rules when creating a new partner: We will only see the identification types that are meaningful, taking into account these rules:

* If the partner have not country address set: Will show the generic identification types plus the ones defined in the partner's related company country (If the partner has not specific company then will show the identification types related to the current user company)

* If the partner has country address: will show the generic identification types plus the ones defined for the country of the partner.

When creating a new company, will set to the related partner always the related country is_vat identification type.

All the defined identification types can be reviewed and activate/deactivate in "Contacts / Configuration / Identification Type" menu.

This module is compatible with base_vat module in order to be able to validate VAT numbers for each country that have or not have the possibility to manage multiple identification types.

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
view_l10n_latam_identification_type_search l10n_latam.identification.type.search l10n_latam.identification.type search New
view_l10n_latam_identification_type_tree l10n_latam.identification.type.tree l10n_latam.identification.type tree New
view_partner_latam_form view_partner_latam_form res.partner xpath Inherits base_vat.view_partner_base_vat_form
Models touched (3)

New fields (6)
  • active Boolean
    default=True
  • country_id Many2one → res.country
    args: 'res.country'
  • description Char
    translate=True
  • is_vat Boolean
  • name Char
    required=True translate=True
  • sequence Integer
    default=10
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • create(self, vals_list)
    @api.model_create_multi
    If exists, use specific vat identification.type for the country of the company

New fields (2)
  • l10n_latam_identification_type_id Many2one → l10n_latam.identification.type
    auto_join=True default=<expr> help='The type of identification' index='btree_not_null' string='Identification Type' args: 'l10n_latam.identification.type'
  • vat Char
    help='Identification Number for selected type' string='Identification Number'
Public methods (1)
  • check_vat(self)
    @api.constrains('vat', 'l10n_latam_identification_type_id')
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/16.0/l10n_latam_base
VERSION
VERSION 1.0
CATEGORY
CATEGORYAccounting/Localizations
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSADHOC SA, Odoo
MAINTAINERS
MAINTAINERSADHOC SA, Odoo
COMMITTERS
COMMITTERSRaphael Collet, Fabien Pinckaers, Yannick Tivisse, Victor Feyens
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:46
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - contacts
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - base_vat
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Add a new model named "Identification Type" that extend the vat field functionality in the partner and let the user to identify (an eventually invoice) to contacts not only with their fiscal tax ID (VAT) but with other types of identifications like national document, passport, foreign ID, etc. With this module installed you will see now in the partner form view two fields:

* Identification Type
* Identification Number

This behavior is a common requirement for some latam countries like Argentina and Chile. If your localization has this requirements then you need to depend on this module and define in your localization module the identifications types that are used in your country. Generally these types of identifications are defined by the government authorities that regulate the fiscal operations. For example:

* AFIP in Argentina defines DNI, CUIT (vat for legal entities), CUIL (vat for natural person), and another 80 valid identification types.

Each identification holds this information:

* name: short name of the identification
* description: could be the same short name or a long name
* country_id: the country where this identification belongs
* is_vat: identify this record as the corresponding VAT for the specific country.
* sequence: let us to sort the identification types depending on the ones that are most used.
* active: we can activate/inactivate identifications to make it easier to our customers

In order to make this module compatible for multi-company environments where we have companies that does not need/support this requirement, we have added generic identification types and generic rules to manage the contact information and make it transparent for the user when only use the VAT as we formerly know.

Generic Identifications:

* VAT: The Fiscal Tax Identification or VAT number, by default will be selected as identification type so the user will only need to add the related vat number.
* Passport
* Foreign ID (Foreign National Document)

Rules when creating a new partner: We will only see the identification types that are meaningful, taking into account these rules:

* If the partner have not country address set: Will show the generic identification types plus the ones defined in the partner's related company country (If the partner has not specific company then will show the identification types related to the current user company)

* If the partner has country address : will show the generic identification types plus the ones defined for the country of the partner.

When creating a new company, will set to the related partner always the related country is_vat identification type.

All the defined identification types can be reviewed and activate/deactivate in "Contacts / Configuration / Identification Type" menu.

This module is compatible with base_vat module in order to be able to validate VAT numbers for each country that have or not have the possibility to manage multiple identification types.

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
view_l10n_latam_identification_type_search l10n_latam.identification.type.search l10n_latam.identification.type search New
view_l10n_latam_identification_type_tree l10n_latam.identification.type.tree l10n_latam.identification.type tree New
view_partner_latam_form view_partner_latam_form res.partner field Inherits base.view_partner_form
Models touched (3)

New fields (6)
  • active Boolean
    default=True
  • country_id Many2one → res.country
    args: 'res.country'
  • description Char
  • is_vat Boolean
  • name Char
    required=True translate=True
  • sequence Integer
    default=10
Public methods (1)
  • name_get(self)

New fields (0)

No new fields.

Public methods (1)
  • create(self, vals_list)
    @api.model_create_multi
    If exists, use specific vat identification.type for the country of the company

New fields (2)
  • l10n_latam_identification_type_id Many2one → l10n_latam.identification.type
    auto_join=True default=<expr> help='The type of identification' index='btree_not_null' string='Identification Type' args: 'l10n_latam.identification.type'
  • vat Char
    help='Identification Number for selected type' string='Identification Number'
Public methods (1)
  • check_vat(self)
    @api.constrains('vat', 'l10n_latam_identification_type_id')
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/15.0/l10n_latam_base
VERSION
VERSION 1.0
CATEGORY
CATEGORYAccounting/Localizations
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSADHOC SA, Odoo
MAINTAINERS
MAINTAINERSADHOC SA, Odoo
COMMITTERS
COMMITTERSDenis Ledoux, Xavier-Do, oco-odoo, Katherine Zaoral
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:25:26
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - contacts
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - base_vat
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Add a new model named "Identification Type" that extend the vat field functionality in the partner and let the user to identify (an eventually invoice) to contacts not only with their fiscal tax ID (VAT) but with other types of identifications like national document, passport, foreign ID, etc. With this module installed you will see now in the partner form view two fields:

* Identification Type
* Identification Number

This behavior is a common requirement for some latam countries like Argentina and Chile. If your localization has this requirements then you need to depend on this module and define in your localization module the identifications types that are used in your country. Generally these types of identifications are defined by the government authorities that regulate the fiscal operations. For example:

* AFIP in Argentina defines DNI, CUIT (vat for legal entities), CUIL (vat for natural person), and another 80 valid identification types.

Each identification holds this information:

* name: short name of the identification
* description: could be the same short name or a long name
* country_id: the country where this identification belongs
* is_vat: identify this record as the corresponding VAT for the specific country.
* sequence: let us to sort the identification types depending on the ones that are most used.
* active: we can activate/inactivate identifications to make it easier to our customers

In order to make this module compatible for multi-company environments where we have companies that does not need/support this requirement, we have added generic identification types and generic rules to manage the contact information and make it transparent for the user when only use the VAT as we formerly know.

Generic Identifications:

* VAT: The Fiscal Tax Identification or VAT number, by default will be selected as identification type so the user will only need to add the related vat number.
* Passport
* Foreign ID (Foreign National Document)

Rules when creating a new partner: We will only see the identification types that are meaningful, taking into account these rules:

* If the partner have not country address set: Will show the generic identification types plus the ones defined in the partner's related company country (If the partner has not specific company then will show the identification types related to the current user company)

* If the partner has country address : will show the generic identification types plus the ones defined for the country of the partner.

When creating a new company, will set to the related partner always the related country is_vat identification type.

All the defined identification types can be reviewed and activate/deactivate in "Contacts / Configuration / Identification Type" menu.

This module is compatible with base_vat module in order to be able to validate VAT numbers for each country that have or not have the possibility to manage multiple identification types.

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
view_l10n_latam_identification_type_search l10n_latam.identification.type.search l10n_latam.identification.type search New
view_l10n_latam_identification_type_tree l10n_latam.identification.type.tree l10n_latam.identification.type tree New
view_partner_latam_form view_partner_latam_form res.partner field Inherits base.view_partner_form
Models touched (3)

New fields (6)
  • active Boolean
    default=True
  • country_id Many2one → res.country
    args: 'res.country'
  • description Char
  • is_vat Boolean
  • name Char
    required=True translate=True
  • sequence Integer
    default=10
Public methods (1)
  • name_get(self)

New fields (0)

No new fields.

Public methods (1)
  • create(self, vals)
    @api.model
    If exists, use specific vat identification.type for the country of the company

New fields (2)
  • l10n_latam_identification_type_id Many2one → l10n_latam.identification.type
    auto_join=True default=<expr> help='The type of identification' index=True string='Identification Type' args: 'l10n_latam.identification.type'
  • vat Char
    help='Identification Number for selected type' string='Identification Number'
Public methods (1)
  • check_vat(self)
    @api.constrains('vat', 'l10n_latam_identification_type_id')
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/14.0/l10n_latam_base
VERSION
VERSION 1.0
CATEGORY
CATEGORYAccounting/Localizations
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSADHOC SA, Odoo
MAINTAINERS
MAINTAINERSADHOC SA, Odoo
COMMITTERS
COMMITTERSMartin Trigaux, Denis Ledoux, Christophe Simonis, Yannick Tivisse, Xavier-Do, Katherine Zaoral, Nikunj Ladava
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:14:27
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - contacts
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - base_vat
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Add a new model named "Identification Type" that extend the vat field functionality in the partner and let the user to identify (an eventually invoice) to contacts not only with their fiscal tax ID (VAT) but with other types of identifications like national document, passport, foreign ID, etc. With this module installed you will see now in the partner form view two fields:

* Identification Type
* Identification Number

This behavior is a common requirement for some latam countries like Argentina and Chile. If your localization has this requirements then you need to depend on this module and define in your localization module the identifications types that are used in your country. Generally these types of identifications are defined by the government authorities that regulate the fiscal operations. For example:

* AFIP in Argentina defines DNI, CUIT (vat for legal entities), CUIL (vat for natural person), and another 80 valid identification types.

Each identification holds this information:

* name: short name of the identification
* description: could be the same short name or a long name
* country_id: the country where this identification belongs
* is_vat: identify this record as the corresponding VAT for the specific country.
* sequence: let us to sort the identification types depending on the ones that are most used.
* active: we can activate/inactivate identifications to make it easier to our customers

In order to make this module compatible for multi-company environments where we have companies that does not need/support this requirement, we have added generic identification types and generic rules to manage the contact information and make it transparent for the user when only use the VAT as we formerly know.

Generic Identifications:

* VAT: The Fiscal Tax Identification or VAT number, by default will be selected as identification type so the user will only need to add the related vat number.
* Passport
* Foreign ID (Foreign National Document)

Rules when creating a new partner: We will only see the identification types that are meaningful, taking into account these rules:

* If the partner have not country address set: Will show the generic identification types plus the ones defined in the partner's related company country (If the partner has not specific company then will show the identification types related to the current user company)

* If the partner has country address : will show the generic identification types plus the ones defined for the country of the partner.

When creating a new company, will set to the related partner always the related country is_vat identification type.

All the defined identification types can be reviewed and activate/deactivate in "Contacts / Configuration / Identification Type" menu.

This module is compatible with base_vat module in order to be able to validate VAT numbers for each country that have or not have the possibility to manage multiple identification types.

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
view_l10n_latam_identification_type_search l10n_latam.identification.type.search l10n_latam.identification.type search New
view_l10n_latam_identification_type_tree l10n_latam.identification.type.tree l10n_latam.identification.type tree New
view_partner_latam_form view_partner_latam_form res.partner field Inherits base.view_partner_form
Models touched (3)

New fields (6)
  • active Boolean
    default=True
  • country_id Many2one → res.country
    args: 'res.country'
  • description Char
  • is_vat Boolean
  • name Char
    required=True translate=True
  • sequence Integer
    default=10
Public methods (1)
  • name_get(self)

New fields (0)

No new fields.

Public methods (1)
  • create(self, vals)
    @api.model
    If exists, use specific vat identification.type for the country of the company

New fields (2)
  • l10n_latam_identification_type_id Many2one → l10n_latam.identification.type
    auto_join=True default=<expr> help='The type of identification' index=True string='Identification Type' args: 'l10n_latam.identification.type'
  • vat Char
    help='Identification Number for selected type' string='Identification Number'
Public methods (1)
  • check_vat(self)
    @api.constrains('vat', 'l10n_latam_identification_type_id')
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/13.0/l10n_latam_base
VERSION
VERSION 1.0
CATEGORY
CATEGORYLocalization
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSADHOC SA, Odoo
MAINTAINERS
MAINTAINERSADHOC SA, Odoo
COMMITTERS
COMMITTERSMartin Trigaux, Josse Colpaert, Denis Ledoux, Christophe Simonis, Xavier-Do, Katherine Zaoral, Nikunj Ladava
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:06:41
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - contacts
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - base_vat
    - account
    - product
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Add a new model named "Identification Type" that extend the vat field functionality in the partner and let the user to identify (an eventually invoice) to contacts not only with their fiscal tax ID (VAT) but with other types of identifications like national document, passport, foreign ID, etc. With this module installed you will see now in the partner form view two fields:

* Identification Type
* Identification Number

This behavior is a common requirement for some latam countries like Argentina and Chile. If your localization has this requirements then you need to depend on this module and define in your localization module the identifications types that are used in your country. Generally these types of identifications are defined by the government authorities that regulate the fiscal operations. For example:

* AFIP in Argentina defines DNI, CUIT (vat for legal entities), CUIL (vat for natural person), and another 80 valid identification types.

Each identification holds this information:

* name: short name of the identification
* description: could be the same short name or a long name
* country_id: the country where this identification belongs
* is_vat: identify this record as the corresponding VAT for the specific country.
* sequence: let us to sort the identification types depending on the ones that are most used.
* active: we can activate/inactivate identifications to make it easier to our customers

In order to make this module compatible for multi-company environments where we have companies that does not need/support this requirement, we have added generic identification types and generic rules to manage the contact information and make it transparent for the user when only use the VAT as we formerly know.

Generic Identifications:

* VAT: The Fiscal Tax Identification or VAT number, by default will be selected as identification type so the user will only need to add the related vat number.
* Passport
* Foreign ID (Foreign National Document)

Rules when creating a new partner: We will only see the identification types that are meaningful, taking into account these rules:

* If the partner have not country address set: Will show the generic identification types plus the ones defined in the partner's related company country (If the partner has not specific company then will show the identification types related to the current user company)

* If the partner has country address : will show the generic identification types plus the ones defined for the country of the partner.

When creating a new company, will set to the related partner always the related country is_vat identification type.

All the defined identification types can be reviewed and activate/deactivate in "Contacts / Configuration / Identification Type" menu.

This module is compatible with base_vat module in order to be able to validate VAT numbers for each country that have or not have the possibility to manage multiple identification types.

Code Analysis

Views touched (3)
XML IDNameModelTypeStatus
view_l10n_latam_identification_type_search l10n_latam.identification.type.search l10n_latam.identification.type search New
view_l10n_latam_identification_type_tree l10n_latam.identification.type.tree l10n_latam.identification.type tree New
view_partner_latam_form view_partner_latam_form res.partner field Inherits base.view_partner_form
Models touched (3)

New fields (6)
  • active Boolean
    default=True
  • country_id Many2one → res.country
    args: 'res.country'
  • description Char
  • is_vat Boolean
  • name Char
    required=True translate=True
  • sequence Integer
    default=10
Public methods (1)
  • name_get(self)

New fields (0)

No new fields.

Public methods (1)
  • create(self, vals)
    @api.model
    If exists, use specific vat identification.type for the country of the company

New fields (2)
  • l10n_latam_identification_type_id Many2one → l10n_latam.identification.type
    auto_join=True default=<expr> help='The type of identification' index=True string='Identification Type' args: 'l10n_latam.identification.type'
  • vat Char
    help='Identification Number for selected type' string='Identification Number'
Public methods (1)
  • check_vat(self)
    @api.constrains('vat', 'l10n_latam_identification_type_id')