From 5d7df7e44dfc1e326a9ed39c64b1a7211516e4b7 Mon Sep 17 00:00:00 2001 From: Andre Kemper Date: Wed, 27 Mar 2019 12:12:41 +0100 Subject: [PATCH 1/8] ignore intellij stuff --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index de7b2f4b..052db933 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,7 @@ target/ pom.xml.* bin/ /.gradle/ + +# ignore intelliJ foobar +*.iml +.idea \ No newline at end of file From 2c954cb669a825b2f2052f726f20ca7c627297b6 Mon Sep 17 00:00:00 2001 From: Andre Kemper Date: Wed, 27 Mar 2019 12:12:52 +0100 Subject: [PATCH 2/8] fix Syntax --- src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java index 582c5596..0b6989bb 100644 --- a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java +++ b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java @@ -161,7 +161,7 @@ public class ZUGFeRDExporter implements Closeable { public static String getFilenameForVersion(int ver) { if (ver == 1) { return "ZUGFeRD-invoice.xml"; - } else if (ver == 2)&&(isFacturX) { + } else if ((ver == 2) || (isFacturX)) { return "factur-x.xml"; } else { throw new IllegalArgumentException("Version not supported"); From de56dfcf60607a51d0c9b926b853909fb9821432 Mon Sep 17 00:00:00 2001 From: Andre Kemper Date: Wed, 27 Mar 2019 12:50:56 +0100 Subject: [PATCH 3/8] Ignore test files --- .gitignore | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 052db933..4cebad36 100644 --- a/.gitignore +++ b/.gitignore @@ -9,4 +9,7 @@ bin/ # ignore intelliJ foobar *.iml -.idea \ No newline at end of file +.idea + +# ignore test files +ZUGFeRD-*-test \ No newline at end of file From 80710bd98485279860e612d5149286ec80fc05e2 Mon Sep 17 00:00:00 2001 From: Andre Kemper Date: Wed, 27 Mar 2019 15:01:06 +0100 Subject: [PATCH 4/8] add BLZ --- ZUGFeRD2-invoice.xml | 7 ++--- .../IZUGFeRDExportableTransaction.java | 8 +++++- .../ZUGFeRD/ZUGFeRDImporter.java | 24 +++++++++++++++++- .../ZUGFeRDTransactionModelConverter.java | 4 +++ .../IZUGFeRDExportableTransactionImpl.java | 11 ++++++++ .../MustangReaderWriterCustomXMLTest.java | 16 +++++++++--- .../ZUGFeRD/MustangReaderWriterEdgeTest.java | 12 +++++++++ .../ZUGFeRD/MustangReaderWriterTest.java | 12 +++++++-- ...ngGnuaccountingBeispielRE-20170509_505.pdf | Bin 163575 -> 161268 bytes .../input/ZUGFeRD1-invoice-adjusted.xml | 1 + .../migration/input/ZUGFeRD1-invoice.xml | 1 + .../migration/reference/ZUGFeRD2-invoice.xml | 1 + 12 files changed, 87 insertions(+), 10 deletions(-) diff --git a/ZUGFeRD2-invoice.xml b/ZUGFeRD2-invoice.xml index cf4be5c7..76a793b0 100644 --- a/ZUGFeRD2-invoice.xml +++ b/ZUGFeRD2-invoice.xml @@ -26,7 +26,7 @@ Migrated by Mustangproject XSLT 1 - Künstlerische Gestaltung (Stunde): Einer Beispielrechnung + Künstlerische Gestaltung (Stunde): Einer Beispielrechnung @@ -90,7 +90,7 @@ Migrated by Mustangproject XSLT 3 - Heiße Luft pro Liter + Heiße Luft pro Liter @@ -158,12 +158,13 @@ Migrated by Mustangproject XSLT EUR 42 - Überweisung + Überweisung DE88 2008 0000 0970 3757 00 COBADEFFXXX + 41441604 Commerzbank diff --git a/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransaction.java b/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransaction.java index 3077e610..a6972a51 100644 --- a/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransaction.java +++ b/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransaction.java @@ -83,7 +83,13 @@ public interface IZUGFeRDExportableTransaction { */ String getOwnBIC(); - /*** + /*** + * BLZ of the sender + * @return the BLZ code of the recipient sender's bank + */ + String getOwnBLZ(); + + /*** * Bank name of the sender * @return the name of the sender's bank */ diff --git a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java index bf76a855..bd2a2678 100644 --- a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java +++ b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java @@ -63,6 +63,7 @@ public class ZUGFeRDImporter { private boolean containsMeta = false; /** @var the reference (i.e. invoice number) of the sender */ private String foreignReference; + private String BLZ; private String BIC; private String IBAN; private String holder; @@ -127,7 +128,7 @@ public class ZUGFeRDImporter { //start InputStream XMP=doc.getDocumentCatalog().getMetadata().exportXMPMetadata(); - xmpString=convertStreamToString(XMP); + xmpString=convertStreamToString(XMP); etn = names.getEmbeddedFiles(); if (etn == null) { return; @@ -299,6 +300,9 @@ public class ZUGFeRDImporter { if ((detail.getLocalName() != null) && (detail.getLocalName().equals("BICID"))) { //$NON-NLS-1$ setBIC(detail.getTextContent()); } + if ((detail.getLocalName() != null) && (detail.getLocalName().equals("GermanBankleitzahlID"))) { //$NON-NLS-1$ + setBLZ(detail.getTextContent()); + } if ((detail.getLocalName() != null) && (detail.getLocalName().equals("Name"))) { //$NON-NLS-1$ setBankName(detail.getTextContent()); } @@ -393,6 +397,24 @@ public class ZUGFeRDImporter { this.foreignReference = foreignReference; } + /** + * + * @return the sender's bank's BLZ code + */ + public String getBLZ() { + if (!parsed) { + throw new RuntimeException("use extract() before requesting a value"); + } + if (BLZ==null) { + parse(); + } + return BLZ; + } + + private void setBLZ(String blz) { + this.BLZ = blz; + } + /** * * @return the sender's bank's BIC code diff --git a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDTransactionModelConverter.java b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDTransactionModelConverter.java index f50cc697..ebe3ea98 100644 --- a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDTransactionModelConverter.java +++ b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDTransactionModelConverter.java @@ -373,6 +373,10 @@ class ZUGFeRDTransactionModelConverter { TextType bankName = xmlFactory.createTextType(); bankName.setValue(trans.getOwnBankName()); bankData.setName(bankName); + IDType blz = xmlFactory.createIDType(); + blz.setValue(trans.getOwnBLZ()); + bankData.setGermanBankleitzahlID(blz); + paymentData.setPayeeSpecifiedCreditorFinancialInstitution(bankData); return paymentData; } diff --git a/src/test/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransactionImpl.java b/src/test/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransactionImpl.java index fd46abb2..a4225289 100644 --- a/src/test/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransactionImpl.java +++ b/src/test/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransactionImpl.java @@ -30,6 +30,7 @@ public class IZUGFeRDExportableTransactionImpl implements IZUGFeRDExportableTran private IZUGFeRDAllowanceCharge[] zFLogisticsServiceCharges; private IZUGFeRDExportableItem[] zFItems; private IZUGFeRDExportableContact recipient; + private String ownBLZ; private String ownBIC; private String ownBankName; private String ownIBAN; @@ -91,6 +92,11 @@ public class IZUGFeRDExportableTransactionImpl implements IZUGFeRDExportableTran return recipient; } + @Override + public String getOwnBLZ() { + return ownBLZ; + } + @Override public String getOwnBIC() { return ownBIC; @@ -211,6 +217,11 @@ public class IZUGFeRDExportableTransactionImpl implements IZUGFeRDExportableTran return this; } + public IZUGFeRDExportableTransactionImpl setOwnBLZ(String ownBLZ) { + this.ownBLZ = ownBLZ; + return this; + } + public IZUGFeRDExportableTransactionImpl setOwnBIC(String ownBIC) { this.ownBIC = ownBIC; return this; diff --git a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterCustomXMLTest.java b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterCustomXMLTest.java index a184e89e..b7cbd95c 100644 --- a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterCustomXMLTest.java +++ b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterCustomXMLTest.java @@ -219,7 +219,8 @@ public class MustangReaderWriterCustomXMLTest extends TestCase { " DE88 2008 0000 0970 3757 00\n" + " \n" + " \n" + - " COBADEFFXXX\n" + + " COBADEFFXXX\n" + + " 41441604\n" + " Commerzbank\n" + " \n" + " \n" + @@ -276,6 +277,7 @@ public class MustangReaderWriterCustomXMLTest extends TestCase { String amount = null; String bic = null; + String blz = null; String iban = null; String holder = null; String ref = null; @@ -283,6 +285,7 @@ public class MustangReaderWriterCustomXMLTest extends TestCase { if (zi.canParse()) { zi.parse(); amount = zi.getAmount(); + blz = zi.getBLZ(); bic = zi.getBIC(); iban = zi.getIBAN(); holder = zi.getHolder(); @@ -290,6 +293,7 @@ public class MustangReaderWriterCustomXMLTest extends TestCase { } assertEquals(amount, "571.04"); + assertEquals(blz, "41441604"); assertEquals(bic, "COBADEFFXXX"); assertEquals(iban, "DE88 2008 0000 0970 3757 00"); assertEquals(holder, "Bei Spiel GmbH"); @@ -351,8 +355,11 @@ public class MustangReaderWriterCustomXMLTest extends TestCase { + "Überweisung\n" + "\n" + "DE88 2008 0000 0970 3757 00\n" + "\n" - + "\n" + "COBADEFFXXX\n" - + "Commerzbank\n" + "\n" + + "\n" + + "COBADEFFXXX\n" + + "41441604\n" + + "Commerzbank\n" + + "\n" + "\n" + "\n" + "11.20\n" + "VAT\n" @@ -467,6 +474,7 @@ public class MustangReaderWriterCustomXMLTest extends TestCase { String amount = null; String bic = null; + String blz = null; String iban = null; String holder = null; String ref = null; @@ -475,6 +483,7 @@ public class MustangReaderWriterCustomXMLTest extends TestCase { zi.parse(); amount = zi.getAmount(); bic = zi.getBIC(); + blz = zi.getBLZ(); iban = zi.getIBAN(); holder = zi.getHolder(); ref = zi.getForeignReference(); @@ -482,6 +491,7 @@ public class MustangReaderWriterCustomXMLTest extends TestCase { assertEquals(amount, "571.04"); assertEquals(bic, "COBADEFFXXX"); + assertEquals(blz, "41441604"); assertEquals(iban, "DE88 2008 0000 0970 3757 00"); assertEquals(holder, "Bei Spiel GmbH"); assertEquals(ref, "RE-20170509/505"); diff --git a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java index 288a0d81..e61a1d33 100644 --- a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java +++ b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java @@ -59,6 +59,12 @@ public class MustangReaderWriterEdgeTest extends TestCase implements IZUGFeRDExp return "RE-20170509/505"; } + @Override + public String getOwnBLZ() + { + return "41441604"; + } + @Override public String getOwnBIC() { @@ -379,6 +385,7 @@ public class MustangReaderWriterEdgeTest extends TestCase implements IZUGFeRDExp String amount = null; String bic = null; + String blz = null; String iban = null; String holder = null; String ref = null; @@ -389,6 +396,7 @@ public class MustangReaderWriterEdgeTest extends TestCase implements IZUGFeRDExp zi.parse(); amount = zi.getAmount(); bic = zi.getBIC(); + blz = zi.getBLZ(); iban = zi.getIBAN(); holder = zi.getHolder(); dueDate = zi.getDueDate(); @@ -397,6 +405,7 @@ public class MustangReaderWriterEdgeTest extends TestCase implements IZUGFeRDExp assertEquals(amount, "571.04"); assertEquals(bic, getOwnBIC()); + assertEquals(blz, getOwnBLZ()); assertEquals(iban, getOwnIBAN()); assertEquals(holder, getOwnOrganisationName()); @@ -439,6 +448,7 @@ public class MustangReaderWriterEdgeTest extends TestCase implements IZUGFeRDExp String amount = null; String bic = null; + String blz = null; String iban = null; String holder = null; String ref = null; @@ -448,6 +458,7 @@ public class MustangReaderWriterEdgeTest extends TestCase implements IZUGFeRDExp zi.parse(); amount = zi.getAmount(); bic = zi.getBIC(); + blz = zi.getBLZ(); iban = zi.getIBAN(); holder = zi.getHolder(); ref = zi.getForeignReference(); @@ -455,6 +466,7 @@ public class MustangReaderWriterEdgeTest extends TestCase implements IZUGFeRDExp assertEquals(amount, "571.04"); assertEquals(bic, getOwnBIC()); + assertEquals(blz, getOwnBLZ()); assertEquals(iban, getOwnIBAN()); assertEquals(holder, getOwnOrganisationName()); assertEquals(ref, getNumber()); diff --git a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java index b7a63266..ee4b5d2d 100644 --- a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java +++ b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java @@ -56,7 +56,12 @@ public class MustangReaderWriterTest extends TestCase implements IZUGFeRDExporta return "RE-20171118/506"; } - @Override + @Override + public String getOwnBLZ() { + return "41441604"; + } + + @Override public String getOwnBIC() { return "COBADEFFXXX"; } @@ -345,6 +350,7 @@ public class MustangReaderWriterTest extends TestCase implements IZUGFeRDExporta // Reading ZUGFeRD String amount = null; + String blz = null; String bic = null; String iban = null; String holder = null; @@ -353,6 +359,7 @@ public class MustangReaderWriterTest extends TestCase implements IZUGFeRDExporta if (zi.canParse()) { zi.parse(); amount = zi.getAmount(); + blz = zi.getBLZ(); bic = zi.getBIC(); iban = zi.getIBAN(); holder = zi.getHolder(); @@ -360,7 +367,8 @@ public class MustangReaderWriterTest extends TestCase implements IZUGFeRDExporta } // this resembles the data written in MustangReaderWriterCustomXMLTest assertEquals(amount, "571.04"); - assertEquals(bic, "COBADEFFXXX"); + assertEquals(blz, "41441604"); + assertEquals(bic, "COBADEFFXXX"); assertEquals(iban, "DE88 2008 0000 0970 3757 00"); assertEquals(holder, "Bei Spiel GmbH"); assertEquals(ref, "RE-20170509/505"); diff --git a/src/test/resources/MustangGnuaccountingBeispielRE-20170509_505.pdf b/src/test/resources/MustangGnuaccountingBeispielRE-20170509_505.pdf index 14976a4565833ad9c2e1d11f3a138c7920ceadd0..07a14203448982ed9e5fb8fdd08f387cb2632dfe 100644 GIT binary patch delta 9294 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 J{q_xs{{p;Gk8}V4 delta 10466 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 COBADEFFXXX + 41441604 Commerzbank diff --git a/src/test/resources/migration/input/ZUGFeRD1-invoice.xml b/src/test/resources/migration/input/ZUGFeRD1-invoice.xml index c9dbbe2c..a0948cb2 100644 --- a/src/test/resources/migration/input/ZUGFeRD1-invoice.xml +++ b/src/test/resources/migration/input/ZUGFeRD1-invoice.xml @@ -80,6 +80,7 @@ COBADEFFXXX + 41441604 Commerzbank diff --git a/src/test/resources/migration/reference/ZUGFeRD2-invoice.xml b/src/test/resources/migration/reference/ZUGFeRD2-invoice.xml index 4247df96..5eb5637c 100644 --- a/src/test/resources/migration/reference/ZUGFeRD2-invoice.xml +++ b/src/test/resources/migration/reference/ZUGFeRD2-invoice.xml @@ -180,6 +180,7 @@ Migrated by Mustangproject XSLT COBADEFFXXX + 41441604 Commerzbank From 8e800d745081be41170937196e318fe9593d2256 Mon Sep 17 00:00:00 2001 From: Andre Kemper Date: Wed, 27 Mar 2019 20:11:31 +0100 Subject: [PATCH 5/8] upgrade to 1.8 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index f3d5aef5..508ced61 100644 --- a/pom.xml +++ b/pom.xml @@ -39,8 +39,8 @@ -Xdoclint:none 1.7 - 1.7 - 1.7 + 1.8 + 1.8 From 08956fd7a5105358931730bb3ef5d97be919a53e Mon Sep 17 00:00:00 2001 From: Andre Kemper Date: Thu, 28 Mar 2019 07:45:16 +0100 Subject: [PATCH 6/8] ignore dependency pom --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 4cebad36..ece11c66 100644 --- a/.gitignore +++ b/.gitignore @@ -12,4 +12,6 @@ bin/ .idea # ignore test files -ZUGFeRD-*-test \ No newline at end of file +ZUGFeRD-*-test + +dependency-reduced-pom.xml \ No newline at end of file From 543f1cd207f8e1ac82896e93030c1d3f5263791e Mon Sep 17 00:00:00 2001 From: Andre Kemper Date: Thu, 28 Mar 2019 07:45:32 +0100 Subject: [PATCH 7/8] add kto --- .../IZUGFeRDExportableTransaction.java | 8 ++++- .../ZUGFeRD/ZUGFeRD2PullProvider.java | 2 ++ .../ZUGFeRD/ZUGFeRDImporter.java | 30 +++++++++++++++--- .../ZUGFeRDTransactionModelConverter.java | 3 ++ .../IZUGFeRDExportableTransactionImpl.java | 11 +++++++ .../MustangReaderWriterCustomXMLTest.java | 12 +++++-- .../ZUGFeRD/MustangReaderWriterEdgeTest.java | 14 +++++++- .../ZUGFeRD/MustangReaderWriterTest.java | 11 +++++++ ...ngGnuaccountingBeispielRE-20170509_505.pdf | Bin 161268 -> 161316 bytes .../input/ZUGFeRD1-invoice-adjusted.xml | 1 + .../migration/input/ZUGFeRD1-invoice.xml | 1 + .../migration/reference/ZUGFeRD2-invoice.xml | 1 + 12 files changed, 86 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransaction.java b/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransaction.java index a6972a51..da6ebed3 100644 --- a/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransaction.java +++ b/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransaction.java @@ -101,7 +101,13 @@ public interface IZUGFeRDExportableTransaction { */ String getOwnIBAN(); - /** + /** + * IBAN of the sender + * @return the Account Number of the invoice sender's bank account + */ + String getOwnKto(); + + /** * Tax ID (not VAT ID) of the sender * @return Tax ID (not VAT ID) of the sender */ diff --git a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java index 58407e7b..dfac61cc 100644 --- a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java +++ b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java @@ -344,9 +344,11 @@ public class ZUGFeRD2PullProvider implements IXMLProvider { + " Überweisung\n" //$NON-NLS-1$ + " \n" //$NON-NLS-1$ + " "+trans.getOwnIBAN()+"\n" //$NON-NLS-1$ //$NON-NLS-2$ + + " "+trans.getOwnKto()+"\n" //$NON-NLS-1$ //$NON-NLS-2$ + " \n" //$NON-NLS-1$ + " \n" //$NON-NLS-1$ + " "+trans.getOwnBIC()+"\n" //$NON-NLS-1$ //$NON-NLS-2$ + + " "+ trans.getOwnBLZ()+"\n" //$NON-NLS-1$ //$NON-NLS-2$ // + " "+trans.getOwnBankName()+"\n" //$NON-NLS-1$ //$NON-NLS-2$ + " \n" //$NON-NLS-1$ + " \n"; //$NON-NLS-1$ diff --git a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java index bd2a2678..bac9e128 100644 --- a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java +++ b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java @@ -66,6 +66,7 @@ public class ZUGFeRDImporter { private String BLZ; private String BIC; private String IBAN; + private String KTO; private String holder; private String amount; private String dueDate; @@ -284,9 +285,12 @@ public class ZUGFeRDImporter { Node detail = bookingDetails.item(detailIndex); if ((detail.getLocalName() != null) && (detail.getLocalName().equals("IBANID"))) { //$NON-NLS-1$ setIBAN(detail.getTextContent()); - } - } + if ((detail.getLocalName() != null) && (detail.getLocalName().equals("ProprietaryID"))) { //$NON-NLS-1$ + setKTO(detail.getTextContent()); + + } + } } ndList = document.getElementsByTagNameNS("*", "PayeeSpecifiedCreditorFinancialInstitution");// ZF1 //$NON-NLS-1$ @@ -455,7 +459,21 @@ public class ZUGFeRDImporter { return IBAN; } - /** + /** + * + * @return the sender's KTO + */ + public String getKTO() { + if (!parsed) { + throw new RuntimeException("use extract() before requesting a value"); + } + if (KTO==null) { + parse(); + } + return KTO; + } + + /** * * @return the sender's bank name */ @@ -473,7 +491,11 @@ public class ZUGFeRDImporter { this.IBAN = IBAN; } - /** + private void setKTO(String KTO) { + this.KTO = KTO; + } + + /** * * @return the name of the owner of the sender's bank account */ diff --git a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDTransactionModelConverter.java b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDTransactionModelConverter.java index ebe3ea98..ff9fd022 100644 --- a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDTransactionModelConverter.java +++ b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDTransactionModelConverter.java @@ -363,6 +363,9 @@ class ZUGFeRDTransactionModelConverter { IDType iban = xmlFactory.createIDType(); iban.setValue(trans.getOwnIBAN()); bankAccount.setIBANID(iban); + IDType kto = xmlFactory.createIDType(); + kto.setValue(trans.getOwnKto()); + bankAccount.setProprietaryID(kto); paymentData.setPayeePartyCreditorFinancialAccount(bankAccount); CreditorFinancialInstitutionType bankData = xmlFactory diff --git a/src/test/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransactionImpl.java b/src/test/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransactionImpl.java index a4225289..2ac05c96 100644 --- a/src/test/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransactionImpl.java +++ b/src/test/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransactionImpl.java @@ -30,6 +30,7 @@ public class IZUGFeRDExportableTransactionImpl implements IZUGFeRDExportableTran private IZUGFeRDAllowanceCharge[] zFLogisticsServiceCharges; private IZUGFeRDExportableItem[] zFItems; private IZUGFeRDExportableContact recipient; + private String ownKto; private String ownBLZ; private String ownBIC; private String ownBankName; @@ -92,6 +93,11 @@ public class IZUGFeRDExportableTransactionImpl implements IZUGFeRDExportableTran return recipient; } + @Override + public String getOwnKto() { + return ownKto; + } + @Override public String getOwnBLZ() { return ownBLZ; @@ -232,6 +238,11 @@ public class IZUGFeRDExportableTransactionImpl implements IZUGFeRDExportableTran return this; } + public IZUGFeRDExportableTransactionImpl setOwnKto(String ownKto) { + this.ownKto = ownKto; + return this; + } + public IZUGFeRDExportableTransactionImpl setOwnIBAN(String ownIBAN) { this.ownIBAN = ownIBAN; return this; diff --git a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterCustomXMLTest.java b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterCustomXMLTest.java index b7cbd95c..2245a3dc 100644 --- a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterCustomXMLTest.java +++ b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterCustomXMLTest.java @@ -216,8 +216,9 @@ public class MustangReaderWriterCustomXMLTest extends TestCase { " 42\n" + " Überweisung\n" + " \n" + - " DE88 2008 0000 0970 3757 00\n" + - " \n" + + " DE88 2008 0000 0970 3757 00\n" + + " 44421800\n" + + " \n" + " \n" + " COBADEFFXXX\n" + " 41441604\n" + @@ -279,6 +280,7 @@ public class MustangReaderWriterCustomXMLTest extends TestCase { String bic = null; String blz = null; String iban = null; + String kto = null; String holder = null; String ref = null; @@ -288,6 +290,7 @@ public class MustangReaderWriterCustomXMLTest extends TestCase { blz = zi.getBLZ(); bic = zi.getBIC(); iban = zi.getIBAN(); + kto = zi.getKTO(); holder = zi.getHolder(); ref = zi.getForeignReference(); } @@ -296,6 +299,7 @@ public class MustangReaderWriterCustomXMLTest extends TestCase { assertEquals(blz, "41441604"); assertEquals(bic, "COBADEFFXXX"); assertEquals(iban, "DE88 2008 0000 0970 3757 00"); + assertEquals(kto, "44421800"); assertEquals(holder, "Bei Spiel GmbH"); assertEquals(ref, "RE-20171118/506"); } @@ -354,6 +358,7 @@ public class MustangReaderWriterCustomXMLTest extends TestCase { + "\n" + "42\n" + "Überweisung\n" + "\n" + "DE88 2008 0000 0970 3757 00\n" + + "44421800\n" + "\n" + "\n" + "COBADEFFXXX\n" @@ -476,6 +481,7 @@ public class MustangReaderWriterCustomXMLTest extends TestCase { String bic = null; String blz = null; String iban = null; + String kto = null; String holder = null; String ref = null; @@ -485,6 +491,7 @@ public class MustangReaderWriterCustomXMLTest extends TestCase { bic = zi.getBIC(); blz = zi.getBLZ(); iban = zi.getIBAN(); + kto = zi.getKTO(); holder = zi.getHolder(); ref = zi.getForeignReference(); } @@ -493,6 +500,7 @@ public class MustangReaderWriterCustomXMLTest extends TestCase { assertEquals(bic, "COBADEFFXXX"); assertEquals(blz, "41441604"); assertEquals(iban, "DE88 2008 0000 0970 3757 00"); + assertEquals(kto, "44421800"); assertEquals(holder, "Bei Spiel GmbH"); assertEquals(ref, "RE-20170509/505"); } diff --git a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java index e61a1d33..1efe4b58 100644 --- a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java +++ b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java @@ -60,6 +60,12 @@ public class MustangReaderWriterEdgeTest extends TestCase implements IZUGFeRDExp } @Override + public String getOwnKto() + { + return "44421800"; + } + + @Override public String getOwnBLZ() { return "41441604"; @@ -370,7 +376,7 @@ public class MustangReaderWriterEdgeTest extends TestCase implements IZUGFeRDExp // //////// TESTS ////////////////////////////////////////////////////////////////////////////////////////// /** - * The importer test imports from ./src/test/MustangGnuaccountingBeispielRE-20151008_504.pdf to check the values. + * The importer test imports from ./src/test/MustangGnuaccountingBeispielRE-20170509_505.pdf to check the values. * --> as only Name Ascending is supported for Test Unit sequence, I renamed the this test-A-Export to run before * testZExport * @@ -387,6 +393,7 @@ public class MustangReaderWriterEdgeTest extends TestCase implements IZUGFeRDExp String bic = null; String blz = null; String iban = null; + String kto = null; String holder = null; String ref = null; String dueDate = null; @@ -398,6 +405,7 @@ public class MustangReaderWriterEdgeTest extends TestCase implements IZUGFeRDExp bic = zi.getBIC(); blz = zi.getBLZ(); iban = zi.getIBAN(); + kto = zi.getKTO(); holder = zi.getHolder(); dueDate = zi.getDueDate(); ref = zi.getForeignReference(); @@ -407,6 +415,7 @@ public class MustangReaderWriterEdgeTest extends TestCase implements IZUGFeRDExp assertEquals(bic, getOwnBIC()); assertEquals(blz, getOwnBLZ()); assertEquals(iban, getOwnIBAN()); + assertEquals(kto, getOwnKto()); assertEquals(holder, getOwnOrganisationName()); assertEquals(dueDate, "20170530"); @@ -450,6 +459,7 @@ public class MustangReaderWriterEdgeTest extends TestCase implements IZUGFeRDExp String bic = null; String blz = null; String iban = null; + String kto = null; String holder = null; String ref = null; @@ -460,6 +470,7 @@ public class MustangReaderWriterEdgeTest extends TestCase implements IZUGFeRDExp bic = zi.getBIC(); blz = zi.getBLZ(); iban = zi.getIBAN(); + kto = zi.getKTO(); holder = zi.getHolder(); ref = zi.getForeignReference(); } @@ -468,6 +479,7 @@ public class MustangReaderWriterEdgeTest extends TestCase implements IZUGFeRDExp assertEquals(bic, getOwnBIC()); assertEquals(blz, getOwnBLZ()); assertEquals(iban, getOwnIBAN()); + assertEquals(kto, getOwnKto()); assertEquals(holder, getOwnOrganisationName()); assertEquals(ref, getNumber()); diff --git a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java index ee4b5d2d..621fb874 100644 --- a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java +++ b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java @@ -56,6 +56,11 @@ public class MustangReaderWriterTest extends TestCase implements IZUGFeRDExporta return "RE-20171118/506"; } + @Override + public String getOwnKto() { + return "44421800"; + } + @Override public String getOwnBLZ() { return "41441604"; @@ -353,6 +358,7 @@ public class MustangReaderWriterTest extends TestCase implements IZUGFeRDExporta String blz = null; String bic = null; String iban = null; + String kto = null; String holder = null; String ref = null; @@ -362,6 +368,7 @@ public class MustangReaderWriterTest extends TestCase implements IZUGFeRDExporta blz = zi.getBLZ(); bic = zi.getBIC(); iban = zi.getIBAN(); + kto = zi.getKTO(); holder = zi.getHolder(); ref = zi.getForeignReference(); } @@ -370,6 +377,7 @@ public class MustangReaderWriterTest extends TestCase implements IZUGFeRDExporta assertEquals(blz, "41441604"); assertEquals(bic, "COBADEFFXXX"); assertEquals(iban, "DE88 2008 0000 0970 3757 00"); + assertEquals(kto, "44421800"); assertEquals(holder, "Bei Spiel GmbH"); assertEquals(ref, "RE-20170509/505"); @@ -522,6 +530,7 @@ public class MustangReaderWriterTest extends TestCase implements IZUGFeRDExporta String amount = null; String bic = null; String iban = null; + String kto = null; String holder = null; String ref = null; if (zi.canParse()) { @@ -529,6 +538,7 @@ public class MustangReaderWriterTest extends TestCase implements IZUGFeRDExporta amount = zi.getAmount(); bic = zi.getBIC(); iban = zi.getIBAN(); + kto = zi.getKTO(); holder = zi.getHolder(); ref = zi.getForeignReference(); } @@ -536,6 +546,7 @@ public class MustangReaderWriterTest extends TestCase implements IZUGFeRDExporta assertEquals(amount, "571.04"); assertEquals(bic, getOwnBIC()); assertEquals(iban, getOwnIBAN()); + assertEquals(kto, getOwnKto()); assertEquals(holder, getOwnOrganisationName()); assertEquals(ref, getNumber()); diff --git a/src/test/resources/MustangGnuaccountingBeispielRE-20170509_505.pdf b/src/test/resources/MustangGnuaccountingBeispielRE-20170509_505.pdf index 07a14203448982ed9e5fb8fdd08f387cb2632dfe..d2bcf2180de4c810a9b8746465dee507462cc300 100644 GIT binary patch delta 4122 zcmZu!J&R;j5T#ojnFdV;1HoW6m_(4dRkyzGup=(I3r6dLV7$oqz3PsuVDwl7BQa69 z(FTG)KojS8>>n5~)L?3eLx|C47|<0lcb zH;9P@#Jt}*Sw8kMpd2rK>15kdvnR&B`E z0@-@M@$PbOh>8Rw5VkqMN@0K%B48`zkVDwkIiA}*DyjXq zKY|Ht7i?QO`ad5opFXbDrstW%dM2hYnM3=HkJ86#3=mdf;Dzt^x#EU@gl>1>|Q(yxjCI@HWO6*L-76E2)9LlLC8Qa)EKjqOjet zm~G`q{fTFG2$rbR8OZ5Ds7?#aUeZH&_7Mghv0pfb5p06|k!#tfCo ziQ0xOHY1sQ(LoH~ubi(VNbEV0rq4QImv}blf4>_pZ#3-OAhB0;u!~~iGz}zHRMl;& z>X3V`m+do26+8-75{gM?l<}tE^t=mRR(w@(ZX>jRFqvFIuzGM%zw=$U#jR3A z`~%Xxzr%mvL7FsLiC~k$xp()ObI*5|g=Npq&NuVTH*@Cx{@3Y0f1W=5`($q)=klJ! zo4vtlHrWQV*a_cvt)4QB5+nW?5fn+?zProNz)&n?#{=g zrT0;C2ET>SZ=r+VmD?haPvL|ZTo;US^=Dy7vS?X?U)gCz5OW0af{9dWF#X3;fWJ@yY zSVG*rwuEd|lHfnoR*){?44H@^TOuf6QDjRt8c3{;2;!(icW0x+jYc8&zAq>z z?+J{#2GXWX6_U!FdQ#&aJ)GTYSdBx&KS!TG+MU0p8~CPZ?$gg=}PuVOr?LKVyeNHb5+1RI+K zMUx^_)qay8KN2*3f3Z6o()281xszdOpx7?JpA&2*MTw)Hx;TTz hk?5OM$40}(6KT80Tui@wz5C%br~U2Q_dk5F{|_RZ7>NJ? diff --git a/src/test/resources/migration/input/ZUGFeRD1-invoice-adjusted.xml b/src/test/resources/migration/input/ZUGFeRD1-invoice-adjusted.xml index 9667d4b5..70db824b 100644 --- a/src/test/resources/migration/input/ZUGFeRD1-invoice-adjusted.xml +++ b/src/test/resources/migration/input/ZUGFeRD1-invoice-adjusted.xml @@ -77,6 +77,7 @@ Überweisung DE88 2008 0000 0970 3757 00 + 44421800 COBADEFFXXX diff --git a/src/test/resources/migration/input/ZUGFeRD1-invoice.xml b/src/test/resources/migration/input/ZUGFeRD1-invoice.xml index a0948cb2..4b3ddba2 100644 --- a/src/test/resources/migration/input/ZUGFeRD1-invoice.xml +++ b/src/test/resources/migration/input/ZUGFeRD1-invoice.xml @@ -77,6 +77,7 @@ Überweisung DE88 2008 0000 0970 3757 00 + 44421800 COBADEFFXXX diff --git a/src/test/resources/migration/reference/ZUGFeRD2-invoice.xml b/src/test/resources/migration/reference/ZUGFeRD2-invoice.xml index 5eb5637c..12043217 100644 --- a/src/test/resources/migration/reference/ZUGFeRD2-invoice.xml +++ b/src/test/resources/migration/reference/ZUGFeRD2-invoice.xml @@ -177,6 +177,7 @@ Migrated by Mustangproject XSLT Überweisung DE88 2008 0000 0970 3757 00 + 44421800 COBADEFFXXX From 50b257f3c1fd43cf366a50cd42f64ca6e6271c6c Mon Sep 17 00:00:00 2001 From: Andre Kemper Date: Tue, 2 Apr 2019 20:14:00 +0200 Subject: [PATCH 8/8] add kto --- ZUGFeRD2-invoice.xml | 1 + .../org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ZUGFeRD2-invoice.xml b/ZUGFeRD2-invoice.xml index 76a793b0..ae3a1a03 100644 --- a/ZUGFeRD2-invoice.xml +++ b/ZUGFeRD2-invoice.xml @@ -161,6 +161,7 @@ Migrated by Mustangproject XSLT Überweisung DE88 2008 0000 0970 3757 00 + 44421800 COBADEFFXXX diff --git a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java index 1efe4b58..e813dbe4 100644 --- a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java +++ b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java @@ -65,7 +65,7 @@ public class MustangReaderWriterEdgeTest extends TestCase implements IZUGFeRDExp return "44421800"; } - @Override + @Override public String getOwnBLZ() { return "41441604";