summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas (vin) <vin@odoo.com>2020-09-16 13:43:51 +0000
committerNicolas (vin) <vin@odoo.com>2020-09-29 05:20:50 +0000
commitd3116ba7266270cb5ef8e018f65131003d0331ed (patch)
tree63f6055f4a39febb207818a08c96188cbd15e6a2
parentd4b2faae71ea81f18a3890be5f680ab149271ccf (diff)
[FIX] account_facturx: fix upload of pdf using facturx
There seems to be an issue with the import of factur-x pdf. The unit price is being divided by the quantity resulting in wrong values. This commit will correct that by dividing the unit price by the amount of products in one unit, instead of the amount of unit. Task id #2341111 X-original-commit: bfaaf91628d8a4c268745e86d1c2b8f15fab2a54
-rw-r--r--addons/account_edi_facturx/models/account_edi_format.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/addons/account_edi_facturx/models/account_edi_format.py b/addons/account_edi_facturx/models/account_edi_format.py
index d7a9483c2e8..a95677e9286 100644
--- a/addons/account_edi_facturx/models/account_edi_format.py
+++ b/addons/account_edi_facturx/models/account_edi_format.py
@@ -275,12 +275,19 @@ class AccountEdiFormat(models.Model):
# Price Unit.
line_elements = element.xpath('.//ram:GrossPriceProductTradePrice/ram:ChargeAmount', namespaces=tree.nsmap)
if line_elements:
- invoice_line_form.price_unit = float(line_elements[0].text) / invoice_line_form.quantity
+ quantity_elements = element.xpath('.//ram:GrossPriceProductTradePrice/ram:BasisQuantity', namespaces=tree.nsmap)
+ if quantity_elements:
+ invoice_line_form.price_unit = float(line_elements[0].text) / float(quantity_elements[0].text)
+ else:
+ invoice_line_form.price_unit = float(line_elements[0].text)
else:
line_elements = element.xpath('.//ram:NetPriceProductTradePrice/ram:ChargeAmount', namespaces=tree.nsmap)
if line_elements:
- invoice_line_form.price_unit = float(line_elements[0].text) / invoice_line_form.quantity
-
+ quantity_elements = element.xpath('.//ram:NetPriceProductTradePrice/ram:BasisQuantity', namespaces=tree.nsmap)
+ if quantity_elements:
+ invoice_line_form.price_unit = float(line_elements[0].text) / float(quantity_elements[0].text)
+ else:
+ invoice_line_form.price_unit = float(line_elements[0].text)
# Discount.
line_elements = element.xpath('.//ram:AppliedTradeAllowanceCharge/ram:CalculationPercent', namespaces=tree.nsmap)
if line_elements: