From ed72a5667814b551c503fba84bebe78eddb81c21 Mon Sep 17 00:00:00 2001 From: jstaerk Date: Tue, 10 Jun 2025 07:50:36 +0200 Subject: [PATCH] corrected output xml --- .../java/org/mustangproject/ZUGFeRD/LineCalculator.java | 2 +- .../org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java | 8 ++++---- .../java/org/mustangproject/ZUGFeRD/CalculationTest.java | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/LineCalculator.java b/library/src/main/java/org/mustangproject/ZUGFeRD/LineCalculator.java index 5cff3f9b..d5f06a9a 100644 --- a/library/src/main/java/org/mustangproject/ZUGFeRD/LineCalculator.java +++ b/library/src/main/java/org/mustangproject/ZUGFeRD/LineCalculator.java @@ -93,7 +93,7 @@ public class LineCalculator { : currentItem.getBasisQuantity(); itemTotalNetAmount = quantity.multiply(price).divide(basisQuantity, 18, RoundingMode.HALF_UP) .add(lineCharge).subtract(lineAllowance).subtract(allowanceItemTotal).setScale(2, RoundingMode.HALF_UP); - itemTotalVATAmount = itemTotalNetAmount.multiply(multiplicator).setScale(2, RoundingMode.HALF_UP); + itemTotalVATAmount = itemTotalNetAmount.multiply(multiplicator);//.setScale(2, RoundingMode.HALF_UP); } public BigDecimal getPrice() { diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java index 008f99d2..21321e92 100644 --- a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java +++ b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java @@ -545,10 +545,6 @@ public class ZUGFeRD2PullProvider implements IXMLProvider { + "" + vatFormat(currentItem.getProduct().getVATPercent()) + "" + ""; - // item charges/allowances - if (!itemTotalAllowanceChargeStr.isEmpty()) { - xml += itemTotalAllowanceChargeStr ; - } if ((currentItem.getDetailedDeliveryPeriodFrom() != null) || (currentItem.getDetailedDeliveryPeriodTo() != null)) { xml += ""; @@ -561,6 +557,10 @@ public class ZUGFeRD2PullProvider implements IXMLProvider { xml += ""; } + // item charges/allowances + if (!itemTotalAllowanceChargeStr.isEmpty()) { + xml += itemTotalAllowanceChargeStr ; + } xml += "" + "" + currencyFormat(lc.getItemTotalNetAmount()) diff --git a/library/src/test/java/org/mustangproject/ZUGFeRD/CalculationTest.java b/library/src/test/java/org/mustangproject/ZUGFeRD/CalculationTest.java index 3c79d79f..7fc94f5f 100644 --- a/library/src/test/java/org/mustangproject/ZUGFeRD/CalculationTest.java +++ b/library/src/test/java/org/mustangproject/ZUGFeRD/CalculationTest.java @@ -56,7 +56,7 @@ public class CalculationTest extends ResourceCase { assertEquals(valueOf(148.73).stripTrailingZeros(), calculator.getPrice().stripTrailingZeros()); assertEquals(valueOf(1769.89).stripTrailingZeros(), calculator.getItemTotalNetAmount().stripTrailingZeros()); - assertEquals(valueOf(283.18).stripTrailingZeros(), calculator.getItemTotalVATAmount().stripTrailingZeros()); + assertEquals(valueOf(283.1824).stripTrailingZeros(), calculator.getItemTotalVATAmount().stripTrailingZeros()); } @Test @@ -76,7 +76,7 @@ public class CalculationTest extends ResourceCase { assertEquals(valueOf(148.73).stripTrailingZeros(), calculator.getPrice().stripTrailingZeros()); assertEquals(valueOf(1799.63).stripTrailingZeros(), calculator.getItemTotalNetAmount().stripTrailingZeros()); - assertEquals(valueOf(287.94).stripTrailingZeros(), calculator.getItemTotalVATAmount().stripTrailingZeros()); + assertEquals(valueOf(287.9408).stripTrailingZeros(), calculator.getItemTotalVATAmount().stripTrailingZeros()); } @Test