Skip to content

Commit

Permalink
updates from the weekend
Browse files Browse the repository at this point in the history
  • Loading branch information
jstaerk committed May 13, 2024
1 parent 4107e3e commit 7f7adea
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 32 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -290,11 +290,21 @@ public void generateXML(IExportableTransaction trans) {
paymentTermsDescription = XMLTools.encodeXML(trans.getPaymentTermDescription());
}

if ((paymentTermsDescription == null) && (trans.getDocumentCode() != DocumentCodeTypeConstants.CORRECTEDINVOICE) && (trans.getDocumentCode() != DocumentCodeTypeConstants.CREDITNOTE)) {
paymentTermsDescription = "Zahlbar ohne Abzug bis " + germanDateFormat.format(trans.getDueDate());

if ((profile == Profiles.getByName("XRechnung")) && (trans.getCashDiscounts() != null) && (trans.getCashDiscounts().length > 0)) {
for (IZUGFeRDCashDiscount discount : trans.getCashDiscounts()
) {
if (paymentTermsDescription == null) {
paymentTermsDescription = "";
}
paymentTermsDescription += discount.getAsXRechnung();
}
} else if ((paymentTermsDescription == null) && (trans.getDocumentCode() != DocumentCodeTypeConstants.CORRECTEDINVOICE) && (trans.getDocumentCode() != DocumentCodeTypeConstants.CREDITNOTE)) {
paymentTermsDescription = "Please remit until " + germanDateFormat.format(trans.getDueDate());

}


String typecode = "380";
if (trans.getDocumentCode() != null) {
typecode = trans.getDocumentCode();
Expand Down Expand Up @@ -689,8 +699,8 @@ public void generateXML(IExportableTransaction trans) {
} else {
xml += buildPaymentTermsXml();
}
if ((profile == Profiles.getByName("Extended"))&&(trans.getCashDiscounts()!=null)&&(trans.getCashDiscounts().length>0)) {
for (IZUGFeRDCashDiscount discount:trans.getCashDiscounts()
if ((profile == Profiles.getByName("Extended")) && (trans.getCashDiscounts() != null) && (trans.getCashDiscounts().length > 0)) {
for (IZUGFeRDCashDiscount discount : trans.getCashDiscounts()
) {
xml += discount.getAsCII();
}
Expand Down
52 changes: 27 additions & 25 deletions library/src/test/java/org/mustangproject/ZUGFeRD/UBLTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -124,32 +124,34 @@ public void testEdgeInvoiceImportUBL() {
}


public void testInvoiceImportOtherUBL() {


File UBLinputFile = getResourceAsFile("EN16931_2_Teilrechnung.ubl.xml");
File UBLinputFile = getResourceAsFile("EN16931_AbweichenderZahlungsempf.ubl.xml");
File UBLinputFile = getResourceAsFile("EN16931_Betriebskostenabrechnung.ubl.xml");
File UBLinputFile = getResourceAsFile("EN16931_Einfach.ubl.xml");
File UBLinputFile = getResourceAsFile("EN16931_Einfach_DueDate.ubl.xml");
File UBLinputFile = getResourceAsFile("EN16931_Einfach_negativePaymentDue.ubl.xml");
File UBLinputFile = getResourceAsFile("EN16931_Elektron.ubl.xml");
File UBLinputFile = getResourceAsFile("EN16931_ElektronischeAdresse.ubl.xml");
File UBLinputFile = getResourceAsFile("EN16931_Gutschrift.ubl.xml");
File UBLinputFile = getResourceAsFile("EN16931_Haftpflichtversicherung_Versicherungssteuer.ubl.xml");
File UBLinputFile = getResourceAsFile("EN16931_Innergemeinschaftliche_Lieferungen.ubl.xml");
File UBLinputFile = getResourceAsFile("EN16931_Kraftfahrversicherung_Bruttopreise.ubl.xml");
File UBLinputFile = getResourceAsFile("EN16931_Miete.ubl.xml");
File UBLinputFile = getResourceAsFile("EN16931_OEPNV.ubl.xml");
File UBLinputFile = getResourceAsFile("EN16931_Physiotherapeut.ubl.xml");
File UBLinputFile = getResourceAsFile("EN16931_Rabatte.ubl.xml");
File UBLinputFile = getResourceAsFile("EN16931_Rechnungskorrektur.ubl.xml");
File UBLinputFile = getResourceAsFile("EN16931_RechnungsUebertragung.ubl.xml");
File UBLinputFile = getResourceAsFile("EN16931_Reisekostenabrechnung.ubl.xml");
File UBLinputFile = getResourceAsFile("EN16931_Sachversicherung_berechneter_Steuersatz.ubl.xml");
File UBLinputFile = getResourceAsFile("EN16931_SEPA_Prenotification.ubl.xml");
/* public void testInvoiceImportOtherUBL() {
File UBLinputFile = getResourceAsFile("ubl/EN16931_1_Teilrechnung.ubl.xml");
// File UBLinputFile = getResourceAsFile("ubl/EN16931_2_Teilrechnung.ubl.xml");
/* File UBLinputFile = getResourceAsFile("ubl/EN16931_AbweichenderZahlungsempf.ubl.xml");
File UBLinputFile = getResourceAsFile("ubl/EN16931_Betriebskostenabrechnung.ubl.xml");
File UBLinputFile = getResourceAsFile("ubl/EN16931_Einfach.ubl.xml");
File UBLinputFile = getResourceAsFile("ubl/EN16931_Einfach_DueDate.ubl.xml");
File UBLinputFile = getResourceAsFile("ubl/EN16931_Einfach_negativePaymentDue.ubl.xml");
File UBLinputFile = getResourceAsFile("ubl/EN16931_Elektron.ubl.xml");
File UBLinputFile = getResourceAsFile("ubl/EN16931_ElektronischeAdresse.ubl.xml");
File UBLinputFile = getResourceAsFile("ubl/EN16931_Gutschrift.ubl.xml");
File UBLinputFile = getResourceAsFile("ubl/EN16931_Haftpflichtversicherung_Versicherungssteuer.ubl.xml");
File UBLinputFile = getResourceAsFile("ubl/EN16931_Innergemeinschaftliche_Lieferungen.ubl.xml");
File UBLinputFile = getResourceAsFile("ubl/EN16931_Kraftfahrversicherung_Bruttopreise.ubl.xml");
File UBLinputFile = getResourceAsFile("ubl/EN16931_Miete.ubl.xml");
File UBLinputFile = getResourceAsFile("ubl/EN16931_OEPNV.ubl.xml");
File UBLinputFile = getResourceAsFile("ubl/EN16931_Physiotherapeut.ubl.xml");
File UBLinputFile = getResourceAsFile("ubl/EN16931_Rabatte.ubl.xml");
File UBLinputFile = getResourceAsFile("ubl/EN16931_Rechnungskorrektur.ubl.xml");
File UBLinputFile = getResourceAsFile("ubl/EN16931_RechnungsUebertragung.ubl.xml");
File UBLinputFile = getResourceAsFile("ubl/EN16931_Reisekostenabrechnung.ubl.xml");
File UBLinputFile = getResourceAsFile("ubl/EN16931_Sachversicherung_berechneter_Steuersatz.ubl.xml");
File UBLinputFile = getResourceAsFile("ubl/EN16931_SEPA_Prenotification.ubl.xml");
boolean hasExceptions = false;
ZUGFeRDInvoiceImporter zii = null;
Expand All @@ -168,5 +170,5 @@ public void testInvoiceImportOtherUBL() {
assertEquals("12345", invoice.getRecipient().getZIP());
assertEquals("DE75512108001245126199", invoice.getSender().getBankDetails().get(0).getIBAN());
}
}*/
}
6 changes: 4 additions & 2 deletions library/src/test/java/org/mustangproject/ZUGFeRD/XRTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -88,10 +88,11 @@ public void testXREdgeExport() {
Invoice i = new Invoice().setDueDate(new Date()).setIssueDate(new Date()).setDeliveryDate(new Date())
.setSender(new TradeParty(orgname,"teststr","55232","teststadt","DE").setEmail("[email protected]").addTaxID("DE4711").addVATID("DE0815").setContact(new Contact("Hans Test","+49123456789","[email protected]")).addBankDetails(new BankDetails("DE12500105170648489890","COBADEFXXX")))
.setRecipient(new TradeParty("Franz Müller", "teststr.12", "55232", "Entenhausen", "DE").setEmail("[email protected]"))
.addCashDiscount(new CashDiscount(new BigDecimal(2),7))
.addCashDiscount(new CashDiscount(new BigDecimal(3),14))
.setReferenceNumber("991-01484-64")//leitweg-id
// not using any VAT, this is also a test of zero-rated goods:
.setNumber(number).setPaymentTermDescription("#SKONTO#TAGE=14#PROZENT=2.25#\n" +
"#SKONTO#TAGE=28#PROZENT=1.00#\n").addItem(new Item(new Product("Testprodukt", "", "C62", BigDecimal.ZERO), amount, new BigDecimal(1.0)))
.setNumber(number).addItem(new Item(new Product("Testprodukt", "", "C62", BigDecimal.ZERO), amount, new BigDecimal(1.0)))
.embedFileInXML(fe1);


Expand All @@ -101,6 +102,7 @@ public void testXREdgeExport() {
zf2p.generateXML(i);
String theXML = new String(zf2p.getXML(), StandardCharsets.UTF_8);
assertTrue(theXML.contains("<rsm:CrossIndustryInvoice"));
assertTrue(theXML.contains("#SKONTO#"));
assertThat(theXML).valueByXPath("count(//*[local-name()='IncludedSupplyChainTradeLineItem'])")
.asInt()
.isEqualTo(1); //2 errors are OK because there is a known bug
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,6 @@ public void testExport() {
assertEquals(zi.getLineItemList().get(0).getProduct().getSellerAssignedID(), "");
assertEquals(zi.getLineItemList().get(0).getLineTotalAmount().toString(), "160.00");
assertEquals(zi.getLineItemList().get(0).getQuantity().toString(), "1.0000");
assertEquals(zi.getLineItemList().get(0).getGrossPrice().toString(), "160.0000");
assertEquals(zi.getLineItemList().get(0).getProduct().getVATPercent().toString(), "7.00");
assertEquals(zi.getLineItemList().get(0).getProduct().getName(), "Künstlerische Gestaltung (Stunde): Einer Beispielrechnung");
assertEquals(zi.getLineItemList().get(0).getProduct().getDescription(), "");
Expand Down

0 comments on commit 7f7adea

Please sign in to comment.