From beb5241de690582936d43e4f9f2249f03ce6cbe2 Mon Sep 17 00:00:00 2001 From: jstaerk Date: Thu, 15 May 2025 09:45:40 +0200 Subject: [PATCH] still need to support basisamount --- .../main/java/org/mustangproject/ZUGFeRD/LineCalculator.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/LineCalculator.java b/library/src/main/java/org/mustangproject/ZUGFeRD/LineCalculator.java index e7ce588d..5fc826a1 100644 --- a/library/src/main/java/org/mustangproject/ZUGFeRD/LineCalculator.java +++ b/library/src/main/java/org/mustangproject/ZUGFeRD/LineCalculator.java @@ -22,8 +22,9 @@ public class LineCalculator { for (IZUGFeRDAllowanceCharge allowance : currentItem.getItemAllowances()) { BigDecimal factor=BigDecimal.ONE; BigDecimal singleAllowance=allowance.getTotalAmount(currentItem); + if ((allowance.getPercent()!=null)&&(allowance.getPercent().compareTo(BigDecimal.ZERO)!=0)) { - factor=allowance.getPercent().divide(new BigDecimal(100), 18, RoundingMode.HALF_UP); + factor=currentItem.getQuantity(); } addAllowance(singleAllowance.multiply(factor)); @@ -34,7 +35,7 @@ public class LineCalculator { BigDecimal factor=BigDecimal.ONE; BigDecimal singleCharge=charge.getTotalAmount(currentItem); if ((charge.getPercent()!=null)&&(charge.getPercent().compareTo(BigDecimal.ZERO)!=0)) { - factor=charge.getPercent().divide(new BigDecimal(100), 18, RoundingMode.HALF_UP).multiply(currentItem.getQuantity()); + factor=currentItem.getQuantity(); } addCharge(singleCharge.multiply(factor));