OdooWiki OCA HUB

Partner Identification Numbers

partner_identification folder_open OCA/partner-contact open_in_new
Customer Relationship Management License: AGPL-3

This module allows to manage all sort of identification numbers and certificates which are assigned to a partner (company or individual) and vary from country to country.

  • Commercial register
  • VAT ID
  • Fiscal ID's
  • Membership numbers
  • Driver license
  • etc

auto_awesome What this module does

AI-generated from the code · Odoo 19.0

Store and track all kinds of identification numbers (VAT, fiscal IDs, driver licenses, memberships, etc.) for contacts, with categories, validity dates, statuses and optional validation rules.

This module adds a dedicated way to record identification numbers and certificates for any contact, whether a company or an individual. On each contact form you get a new "ID Numbers" tab where you can list as many IDs as needed.

  • Each ID line records the number itself, its category, who issued it, the place of issuance, the issue date, a validity period (valid from / valid until) and free notes.
  • Every ID has a status: New, Running, To Renew or Expired, shown as a coloured badge. Lines are colour-coded in lists (green for new/running, orange for to renew, red for expired).
  • ID numbers are tracked with a chatter, so changes and messages are logged, and activities can be scheduled on them.

Administrators configure the ID types under Contacts configuration, in a "Partner ID Numbers" menu with "Partner ID Categories" and "Partner ID Numbers". A category has a name, a code, a colour and an optional Python validation rule. That rule can, for example, require the number to contain only digits, to have a maximum length, or to start with the category code; if it fails, saving is blocked with an error. A helper is also provided to detect and reject duplicate numbers of the same category already used by another contact.

A global list, kanban and search view of all ID numbers lets you filter by status, by validity dates (past, today, future), group by category, partner or dates, and see remaining days before expiry.

Depends on

contacts

Menus it adds

Partner ID Numbersmenu_partner_id_categorymenu_partner_id_numbers
Models and fields (3)
  • res.partner · extends an existing modelid_numbers (Identification Numbers)
  • res.partner.id_number · new modelname (ID Number), active, status, comment (Notes), partner_id (Partner), valid_from, category_id (Category), date_issued, valid_until, place_issuance (Place of Issuance), partner_issued_id (Issued by)
  • res.partner.id_category · new modelcode, name (ID name), color (Color Index), active, validation_code (Python validation code)

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 19.0

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

terminal Installation and usage

OCA documentation · Odoo 19.0

Configure all ID types you need in Contacts \> Configuration \> Partner ID Categories. For example, we create a category 'Driver License':

Name: Name of this ID type. For example, 'Driver License'

Code: Code, abbreviation or acronym of this ID type. For example, 'driver_license'

Python validation code: Optional python code called to validate ID numbers of this ID type. Set failed to True to reject the ID number with a generic error message. When the reason deserves a better explanation, raise a ValidationError instead.

This functionality can be overridden by setting id_no_validate to True in the context, such as:

partner.with_context(id_no_validate=True).write({
   'name': 'Bad Value',
   'category_id': self.env.ref('id_category_only_numerics').id,
})

In partner form you will see another tab called 'ID Numbers'. You can add any IDs to this partner, defining:

Category: ID type defined in configuration. For example, Driver License

ID Number: The ID itself. For example, Driver License number of this person

Issued by: Another partner, who issued this ID. For example, Traffic National Institution

Place of Issuance: The place where the ID has been issued. For example the country for passports and visa

Valid from: Issued date. For example, date when person approved his driving exam, 21/10/2009

Valid until: Expiration date. For example, date when person needs to renew his driver license, 21/10/2019

Status: ID status. For example new/to renew/expired

Notes: Any further information related with this ID. For example, vehicle types this person can drive

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.