diff --git a/.~lock.shop_daily_category.fodt# b/.~lock.shop_daily_category.fodt# deleted file mode 100644 index 3392921..0000000 --- a/.~lock.shop_daily_category.fodt# +++ /dev/null @@ -1 +0,0 @@ -,presik,presik,21.04.2023 14:15,file:///home/presik/.config/libreoffice/4; \ No newline at end of file diff --git a/sale.py b/sale.py index 621c042..3c71300 100644 --- a/sale.py +++ b/sale.py @@ -24,6 +24,7 @@ from .exceptions import ( SaleForceDraftError, SaleDeviceError, DraftStatementError, PartyMissingAccount ) +from trytond.model.exceptions import AccessError from trytond.modules.sale.exceptions import SaleValidationError _ZERO = Decimal('0.00') @@ -322,6 +323,15 @@ class Sale(metaclass=PoolMeta): invoice_lines = list(invoice.lines) + invoice_lines invoice.lines = invoice_lines invoice.turn = self._get_turn() + invoice.shop = self.shop + if invoice.shop and invoice.shop.tax_exempt: + for line in invoice.lines: + if not line.product.account_category.account_other_income: + raise AccessError( + gettext('sale_shop.msg_dont_account_other_income', + product=line.product.rec_name)) + line.account = line.product.account_category.account_other_income + invoice.save() Invoice.update_taxes([invoice]) self.copy_resources_to(invoice)