From c636664c17c14a8cb3f0d054537ff1634544f40c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 16 Feb 2026 17:22:16 +0100 Subject: [PATCH] Use only line extension amount to set unit price of UBL invoice line Closes #14493 --- modules/edocument_ubl/edocument.py | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/modules/edocument_ubl/edocument.py b/modules/edocument_ubl/edocument.py index 4bc8209748..9abd25c3b7 100644 --- a/modules/edocument_ubl/edocument.py +++ b/modules/edocument_ubl/edocument.py @@ -482,13 +482,9 @@ class Invoice(Model): 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 @@ class Invoice(Model): 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):