Initial commit: Odoo 18.0-20251222 extra-addons
This commit is contained in:
36
account_fiscal_position_vat_check/models/account_move.py
Executable file
36
account_fiscal_position_vat_check/models/account_move.py
Executable file
@@ -0,0 +1,36 @@
|
||||
# Copyright 2013-2020 Akretion France (https://akretion.com/)
|
||||
# @author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo import _, models
|
||||
from odoo.exceptions import UserError
|
||||
|
||||
|
||||
class AccountMove(models.Model):
|
||||
_inherit = "account.move"
|
||||
|
||||
def _post(self, soft=True):
|
||||
"""Check that the customer has VAT set if required by the
|
||||
fiscal position"""
|
||||
for move in self:
|
||||
if (
|
||||
move.move_type in ("out_invoice", "out_refund")
|
||||
and move.fiscal_position_id.vat_required
|
||||
and not move.commercial_partner_id.vat
|
||||
):
|
||||
raise UserError(
|
||||
_(
|
||||
"You are trying to validate a customer "
|
||||
"invoice/refund with the fiscal position '%(fp)s' "
|
||||
"that require the customer to have a VAT number. "
|
||||
"But the partner '%(rp)s' "
|
||||
"doesn't have a VAT number in Odoo. "
|
||||
"Please add the VAT number of this partner in Odoo "
|
||||
"and try to validate again."
|
||||
)
|
||||
% {
|
||||
"fp": move.fiscal_position_id.display_name,
|
||||
"rp": move.commercial_partner_id.display_name,
|
||||
}
|
||||
)
|
||||
return super()._post(soft=soft)
|
||||
Reference in New Issue
Block a user