Skip to content

Commit

Permalink
Merge branch 'ZUGFeRD:master' into fix-java-8-issues
Browse files Browse the repository at this point in the history
  • Loading branch information
Adrian-Devries authored Jan 22, 2025
2 parents 2302d12 + 331c058 commit aed173b
Show file tree
Hide file tree
Showing 6 changed files with 38 additions and 35 deletions.
11 changes: 7 additions & 4 deletions History.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
- #678
- #679
- #681
- #689
2.16.1
=======
2025-01-21
- #678 some ubl creditnote attributes are not parsed
- #679 validation of a XR does not ignore whitespace
- #681 IBAN assigned to invoice sender not recipient on direct debit
- #689 incorrect element order when both charge reason and reasoncode are specified
- be able to set detailedDeliveryPeriodFrom, detailedDeliveryPeriodTo MS188
- updated verapdf from 1.26.1 to 1.26.2
- cashDiscount JSON now corrently ignores values for cii and xr methods
Expand Down
6 changes: 3 additions & 3 deletions Mustang-CLI/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<parent>
<groupId>org.mustangproject</groupId>
<artifactId>core</artifactId>
<version>2.16.1-SNAPSHOT</version>
<version>2.16.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.mustangproject</groupId>
Expand All @@ -12,7 +12,7 @@
should also work for XRechnung/CII.
</name>
<packaging>jar</packaging>
<version>2.16.1-SNAPSHOT</version>
<version>2.16.2-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.compilerVersion>11</maven.compiler.compilerVersion>
Expand All @@ -23,7 +23,7 @@
<dependency>
<groupId>org.mustangproject</groupId>
<artifactId>validator</artifactId>
<version>2.16.1-SNAPSHOT</version>
<version>2.16.2-SNAPSHOT</version>
<!-- prototypes of new mustangproject versions can be installed by referring to them and installed to the local repo from a jar file with
mvn install:install-file -Dfile=mustang-1.5.4-SNAPSHOT.jar -DgroupId=org.mustangproject.ZUGFeRD -DartifactId=mustang -Dversion=1.5.4 -Dpackaging=jar -DgeneratePom=true
-->
Expand Down
4 changes: 2 additions & 2 deletions library/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
<parent>
<groupId>org.mustangproject</groupId>
<artifactId>core</artifactId>
<version>2.16.1-SNAPSHOT</version>
<version>2.16.2-SNAPSHOT</version>
</parent>

<modelVersion>4.0.0</modelVersion>
<groupId>org.mustangproject</groupId>
<artifactId>library</artifactId>
<version>2.16.1-SNAPSHOT</version>
<version>2.16.2-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Library to write, read and validate e-invoices (Factur-X, ZUGFeRD, Order-X, XRechnung/CII)</name>
<description>FOSS Java library to read, write and validate european electronic invoices and orders in the UN/CEFACT
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,8 +125,8 @@ public void testInvoiceImportUBL() {
// Reading ZUGFeRD
assertEquals("Bei Spiel GmbH", invoice.getOwnOrganisationName());
assertEquals(3, invoice.getZFItems().length);
assertEquals(invoice.getZFItems()[0].getNotesWithSubjectCode().get(0).getContent(),"Something");
assertEquals(invoice.getZFItems()[0].getNotesWithSubjectCode().size(),1);
assertEquals(invoice.getZFItems()[0].getNotesWithSubjectCode().get(0).getContent(), "Something");
assertEquals(invoice.getZFItems()[0].getNotesWithSubjectCode().size(), 1);
assertEquals("400", invoice.getZFItems()[1].getQuantity().toString());
assertEquals("Zahlbar ohne Abzug bis zum 30.05.2017", invoice.getPaymentTermDescription());
assertEquals("AB321", invoice.getReferenceNumber());
Expand Down Expand Up @@ -245,7 +245,7 @@ public void testItemAllowancesChargesImport() {
}
assertFalse(hasExceptions);
TransactionCalculator tc = new TransactionCalculator(invoice);
assertEquals(new BigDecimal("18.33"), tc.getGrandTotal());
assertEquals(new BigDecimal("19.52"), tc.getGrandTotal());
}

public void testBasisQuantityImport() {
Expand All @@ -264,6 +264,7 @@ public void testBasisQuantityImport() {
assertEquals(new BigDecimal("337.60"), tc.getGrandTotal());
}


public void testAllowancesChargesImport() {

ZUGFeRDInvoiceImporter zii = new ZUGFeRDInvoiceImporter("./target/testout-ZF2PushChargesAllowances.pdf");
Expand All @@ -286,10 +287,10 @@ public void testXRImport() {

ZUGFeRDImporter zii = new ZUGFeRDImporter();

int version=-1;
int version = -1;
try {
zii.fromXML(new String(Files.readAllBytes(Paths.get("./target/testout-XR-Edge.xml")), StandardCharsets.UTF_8));
version=zii.getVersion();
version = zii.getVersion();
} catch (IOException e) {
hasExceptions = true;
} catch (Exception e) {
Expand All @@ -305,13 +306,12 @@ public void testXRImport() {
assertFalse(hasExceptions);



TransactionCalculator tc = new TransactionCalculator(invoice);
assertEquals(new BigDecimal("1.00"), tc.getGrandTotal());

assertEquals(version,2);
assertEquals(version, 2);
assertTrue(new BigDecimal("1").compareTo(invoice.getZFItems()[0].getQuantity()) == 0);
LineCalculator lc=new LineCalculator(invoice.getZFItems()[0]);
LineCalculator lc = new LineCalculator(invoice.getZFItems()[0]);
assertTrue(new BigDecimal("1").compareTo(lc.getItemTotalNetAmount()) == 0);

assertTrue(invoice.getTradeSettlement().length == 1);
Expand Down Expand Up @@ -357,7 +357,7 @@ public void testImportDebit() {
ZUGFeRDInvoiceImporter zii = new ZUGFeRDInvoiceImporter(new FileInputStream(CIIinputFile));
Invoice i = zii.extractInvoice();

assertEquals("DE21860000000086001055", i.getSender().getBankDetails().get(0).getIBAN());
assertEquals("DE21860000000086001055", i.getRecipient().getBankDetails().get(0).getIBAN());
ObjectMapper mapper = new ObjectMapper();

String jsonArray = mapper.writeValueAsString(i);
Expand Down Expand Up @@ -426,15 +426,15 @@ public void testImportPrepaid() throws XPathExpressionException, ParseException
CalculatedInvoice invoice = new CalculatedInvoice();
importer.extractInto(invoice);

boolean isBD=invoice.getTotalPrepaidAmount() instanceof BigDecimal;
boolean isBD = invoice.getTotalPrepaidAmount() instanceof BigDecimal;
assertTrue(isBD);
BigDecimal expectedPrepaid=new BigDecimal(50);
BigDecimal expectedLineTotal=new BigDecimal("180.76");
BigDecimal expectedDue=new BigDecimal("147.65");
BigDecimal expectedPrepaid = new BigDecimal(50);
BigDecimal expectedLineTotal = new BigDecimal("180.76");
BigDecimal expectedDue = new BigDecimal("147.65");
if (isBD) {
BigDecimal amread=invoice.getTotalPrepaidAmount();
BigDecimal importedLineTotal=invoice.getLineTotalAmount();
BigDecimal importedDuePayable=invoice.getDuePayable();
BigDecimal amread = invoice.getTotalPrepaidAmount();
BigDecimal importedLineTotal = invoice.getLineTotalAmount();
BigDecimal importedDuePayable = invoice.getDuePayable();
assertTrue(amread.compareTo(expectedPrepaid) == 0);
assertTrue(importedLineTotal.compareTo(expectedLineTotal) == 0);
assertTrue(importedDuePayable.compareTo(expectedDue) == 0);
Expand Down Expand Up @@ -471,19 +471,19 @@ public void testIBANparsing() throws XPathExpressionException, ParseException, F

ZUGFeRDInvoiceImporter importer = new ZUGFeRDInvoiceImporter(new FileInputStream(inputFile));
Invoice invoice = importer.extractInvoice();
assertEquals(1,invoice.getRecipient().getBankDetails().size());
assertEquals(1, invoice.getRecipient().getBankDetails().size());
// IBAN belongs to recipient in invoice with sepa debit
assertEquals("DE21860000000086001055",invoice.getRecipient().getBankDetails().get(0).getIBAN());
assertEquals(0,invoice.getSender().getBankDetails().size());
assertEquals("DE21860000000086001055", invoice.getRecipient().getBankDetails().get(0).getIBAN());
assertEquals(0, invoice.getSender().getBankDetails().size());

inputFile = getResourceAsFile("factur-x.xml");

importer = new ZUGFeRDInvoiceImporter(new FileInputStream(inputFile));
invoice = importer.extractInvoice();
assertEquals(1,invoice.getSender().getBankDetails().size());
assertEquals(1, invoice.getSender().getBankDetails().size());
// IBAN belongs to sender in normal invoice
assertEquals("DE88200800000970375700",invoice.getSender().getBankDetails().get(0).getIBAN());
assertEquals(0,invoice.getRecipient().getBankDetails().size());
assertEquals("DE88200800000970375700", invoice.getSender().getBankDetails().get(0).getIBAN());
assertEquals(0, invoice.getRecipient().getBankDetails().size());

}

Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.mustangproject</groupId>
<artifactId>core</artifactId>
<version>2.16.1-SNAPSHOT</version> <packaging>pom</packaging>
<version>2.16.2-SNAPSHOT</version> <packaging>pom</packaging>
<name>Mustang</name>

<modules>
Expand Down
6 changes: 3 additions & 3 deletions validator/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@
<parent>
<groupId>org.mustangproject</groupId>
<artifactId>core</artifactId>
<version>2.16.1-SNAPSHOT</version>
<version>2.16.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.mustangproject</groupId>
<artifactId>validator</artifactId>
<name>Library to validate e-invoices (ZUGFeRD, Factur-X and Xrechnung)</name>

<packaging>jar</packaging>
<version>2.16.1-SNAPSHOT</version>
<version>2.16.2-SNAPSHOT</version>
<repositories>
<repository>
<!-- for jargs -->
Expand All @@ -38,7 +38,7 @@
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>library</artifactId>
<version>2.16.1-SNAPSHOT</version>
<version>2.16.2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.dom4j</groupId>
Expand Down

0 comments on commit aed173b

Please sign in to comment.