diff --git a/History.md b/History.md index 4df8fdb6..b2b4ab64 100644 --- a/History.md +++ b/History.md @@ -1,3 +1,4 @@ +#558 2.16.2 ======= diff --git a/library/src/main/java/org/mustangproject/Charge.java b/library/src/main/java/org/mustangproject/Charge.java index 6232611d..1b3320bf 100644 --- a/library/src/main/java/org/mustangproject/Charge.java +++ b/library/src/main/java/org/mustangproject/Charge.java @@ -134,7 +134,10 @@ public class Charge implements IZUGFeRDAllowanceCharge { if (totalAmount!=null) { return totalAmount; } else { - throw new RuntimeException("totalAmount must be set"); + if (percent==null) { + throw new RuntimeException("totalAmount must be set"); + } + return null; } } diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDInvoiceImporter.java b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDInvoiceImporter.java index 734f5f0c..4ce5ae56 100644 --- a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDInvoiceImporter.java +++ b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDInvoiceImporter.java @@ -704,6 +704,7 @@ public class ZUGFeRDInvoiceImporter { NodeList paymentMeansChilds = headerTradeSettlementChilds.item(settlementChildIndex).getChildNodes(); IBAN = null; BIC = null; + String accountName = null; paymentMeansCode = null; paymentMeansInformation = null; for (int paymentMeansChildIndex = 0; paymentMeansChildIndex < paymentMeansChilds.getLength(); paymentMeansChildIndex++) { @@ -722,6 +723,9 @@ public class ZUGFeRDInvoiceImporter { if ((accountChilds.item(accountChildIndex).getLocalName() != null) && (accountChilds.item(accountChildIndex).getLocalName().equals("IBANID"))) {//CII IBAN = XMLTools.trimOrNull(accountChilds.item(accountChildIndex)); } + if ((accountChilds.item(accountChildIndex).getLocalName() != null) && (accountChilds.item(accountChildIndex).getLocalName().equals("AccountName"))) {//CII + accountName = XMLTools.trimOrNull(accountChilds.item(accountChildIndex)); + } } } if ((paymentMeansChilds.item(paymentMeansChildIndex).getLocalName() != null) && (paymentMeansChilds.item(paymentMeansChildIndex).getLocalName().equals("PayeeSpecifiedCreditorFinancialInstitution"))) { @@ -739,6 +743,9 @@ public class ZUGFeRDInvoiceImporter { if (BIC != null) { bd.setBIC(BIC); } + if (accountName!=null) { + bd.setAccountName(accountName); + } bankDetails.add(bd); } } diff --git a/library/src/test/java/org/mustangproject/ZUGFeRD/XRTest.java b/library/src/test/java/org/mustangproject/ZUGFeRD/XRTest.java index e860c9a2..5fc304ec 100644 --- a/library/src/test/java/org/mustangproject/ZUGFeRD/XRTest.java +++ b/library/src/test/java/org/mustangproject/ZUGFeRD/XRTest.java @@ -88,7 +88,7 @@ public class XRTest extends TestCase { FileAttachment fe1 = new FileAttachment("one.pdf", "application/pdf", "Alternative", b); Invoice i = new Invoice().setDueDate(new Date()).setIssueDate(new Date()).setDeliveryDate(new Date()) - .setSender(new TradeParty(orgname, "teststr", "55232", "teststadt", "DE").setEmail("sender@example.com").addTaxID("DE4711").addVATID("DE0815").setContact(new Contact("Hans Test", "+49123456789", "test@example.org")).addBankDetails(new BankDetails("DE12500105170648489890", "COBADEFXXX"))) + .setSender(new TradeParty(orgname, "teststr", "55232", "teststadt", "DE").setEmail("sender@example.com").addTaxID("DE4711").addVATID("DE0815").setContact(new Contact("Hans Test", "+49123456789", "test@example.org")).addBankDetails(new BankDetails("DE12500105170648489890", "COBADEFXXX").setAccountName("kontoInhaber"))) .setRecipient(new TradeParty("Franz Müller", "teststr.12", "55232", "Entenhausen", "DE").setEmail("recipient@sample.org")) .addCashDiscount(new CashDiscount(new BigDecimal(2), 7)) .addCashDiscount(new CashDiscount(new BigDecimal(3), 14)) diff --git a/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2ZInvoiceImporterTest.java b/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2ZInvoiceImporterTest.java index 8ad04529..6cef6ab2 100644 --- a/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2ZInvoiceImporterTest.java +++ b/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2ZInvoiceImporterTest.java @@ -340,6 +340,7 @@ public class ZF2ZInvoiceImporterTest extends ResourceCase { IZUGFeRDTradeSettlementPayment paym = (IZUGFeRDTradeSettlementPayment) invoice.getTradeSettlement()[0]; assertEquals("DE12500105170648489890", paym.getOwnIBAN()); assertEquals("COBADEFXXX", paym.getOwnBIC()); + assertEquals("kontoInhaber",paym.getAccountName()); assertTrue(invoice.getPayee() != null);