details:   https://code.tryton.org/tryton/commit/cfb1a0f2add2
branch:    7.8
user:      Cédric Krier <[email protected]>
date:      Sat Mar 14 09:58:22 2026 +0100
description:
        Do not divide LineExtensionAmount by a quantity of zero from UBL invoice

        The unit price of such line can be the LineExtensionAmount.

        Closes #14673
        (grafted from 6cbd5ee8bd570898b24ff1ad7f9158e6dc770318)
diffstat:

 modules/edocument_ubl/edocument.py |  4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diffs (21 lines):

diff -r 463521825fef -r cfb1a0f2add2 modules/edocument_ubl/edocument.py
--- a/modules/edocument_ubl/edocument.py        Wed Mar 04 12:36:33 2026 +0100
+++ b/modules/edocument_ubl/edocument.py        Sat Mar 14 09:58:22 2026 +0100
@@ -438,7 +438,7 @@
 
         line.unit_price = round_price(
             Decimal(invoice_line.findtext('./{*}LineExtensionAmount'))
-            / Decimal(str(line.quantity)))
+            / Decimal(str(line.quantity or 1)))
 
         if invoice_line.find('./{*}Item/{*}ClassifiedTaxCategory') is not None:
             tax_categories = invoice_line.iterfind(
@@ -669,7 +669,7 @@
 
         line.unit_price = round_price(
             -Decimal(credit_note_line.findtext('./{*}LineExtensionAmount'))
-            / Decimal(str(line.quantity)))
+            / Decimal(str(line.quantity or -1)))
 
         if (credit_note_line.find('./{*}Item/{*}ClassifiedTaxCategory')
                 is not None):

Reply via email to