details:   https://code.tryton.org/tryton/commit/88b10fd239f3
branch:    default
user:      Cédric Krier <[email protected]>
date:      Mon Feb 16 17:22:16 2026 +0100
description:
        Use only line extension amount to set unit price of UBL invoice line

        Closes #14493
diffstat:

 modules/edocument_ubl/edocument.py |  20 ++++++--------------
 1 files changed, 6 insertions(+), 14 deletions(-)

diffs (37 lines):

diff -r 07ac2f3bba63 -r 88b10fd239f3 modules/edocument_ubl/edocument.py
--- a/modules/edocument_ubl/edocument.py        Thu Feb 12 12:58:09 2026 +0100
+++ b/modules/edocument_ubl/edocument.py        Mon Feb 16 17:22:16 2026 +0100
@@ -482,13 +482,9 @@
             if line.origin:
                 break
 
-        if (price_amount := invoice_line.findtext('./{*}Price/{*}PriceAmount')
-                ) is not None:
-            line.unit_price = round_price(Decimal(price_amount))
-        else:
-            line.unit_price = round_price(
-                Decimal(invoice_line.findtext('./{*}LineExtensionAmount'))
-                / Decimal(str(line.quantity)))
+        line.unit_price = round_price(
+            Decimal(invoice_line.findtext('./{*}LineExtensionAmount'))
+            / Decimal(str(line.quantity)))
 
         if invoice_line.find('./{*}Item/{*}ClassifiedTaxCategory') is not None:
             tax_categories = invoice_line.iterfind(
@@ -751,13 +747,9 @@
             if line.origin:
                 break
 
-        if (price_amount := credit_note_line.findtext(
-                './{*}Price/{*}PriceAmount')) is not None:
-            line.unit_price = round_price(Decimal(price_amount))
-        else:
-            line.unit_price = round_price(
-                Decimal(credit_note_line.findtext('./{*}LineExtensionAmount'))
-                / line.quantity)
+        line.unit_price = round_price(
+            -Decimal(credit_note_line.findtext('./{*}LineExtensionAmount'))
+            / Decimal(str(line.quantity)))
 
         if (credit_note_line.find('./{*}Item/{*}ClassifiedTaxCategory')
                 is not None):

Reply via email to