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$