# -*- coding: utf-8 -*- # © 2013-2016 Akretion (Alexis de Lattre ) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from odoo import models, api, _ from odoo.exceptions import UserError class AccountInvoice(models.Model): _inherit = 'account.invoice' @api.multi def action_move_create(self): """Check that the customer has VAT set if required by the fiscal position""" for invoice in self: if ( invoice.type in ('out_invoice', 'out_refund') and invoice.fiscal_position_id.vat_required and not invoice.partner_id.vat): raise UserError(_( "You are trying to validate a customer invoice/refund " "with the fiscal position '%s' that require the customer " "to have a VAT number. But the Customer '%s' doesn't have " "a VAT number in Odoo. Please add the VAT number of this " "Customer in Odoo and try to validate again.") % ( invoice.fiscal_position_id.name, invoice.partner_id.name_get()[0][1])) return super(AccountInvoice, self).action_move_create()