From 337ed2e99ee2c3d91ad93d1fd625f6d7fa87250d Mon Sep 17 00:00:00 2001 From: Sebastian Sieber Date: Mon, 9 Nov 2020 15:34:43 +0100 Subject: [PATCH] Correct tax category code Use TaxCategoryCode instead of DocumentCode by creating VATPercentAmountMap. --- .../org/mustangproject/ZUGFeRD/TransactionCalculator.java | 2 +- .../java/org/mustangproject/ZUGFeRD/ZUGFeRD1PullProvider.java | 4 +--- .../java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java | 4 +--- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/TransactionCalculator.java b/library/src/main/java/org/mustangproject/ZUGFeRD/TransactionCalculator.java index 414ef7bf..839c9b27 100644 --- a/library/src/main/java/org/mustangproject/ZUGFeRD/TransactionCalculator.java +++ b/library/src/main/java/org/mustangproject/ZUGFeRD/TransactionCalculator.java @@ -146,7 +146,7 @@ public class TransactionCalculator implements IAbsoluteValueProvider { BigDecimal percent = currentItem.getProduct().getVATPercent(); LineCalculator lc = new LineCalculator(currentItem); VATAmount itemVATAmount = new VATAmount(lc.getItemTotalNetAmount(), lc.getItemTotalVATAmount(), - trans.getDocumentCode()); + currentItem.getCategoryCode()); VATAmount current = hm.get(percent); if (current == null) { hm.put(percent, itemVATAmount); diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD1PullProvider.java b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD1PullProvider.java index 898c177d..9f954256 100644 --- a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD1PullProvider.java +++ b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD1PullProvider.java @@ -107,7 +107,6 @@ public class ZUGFeRD1PullProvider extends ZUGFeRD2PullProvider implements IXMLPr this.calc=new TransactionCalculator(trans); boolean hasDueDate=false; - String taxCategoryCode=""; SimpleDateFormat germanDateFormat = new SimpleDateFormat("dd.MM.yyyy"); String exemptionReason=""; @@ -261,7 +260,7 @@ public class ZUGFeRD1PullProvider extends ZUGFeRD2PullProvider implements IXMLPr + " VAT\n" + exemptionReason + " " + currencyFormat(amount.getBasis()) + "\n" // currencyID=\"EUR\" - + " "+taxCategoryCode+"\n" + + " "+amount.getCategoryCode()+"\n" + " " + vatFormat(currentTaxPercent) + "\n" + " \n"; //$NON-NLS-2$ @@ -318,7 +317,6 @@ public class ZUGFeRD1PullProvider extends ZUGFeRD2PullProvider implements IXMLPr int lineID = 0; for (IZUGFeRDExportableItem currentItem : trans.getZFItems()) { lineID++; - taxCategoryCode=currentItem.getProduct().getTaxCategoryCode(); if (currentItem.getProduct().getTaxExemptionReason() != null) { exemptionReason="" + XMLTools.encodeXML(currentItem.getProduct().getTaxExemptionReason()) + ""; } diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java index b9d96e5a..4895122f 100644 --- a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java +++ b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java @@ -218,7 +218,6 @@ public class ZUGFeRD2PullProvider implements IXMLProvider { this.calc = new TransactionCalculator(trans); boolean hasDueDate = false; - String taxCategoryCode = ""; SimpleDateFormat germanDateFormat = new SimpleDateFormat("dd.MM.yyyy"); String exemptionReason = ""; @@ -298,7 +297,6 @@ public class ZUGFeRD2PullProvider implements IXMLProvider { int lineID = 0; for (IZUGFeRDExportableItem currentItem : trans.getZFItems()) { lineID++; - taxCategoryCode = currentItem.getProduct().getTaxCategoryCode(); if (currentItem.getProduct().getTaxExemptionReason() != null) { exemptionReason = "" + XMLTools.encodeXML(currentItem.getProduct().getTaxExemptionReason()) + ""; } @@ -492,7 +490,7 @@ public class ZUGFeRD2PullProvider implements IXMLProvider { + " VAT\n" + exemptionReason + " " + currencyFormat(amount.getBasis()) + "\n" // currencyID=\"EUR\" - + " " + taxCategoryCode + "\n" + + " " + amount.getCategoryCode() + "\n" + " " + vatFormat(currentTaxPercent) + "\n" + " \n"; //$NON-NLS-2$