diff --git a/pms/__manifest__.py b/pms/__manifest__.py
index a14528989..ce1b011e1 100644
--- a/pms/__manifest__.py
+++ b/pms/__manifest__.py
@@ -90,6 +90,7 @@
"views/precheckin_portal_templates.xml",
"wizards/wizard_massive_changes.xml",
"wizards/wizard_advanced_filters.xml",
+ "views/res_partner_id_category.xml",
"views/payment_transaction_views.xml",
"views/account_move_line_views.xml",
],
diff --git a/pms/models/__init__.py b/pms/models/__init__.py
index 8ee809acd..f70ee90e0 100644
--- a/pms/models/__init__.py
+++ b/pms/models/__init__.py
@@ -46,3 +46,4 @@ from . import pms_availability
from . import res_partner_id_number
from . import pms_automated_mails
from . import payment_transaction
+from . import res_partner_id_category
diff --git a/pms/models/res_partner.py b/pms/models/res_partner.py
index e165317c9..8c35dcae3 100644
--- a/pms/models/res_partner.py
+++ b/pms/models/res_partner.py
@@ -198,7 +198,11 @@ class ResPartner(models.Model):
vat_document_types = [
("vat", _("VAT")),
]
- document_categories = self.env["res.partner.id_category"].search([])
+ document_categories = self.env["res.partner.id_category"].search(
+ [
+ ("is_vat_equivalent", "=", False),
+ ]
+ )
for doc_type in document_categories:
vat_document_types.append((doc_type.name, doc_type.name))
return vat_document_types
@@ -444,7 +448,6 @@ class ResPartner(models.Model):
def _compute_vat_document_type(self):
self.vat_document_type = False
for record in self.filtered("vat"):
- record.vat_document_type = "vat"
document = record.id_numbers.filtered("vat_syncronized")
if document:
if len(document) > 1:
@@ -452,7 +455,13 @@ class ResPartner(models.Model):
_("There is more than one document with vat syncronized")
)
if record.vat:
- record.vat_document_type = document.category_id.name
+ record.vat_document_type = (
+ document.category_id.name
+ if not document.category_id.is_vat_equivalent
+ else "vat"
+ )
+ else:
+ record.vat_document_type = "vat"
def action_partner_reservations(self):
self.ensure_one()
@@ -624,7 +633,7 @@ class ResPartner(models.Model):
document ids like passport, etc...
"""
for partner in self:
- if partner.vat_document_type and partner.vat_document_type != "vat":
+ if not partner.vat_document_type or partner.vat_document_type != "vat":
continue
else:
super(ResPartner, partner).check_vat()
diff --git a/pms/models/res_partner_id_category.py b/pms/models/res_partner_id_category.py
new file mode 100644
index 000000000..c54ea9488
--- /dev/null
+++ b/pms/models/res_partner_id_category.py
@@ -0,0 +1,11 @@
+from odoo import fields, models
+
+
+class ResPartnerIdCategory(models.Model):
+ _inherit = "res.partner.id_category"
+
+ is_vat_equivalent = fields.Boolean(
+ string="Is VAT Equivalent",
+ help="If true, this document type is check by vat number",
+ default=False,
+ )
diff --git a/pms/views/res_partner_id_category.xml b/pms/views/res_partner_id_category.xml
new file mode 100644
index 000000000..f5ae2792f
--- /dev/null
+++ b/pms/views/res_partner_id_category.xml
@@ -0,0 +1,15 @@
+
+
+
+ res.partner.id_category
+
+
+
+
+
+
+
+
diff --git a/pms_l10n_es/data/pms_data.xml b/pms_l10n_es/data/pms_data.xml
index f4ef78992..d2a2a896d 100644
--- a/pms_l10n_es/data/pms_data.xml
+++ b/pms_l10n_es/data/pms_data.xml
@@ -4,6 +4,7 @@
DNI
D
+ True
letters = {
0: "T",