diff --git a/src/main/java/org/mustangproject/ZUGFeRD/VATAmount.java b/src/main/java/org/mustangproject/ZUGFeRD/VATAmount.java index 408ea69f..817595f6 100644 --- a/src/main/java/org/mustangproject/ZUGFeRD/VATAmount.java +++ b/src/main/java/org/mustangproject/ZUGFeRD/VATAmount.java @@ -31,16 +31,16 @@ import java.math.BigDecimal; */ public class VATAmount { - public VATAmount(BigDecimal basis, BigDecimal calculated, String documentCode) { + public VATAmount(BigDecimal basis, BigDecimal calculated, String categoryCode) { super(); this.basis = basis; this.calculated = calculated; - this.documentCode = documentCode; + this.categoryCode = categoryCode; } BigDecimal basis, calculated; - String documentCode; + String categoryCode; public BigDecimal getBasis() { return basis; @@ -58,20 +58,38 @@ public class VATAmount { this.calculated = calculated; } + /** + * + * @deprecated Use {@link #getCategoryCode() instead} + */ + @Deprecated public String getDocumentCode() { - return documentCode; + return categoryCode; } + /** + * + * @deprecated Use {@link #setCategoryCode(String)} instead + */ + @Deprecated public void setDocumentCode(String documentCode) { - this.documentCode = documentCode; + this.categoryCode = documentCode; + } + + public String getCategoryCode() { + return categoryCode; + } + + public void setCategoryCode(String categoryCode) { + this.categoryCode = categoryCode; } public VATAmount add(VATAmount v) { - return new VATAmount(basis.add(v.getBasis()), calculated.add(v.getCalculated()), this.documentCode); + return new VATAmount(basis.add(v.getBasis()), calculated.add(v.getCalculated()), this.categoryCode); } public VATAmount subtract(VATAmount v) { - return new VATAmount(basis.subtract(v.getBasis()), calculated.subtract(v.getCalculated()), this.documentCode); + return new VATAmount(basis.subtract(v.getBasis()), calculated.subtract(v.getCalculated()), this.categoryCode); } } diff --git a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDTransactionModelConverter.java b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDTransactionModelConverter.java index 11b8b45c..206b5a2e 100644 --- a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDTransactionModelConverter.java +++ b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDTransactionModelConverter.java @@ -167,7 +167,7 @@ class ZUGFeRDTransactionModelConverter { if (trans.getReferenceNumber() != null && !"".equals(trans.getReferenceNumber())) { NoteType referenceInfo = xmlFactory.createNoteType(); TextType referenceInfoContent = xmlFactory.createTextType(); - referenceInfoContent.setValue("Ursprungsbeleg: " + trans.getReferenceNumber()); + referenceInfoContent.setValue(trans.getReferenceNumber()); referenceInfo.getContent().add(referenceInfoContent); document.getIncludedNote().add(referenceInfo); } @@ -422,7 +422,7 @@ class ZUGFeRDTransactionModelConverter { TaxCategoryCodeType taxCategoryCode = xmlFactory.createTaxCategoryCodeType(); VATAmount vatAmount = VATPercentAmountMap.get(currentTaxPercent); - taxCategoryCode.setValue(vatAmount.getDocumentCode()); + taxCategoryCode.setValue(vatAmount.getCategoryCode()); tradeTax.setCategoryCode(taxCategoryCode); VATAmount amount = VATPercentAmountMap.get(currentTaxPercent); @@ -924,7 +924,7 @@ class ZUGFeRDTransactionModelConverter { for (IZUGFeRDExportableItem currentItem : trans.getZFItems()) { BigDecimal percent = currentItem.getProduct().getVATPercent(); LineCalc lc = new LineCalc(currentItem); - VATAmount itemVATAmount = new VATAmount(lc.getItemTotalNetAmount(), lc.getItemTotalVATAmount(), trans.getDocumentCode()); + VATAmount itemVATAmount = new VATAmount(lc.getItemTotalNetAmount(), lc.getItemTotalVATAmount(), lc.getCategoryCode()); VATAmount current = hm.get(percent); if (current == null) { hm.put(percent, itemVATAmount); @@ -958,7 +958,7 @@ class ZUGFeRDTransactionModelConverter { VATAmount itemVATAmount = new VATAmount( logisticsServiceCharge.getTotalAmount(), logisticsServiceCharge.getTotalAmount() - .multiply(percent).divide(new BigDecimal(100)), trans.getDocumentCode()); + .multiply(percent).divide(new BigDecimal(100)), logisticsServiceCharge.getCategoryCode()); VATAmount current = hm.get(percent); if (current == null) { hm.put(percent, itemVATAmount); @@ -973,7 +973,7 @@ class ZUGFeRDTransactionModelConverter { BigDecimal percent = charge.getTaxPercent(); VATAmount itemVATAmount = new VATAmount( charge.getTotalAmount(), charge.getTotalAmount() - .multiply(percent).divide(new BigDecimal(100)), trans.getDocumentCode()); + .multiply(percent).divide(new BigDecimal(100)), charge.getCategoryCode()); VATAmount current = hm.get(percent); if (current == null) { hm.put(percent, itemVATAmount); @@ -998,6 +998,7 @@ class ZUGFeRDTransactionModelConverter { private BigDecimal itemTotalNetAmount; private BigDecimal itemTotalVATAmount; private BigDecimal itemNetAmount; + private String categoryCode; public LineCalc(IZUGFeRDExportableItem currentItem) { @@ -1040,6 +1041,7 @@ class ZUGFeRDTransactionModelConverter { .add(totalCharge) .divide(currentItem.getQuantity(), 4, BigDecimal.ROUND_HALF_UP); + categoryCode = currentItem.getCategoryCode(); } @@ -1057,6 +1059,8 @@ class ZUGFeRDTransactionModelConverter { return itemNetAmount; } + public String getCategoryCode() { return categoryCode; } + } private class Totals {