From ad368da48332cc4744683f74124c7d3987c10ce3 Mon Sep 17 00:00:00 2001 From: "Audric Onockx (auon)" Date: Wed, 12 Jan 2022 10:59:24 +0000 Subject: [PATCH] [FIX] l10n_it_edi_sdicoop : forbid negative qties in ita invoices Steps : - Install l10n_it_edi_sdicoop - Create an invoice with a line with a negative qty. Issue : - Error : File non valido Fix : - Forbid negative qties. opw-2699722 closes odoo/odoo#82988 X-original-commit: 44cd460dafcb0fd1eca548eb0bb7701934a33a92 Signed-off-by: Josse Colpaert Signed-off-by: Onockx Audric (auon) --- addons/l10n_it_edi/models/account_edi_format.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/addons/l10n_it_edi/models/account_edi_format.py b/addons/l10n_it_edi/models/account_edi_format.py index 9b16fbc8576..577b8e077e5 100644 --- a/addons/l10n_it_edi/models/account_edi_format.py +++ b/addons/l10n_it_edi/models/account_edi_format.py @@ -102,6 +102,9 @@ class AccountEdiFormat(models.Model): if not invoice_line.display_type and len(invoice_line.tax_ids) != 1: raise UserError(_("You must select one and only one tax by line.")) + if any(line.quantity < 0 for line in invoice.invoice_line_ids): + errors.append(_("All quantities should be positive.")) + for tax_line in invoice.line_ids.filtered(lambda line: line.tax_line_id): if not tax_line.tax_line_id.l10n_it_kind_exoneration and tax_line.tax_line_id.amount == 0: errors.append(_("%s has an amount of 0.0, you must indicate the kind of exoneration.", tax_line.name))