From b6160f9f89aa04f65594c78b91b517535cff9d08 Mon Sep 17 00:00:00 2001 From: jstaerk Date: Thu, 22 May 2025 10:08:34 +0200 Subject: [PATCH] corrected calculation, test --- .../main/java/org/mustangproject/ZUGFeRD/LineCalculator.java | 4 ++-- .../org/mustangproject/ZUGFeRD/ZF2ZInvoiceImporterTest.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/LineCalculator.java b/library/src/main/java/org/mustangproject/ZUGFeRD/LineCalculator.java index a5ffc3da..bedfd67f 100644 --- a/library/src/main/java/org/mustangproject/ZUGFeRD/LineCalculator.java +++ b/library/src/main/java/org/mustangproject/ZUGFeRD/LineCalculator.java @@ -76,8 +76,8 @@ public class LineCalculator { BigDecimal basisQuantity = currentItem.getBasisQuantity().compareTo(BigDecimal.ZERO) == 0 ? BigDecimal.ONE.setScale(4) : currentItem.getBasisQuantity(); - itemTotalNetAmount = quantity.multiply(price).divide(basisQuantity, 18, RoundingMode.HALF_UP) - .subtract(allowanceItemTotal).setScale(2, RoundingMode.HALF_UP); + itemTotalNetAmount = quantity.multiply(priceGross).divide(basisQuantity, 18, RoundingMode.HALF_UP) + .add(lineCharge).subtract(lineAllowance).setScale(2, RoundingMode.HALF_UP); itemTotalVATAmount = itemTotalNetAmount.multiply(multiplicator); } diff --git a/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2ZInvoiceImporterTest.java b/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2ZInvoiceImporterTest.java index 3323c168..4d39cd98 100644 --- a/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2ZInvoiceImporterTest.java +++ b/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2ZInvoiceImporterTest.java @@ -264,7 +264,7 @@ public class ZF2ZInvoiceImporterTest extends ResourceCase { } assertFalse(hasExceptions); TransactionCalculator tc = new TransactionCalculator(invoice); - assertEquals(new BigDecimal("19.52"), tc.getGrandTotal()); + assertEquals(new BigDecimal("18.92"), tc.getGrandTotal()); } public void testBasisQuantityImport() {