diff --git a/odoo/addons/base/models/res_partner.py b/odoo/addons/base/models/res_partner.py
index bffac385a87..603fbd6c4d2 100644
--- a/odoo/addons/base/models/res_partner.py
+++ b/odoo/addons/base/models/res_partner.py
@@ -162,6 +162,7 @@ class Partner(models.Model):
user_id = fields.Many2one('res.users', string='Salesperson',
help='The internal user in charge of this contact.')
vat = fields.Char(string='Tax ID', help="The Tax Identification Number. Complete it if the contact is subjected to government taxes. Used in some legal statements.")
+ same_vat_partner = fields.Html(string='Partner with same TIN', compute='_compute_same_vat_partner', store=False) # this needs to be a html and not a m2o because the link needs to be created for unexisting records and the framework doenst manage that
bank_ids = fields.One2many('res.partner.bank', 'partner_id', string='Banks')
website = fields.Char('Website Link')
comment = fields.Text(string='Notes')
@@ -261,6 +262,19 @@ class Partner(models.Model):
for partner in self:
partner.partner_share = not partner.user_ids or not any(not user.share for user in partner.user_ids)
+ @api.depends('vat')
+ def _compute_same_vat_partner(self):
+ for partner in self:
+ partner_id = partner.id
+ if isinstance(partner_id, models.NewId):
+ # deal with onchange(), which is always called on a single record
+ partner_id = self._origin.id
+ domain = [('vat', '=', partner.vat)]
+ if partner_id:
+ domain += [('id', '!=', partner_id), '!', ('id', 'child_of', partner_id)]
+ same_vat_partner = self.env['res.partner'].search(domain, limit=1)
+ partner.same_vat_partner = partner.vat and not partner.parent_id and same_vat_partner and "{}".format(same_vat_partner.id, same_vat_partner.name) or False
+
@api.depends(lambda self: self._display_address_depends())
def _compute_contact_address(self):
for partner in self:
diff --git a/odoo/addons/base/views/res_partner_views.xml b/odoo/addons/base/views/res_partner_views.xml
index aca476cb0e9..ff7f6a37c8f 100644
--- a/odoo/addons/base/views/res_partner_views.xml
+++ b/odoo/addons/base/views/res_partner_views.xml
@@ -199,6 +199,9 @@