diff --git a/modules/edocument_ubl/edocument.py b/modules/edocument_ubl/edocument.py index ddd3f190a9..17b103c088 100644 --- a/modules/edocument_ubl/edocument.py +++ b/modules/edocument_ubl/edocument.py @@ -460,7 +460,9 @@ class Invoice(Model): if (invoiced_quantity := invoice_line.find('./{*}InvoicedQuantity') ) is not None: line.quantity = float(invoiced_quantity.text) - digits = -Decimal(invoiced_quantity.text).as_tuple().exponent + digits = ( + -Decimal(invoiced_quantity.text) + .normalize().as_tuple().exponent) if (unit_code := invoiced_quantity.get('unitCode')) not in { None, 'ZZ', 'XZZ'}: try: @@ -771,7 +773,9 @@ class Invoice(Model): if (credited_quantity := credit_note_line.find('./{*}CreditedQuantity') ) is not None: line.quantity = -float(credited_quantity.text) - digits = -Decimal(credited_quantity.text).as_tuple().exponent + digits = ( + -Decimal(credited_quantity.text) + .normalize().as_tuple().exponent) if (unit_code := credited_quantity.get('unitCode')) not in { None, 'ZZ', 'XZZ'}: try: