mirror of
https://github.com/OCA/account-financial-tools.git
synced 2025-02-02 12:47:26 +02:00
@@ -13,6 +13,7 @@
|
||||
"depends": ["account", "base_vat"],
|
||||
"data": [
|
||||
"views/account_fiscal_position.xml",
|
||||
"views/res_partner.xml",
|
||||
],
|
||||
"installable": True,
|
||||
}
|
||||
|
||||
@@ -1,28 +1,23 @@
|
||||
# Copyright 2013-2020 Akretion France (https://akretion.com/)
|
||||
# Copyright 2013-2022 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 _, api, models
|
||||
from odoo import api, fields, models
|
||||
|
||||
|
||||
class ResPartner(models.Model):
|
||||
_inherit = "res.partner"
|
||||
|
||||
@api.onchange("property_account_position_id")
|
||||
def fiscal_position_change(self):
|
||||
"""Warning if the fiscal position requires a VAT number and the
|
||||
partner doesn't have one yet"""
|
||||
fp = self.property_account_position_id
|
||||
if fp.vat_required and not self.vat:
|
||||
return {
|
||||
"warning": {
|
||||
"title": _("Missing VAT number:"),
|
||||
"message": _(
|
||||
"You have set the fiscal position '%s' "
|
||||
"that require customers to have a VAT number. "
|
||||
"If you plan to use this partner as a customer, you "
|
||||
"should add its VAT number."
|
||||
show_warning_vat_required = fields.Boolean(
|
||||
compute="_compute_show_warning_vat_required"
|
||||
)
|
||||
% fp.display_name,
|
||||
}
|
||||
}
|
||||
|
||||
@api.depends("property_account_position_id", "vat")
|
||||
@api.depends_context("company")
|
||||
def _compute_show_warning_vat_required(self):
|
||||
for partner in self:
|
||||
show = False
|
||||
fp = partner.property_account_position_id
|
||||
if fp and fp.vat_required and not partner.vat:
|
||||
show = True
|
||||
partner.show_warning_vat_required = show
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
To configure this module, go to the menu *Invoicing > Configuration > Accounting
|
||||
> Fiscal Positions* and enable the option **VAT Required** on the relevant
|
||||
fiscal positions.
|
||||
|
||||
.. figure:: static/description/fiscal_position_form.png
|
||||
:alt: Fiscal Position form view
|
||||
|
||||
@@ -2,6 +2,9 @@ With this module, when a user tries to validate a customer invoice or refund
|
||||
with a fiscal position that requires VAT, Odoo blocks the validation of the invoice
|
||||
if the customer doesn't have a VAT number in Odoo.
|
||||
|
||||
.. figure:: static/description/vat_check_invoice_validation.png
|
||||
:alt: Error upon customer invoice validation
|
||||
|
||||
In the European Union (EU), when an EU company sends an invoice to
|
||||
another EU company in another country, it can invoice without VAT
|
||||
(most of the time) but the VAT number of the customer must be displayed
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
On the partner form view, Odoo will display a warning when a user sets
|
||||
a fiscal position that has the option **VAT Required** on a partner
|
||||
that doesn't have a VAT number yet.
|
||||
On the partner form view, Odoo will display a yellow warning banner
|
||||
when the partner has a fiscal position that has the option **VAT Required**
|
||||
but its VAT number is not set.
|
||||
|
||||
.. figure:: static/description/warning_banner_vat_required.png
|
||||
:alt: Warning Banner on partner form view
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 25 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 24 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 66 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 89 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 72 KiB |
36
account_fiscal_position_vat_check/views/res_partner.xml
Normal file
36
account_fiscal_position_vat_check/views/res_partner.xml
Normal file
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!--
|
||||
Copyright 2022 Akretion France (http://www.akretion.com/)
|
||||
@author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
-->
|
||||
<odoo>
|
||||
|
||||
<record id="view_partner_property_form" model="ir.ui.view">
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="account.view_partner_property_form" />
|
||||
<field
|
||||
name="groups_id"
|
||||
eval="[(4, ref('account.group_account_invoice')), (4, ref('account.group_account_readonly'))]"
|
||||
/>
|
||||
<field name="arch" type="xml">
|
||||
<div role="alert" position="after">
|
||||
<div
|
||||
class="alert alert-warning"
|
||||
role="alert"
|
||||
attrs="{'invisible': [('show_warning_vat_required', '=', False)]}"
|
||||
>
|
||||
<b>Missing VAT number</b>: this partner has the fiscal position <em
|
||||
><field
|
||||
name="property_account_position_id"
|
||||
readonly="1"
|
||||
/></em> that require to know the VAT number of the partner.
|
||||
</div>
|
||||
</div>
|
||||
<group name="fiscal_information" position="inside">
|
||||
<field name="show_warning_vat_required" invisible="1" />
|
||||
</group>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
Reference in New Issue
Block a user