I added two many2one mandatory fields (taxid_type and taxpayer_type) to the Partner model. Just one of these is used in Company model(taxpayer_id).
I also created the _inverse_taxpayer method to syncronize the values from res.partner to res.company and inherited the create method from res.company to do the inverse syncronization.
Now I'm having a problem. The Vat field must be constrained in res.partner according to taxid_type when creating contacts type company. But this same field in res.company just must have a constraint, its length must be igual to 13. When I install the module and configure the vat in res.company form, I'm having the next error
File "/home/odoo/odoo13/extra-addons/custommodules/mymodule/models/partner.py", line 35, in check_vat
    if len(record.vat) < 13:
TypeError: object of type 'bool' has no len()This is my partner.py module
class Partner(models.Model):
    _inherit = 'res.partner'
    taxid_type = fields.Many2one('lec.taxid.type', string='TaxID Type')
    taxpayer_type = fields.Many2one('lec.taxpayer.type', string='Tax Payer Type')
    @api.constrains('vat', 'taxid_type', 'taxpayer_type')
    def check_vat(self):
        for record in self:
            if len(record.vat) < 13:
                raise ValidationError('Tax id is minor than allowed partner')
            elif len(record.vat) > 13:
                raise ValidationError('Tax id is major than allowed')
And this is my company.py module
class Company(models.Model):
    _inherit = 'res.company'
    taxpayer_type = fields.Many2one('lec.taxpayer.type', related='partner_id.taxpayer_type', string='Tax Payer Type', compute='_compute_taxpayertype', inverse='_inverse_taxpayer')
    @api.constrains('vat')
    def check_vat(self):
        if len(self.vat) < 13:
            raise UserError('tax id is minor than allowed company')
        elif len(self.vat) > 13:
            raise UserError('tax id is major than allowed')
    
    #The next method returns the value inserted in res.partner to res.company and assign to the corresponding field
    def _inverse_taxpayer(self):
        for company in self:
            company.partner_id.taxpayer_type = company.taxpayer_type
    #The next method set the value inserted in res.company to res.partner and assign to the corresponding field
    # partner's contact payertype
    @api.model
    def create(self, vals):
        if not vals.get('name') or vals.get('partner_id'):
            self.clear_caches()
            return super(Company, self).create(vals)
        partner = self.env['res.partner'].create({
            'taxpayer_type': vals.get('taxpayer_type'),
        })
        # compute stored fields, for example address dependent fields
        partner.flush()
        vals['partner_id'] = partner.id
        self.clear_caches()
        company = super(Company, self).create(vals)
        return company
Does anyone know how can I solve this problem and achieve my objective
