diff --git a/History.md b/History.md index 4d8c1b3b..8a668175 100644 --- a/History.md +++ b/History.md @@ -2,6 +2,7 @@ ======= Missing closing tag in BankDetails when there's no BIC number #339 +ZUGFeRDExporterFromA3 did not set default ZUGFeRD Version Have a way to merge to PDF file without knowing if it is A-1 or A-3 #341 Be able to validate XR 3.0 #347 diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporterFromA1.java b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporterFromA1.java index 752d88bb..c8c7caba 100644 --- a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporterFromA1.java +++ b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporterFromA1.java @@ -84,10 +84,6 @@ public boolean ensurePDFIsValid(final DataSource dataSource) throws IOException return true; } - public ZUGFeRDExporterFromA1() { - setZUGFeRDVersion(ZUGFeRDExporterFromA3.DefaultZUGFeRDVersion); - - } public ZUGFeRDExporterFromA1 load(String pdfFilename) throws IOException { return (ZUGFeRDExporterFromA1) super.load(pdfFilename); diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporterFromA3.java b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporterFromA3.java index eb4dbcfb..f6a0bbc4 100644 --- a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporterFromA3.java +++ b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporterFromA3.java @@ -264,6 +264,8 @@ public ZUGFeRDExporterFromA3 load(byte[] pdfBinary) throws IOException { public ZUGFeRDExporterFromA3() { super(); + setZUGFeRDVersion(ZUGFeRDExporterFromA3.DefaultZUGFeRDVersion); + } public void attachFile(FileAttachment file) { diff --git a/library/src/test/java/org/mustangproject/ZUGFeRD/PDFAWriteTest.java b/library/src/test/java/org/mustangproject/ZUGFeRD/PDFAWriteTest.java index 506f0e60..273f94e2 100644 --- a/library/src/test/java/org/mustangproject/ZUGFeRD/PDFAWriteTest.java +++ b/library/src/test/java/org/mustangproject/ZUGFeRD/PDFAWriteTest.java @@ -33,25 +33,38 @@ @FixMethodOrder(MethodSorters.NAME_ASCENDING) public class PDFAWriteTest extends ResourceCase { + final String TARGET_PDF_FROM_A1 = "./target/testout-PDFA3FromA3.pdf"; final String TARGET_PDF_FROM_A3 = "./target/testout-PDFA3FromA3.pdf"; final String TARGET_PDF_FROM_A3_UNKNOWN = "./target/testout-PDFA3FromUnkownA3.pdf"; final String TARGET_PDF_FROM_A1_UNKNOWN = "./target/testout-PDFA3FromUnkownA1.pdf"; - public void testA3KnownExport() { + public void testA1KnownExport() { // test creating factur-x invoices to french authorities, i.e. with SIRET number // the writing part TradeParty recipient = new TradeParty("Franz Müller", "teststr.12", "55232", "Entenhausen", "DE"); + Invoice i = createInvoice(recipient); - File tempFile = getResourceAsFile("MustangGnuaccountingBeispielRE-20201121_508blankoA3.pdf");//a3 + File tempFile = getResourceAsFile("MustangGnuaccountingBeispielRE-20201121_508blanko.pdf");//a3 int exceptions=0; try { - ZUGFeRDExporterFromA3 zea3 = new ZUGFeRDExporterFromA3().load(tempFile.getAbsolutePath()); + ZUGFeRDExporterFromA1 zea3 = new ZUGFeRDExporterFromA1().load(tempFile.getAbsolutePath()); + zea3.setTransaction(i); + zea3.export(TARGET_PDF_FROM_A1); - zea3.setTransaction(new Invoice().setDueDate(new Date()).setIssueDate(new Date()).setDeliveryDate(new Date()) - .setSender(new TradeParty("Test", "teststr", "55232", "teststadt", "DE").addBankDetails(new BankDetails("777666555", "DE4321"))).setOwnTaxID("4711").setOwnVATID("DE19990815") - .setRecipient(new TradeParty("Franz Müller", "teststr.12", "55232", "Entenhausen", "DE") - .setContact(new Contact("nameRep", "phoneRep", "emailRep@test.com"))).setNumber("X12") - .addItem(new Item(new Product("Testprodukt", "", "C62", new BigDecimal(19)), new BigDecimal(2.5), new BigDecimal(1.0)))); + } catch (IOException e) { + exceptions++; + } + assertTrue(exceptions==0); + } + public void testA3KnownExport() { + TradeParty recipient = new TradeParty("Franz Müller", "teststr.12", "55232", "Entenhausen", "DE"); + + Invoice i = createInvoice(recipient); + File tempFile = getResourceAsFile("MustangGnuaccountingBeispielRE-20201121_508blankoA3.pdf");//a3 + int exceptions=0; + try { + ZUGFeRDExporterFromA3 zea3 = new ZUGFeRDExporterFromA3().load(tempFile.getAbsolutePath()); + zea3.setTransaction(i); zea3.export(TARGET_PDF_FROM_A3); } catch (IOException e) {