From d97007d60f89ce82ebd1592d350edf1d53afc1af Mon Sep 17 00:00:00 2001 From: Sebastian Sieber Date: Tue, 8 Dec 2020 14:36:06 +0100 Subject: [PATCH] Sum the individual tax amounts to the total tax amount to avoid following error: [BR-CO-14]-Invoice total VAT amount (BT-110) = ? VAT category tax amount (BT-117) --- .../org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java index 5980cbf9..52db67ff 100644 --- a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java +++ b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java @@ -24,6 +24,7 @@ import java.io.IOException; import java.io.StringWriter; import java.io.UnsupportedEncodingException; import java.math.BigDecimal; +import java.math.RoundingMode; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; @@ -612,7 +613,10 @@ public class ZUGFeRD2PullProvider implements IXMLProvider { // // // currencyID=\"EUR\" + " " - + currencyFormat(calc.getGrandTotal().subtract(calc.getTaxBasis())) + "\n" + + currencyFormat(VATPercentAmountMap.values().stream() + .map(VATAmount::getCalculated) + .map(p -> p.setScale(2, RoundingMode.HALF_UP)) + .reduce(BigDecimal.ZERO, BigDecimal::add)) + "\n" + " " + currencyFormat(calc.getGrandTotal()) + "\n" //$NON-NLS-2$ // // // currencyID=\"EUR\"