Nettopreis mit drei Dezimalstellen im XML eintragen, damit Rundungsfehler vermieden werden
Bernd Wurst

Bernd Wurst commited on 2024-11-16 19:45:45
Zeige 3 geänderte Dateien mit 8 Einfügungen und 8 Löschungen.

... ...
@@ -218,12 +219,12 @@ def InvoiceToXML(invoice):
218 219
                 nettopreis = el['price']
219 220
                 if part.vatType == 'gross':
220 221
                     nettopreis = el['price'] / (1 + el['vat'])
221
-                li.agreement.net.amount = Decimal(f"{nettopreis:.2f}")
222
+                li.agreement.net.amount = Decimal(f"{nettopreis:.3f}")
222 223
 
223 224
                 nettosumme = el['total']
224 225
                 if part.vatType == 'gross':
225 226
                     nettosumme = el['total'] / (1 + el['vat'])
226
-                li.settlement.monetary_summation.total_amount = Decimal(f"{nettosumme:.2f}")
227
+                li.settlement.monetary_summation.total_amount = Decimal(f"{nettosumme:.3f}")
227 228
 
228 229
                 summe_netto += nettosumme
229 230
                 if part.vatType == 'net':
... ...
@@ -1 +1 @@
1
-Subproject commit 5ed87a6f99919156609408b2ecf619f2c82e9b31
1
+Subproject commit 9dac70b8fbf86f7d79a560e672fcbd7d92999df4
... ...
@@ -14,16 +14,16 @@ data = {
14 14
              'pgp_key': None,
15 15
              'phone': '+49 9876 54321',
16 16
              'zip': '71540'},
17
- 'data': ({'anzahl': Decimal('1.00'),
17
+ 'data': ({'anzahl': Decimal('12.00'),
18 18
            'beschreibung': 'Testposten',
19
-           'betrag': Decimal('1.00'),
20
-           'brutto': 0,
19
+           'betrag': Decimal('8'),
20
+           'brutto': 1,
21 21
            'datum': datetime.date(2023, 9, 20),
22
-           'einheit': 'xy',
22
+           'einheit': 'Stk',
23 23
            'enddatum': None,
24 24
            'info_headline': None,
25 25
            'info_text': None,
26
-           'mwst': 0.0},),
26
+           'mwst': 19.0},),
27 27
  'daten': {'kuendigung': datetime.date(2024, 2, 16),
28 28
            'kunde': 5,
29 29
            'naechster_kuendigungstermin': datetime.date(2024, 3, 1),
30 30