Colombia - VAT Validation
This module extends the functionality of the VAT validation in Odoo to support Colombian tax identification numbers (NIT and Cédula).
By default, Odoo does not include a validator for Colombian VAT numbers, which causes constraint errors when saving partners with a Colombian country set. This module adds a check_vat_co method that Odoo automatically picks up during its standard validation flow, accepting any numeric identifier between 3 and 11 digits.
Table of contents
Use Cases / Context
Business Need
In Colombia, partners (companies and individuals) are identified by their NIT (Número de Identificación Tributaria) or Cédula. Odoo’s standard VAT validation does not include a Colombian validator, so saving a partner with country_id set to Colombia raises a ValidationError — even when the entered number is perfectly valid locally. This blocks normal data entry workflows for any Colombian company using Odoo.
Approach
This module adds a check_vat_co method to res.partner, which is the exact hook Odoo’s simple_vat_check looks for dynamically. It strips non-numeric characters (dots, hyphens, spaces) and accepts any identifier between 3 and 11 digits, covering both NIT (up to 10 digits + check digit) and Cédula formats. No changes to existing views or workflows are required — the validator is picked up automatically by Odoo’s constraint engine.
Useful Information
Depends on: base, account (for the VAT constraint logic in res.partner)
Works well with: l10n_co (Colombian chart of accounts) and any module that creates or imports partners with Colombian fiscal data
Suggested setup: recommended for any Odoo instance where the primary operating country is Colombia, or in multicompany setups that include at least one Colombian legal entity
Usage
This module does not impact the user interface.
It works automatically in the background: once installed, Odoo will accept Colombian NIT and Cédula numbers without raising a validation error when the partner’s country is set to Colombia.
Changelog
18.0.1.0.0 (2026-06-04)
[ADD] Initial release. Added l10n_co_check_vat validator for Colombian NIT and Cédula numbers, accepting numeric identifiers between 3 and 11 digits.
Bug Tracker
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.
Do not contact contributors directly about support or help with technical issues.
Credits
Contributors
Juan Arcos juanparmer@gmail.com
Maintainers
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
Current maintainer:
This module is part of the OCA/l10n-colombia project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
Metadata
Release files for odoo-addon-l10n-co-check-vat 18.0.1.0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| odoo_addon_l10n_co_check_vat-18.0.1.0.0.2-py3-none-any.whl | Python 3 | none | any | Details for odoo_addon_l10n_co_check_vat-18.0.1.0.0.2-py3-none-any.whl |
Release files / odoo_addon_l10n_co_check_vat-18.0.1.0.0.2-py3-none-any.whl
| Download URL | odoo_addon_l10n_co_check_vat-18.0.1.0.0.2-py3-none-any.whl |
|---|---|
| Size | 25.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b4e0e4749ede5a8a204d8e02c2734f3bdb6460f8853454f552ac91d469b49eb8
|
|
BLAKE2b-256 checksum How to use checksums |
d74c127e4eb6a3cfd184f060d96e11769097c73ab75c05e661df99ef15c064a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Security for odoo-addon-l10n-co-check-vat 18.0.1.0.0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.