From 3bb2a951d919b16483b155353905878fb4c49dbe Mon Sep 17 00:00:00 2001 From: Alexander Berndt Date: Thu, 18 Jun 2020 09:56:20 +0200 Subject: [PATCH 01/18] Added getInvoiceID() to ZUGFeRDImporter.java Added Test --- .../mustangproject/ZUGFeRD/ZUGFeRDImporter.java | 16 ++++++++++++++++ .../java/org/mustangproject/ZUGFeRD/ZF2Test.java | 1 + 2 files changed, 17 insertions(+) diff --git a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java index 3e59bbe1..ac87a29d 100644 --- a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java +++ b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java @@ -252,6 +252,22 @@ public class ZUGFeRDImporter { return result; } + /** + * @return the Invoice ID + */ + public String getInvoiceID() { + try { + if (getVersion() == 1) { + return extractString("//HeaderExchangedDocument//ID"); + } else { + return extractString("//ExchangedDocument//ID"); + } + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + /** * @return the document code diff --git a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java index b80b8b37..034edb7b 100644 --- a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java +++ b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java @@ -207,6 +207,7 @@ public class ZF2Test extends MustangReaderTestCase { // Reading ZUGFeRD assertEquals(zi.getAmount(), "571.04"); + assertEquals(zi.getInvoiceID(), "RE-20170509/505"); assertEquals(zi.getHolder(), getOwnOrganisationName()); assertEquals(zi.getDocumentCode(),"380"); assertEquals(zi.getReference(),"AB321"); From 77a660b737b3aa37ac3618975fed1ce2c456d201 Mon Sep 17 00:00:00 2001 From: Alexander Berndt Date: Thu, 18 Jun 2020 10:26:55 +0200 Subject: [PATCH 02/18] Added getZUGFeRDProfil() to ZUGFeRDImporter.java Added Test --- .../ZUGFeRD/ZUGFeRDImporter.java | 23 +++++++++++++++++++ .../org/mustangproject/ZUGFeRD/ZF2Test.java | 1 + 2 files changed, 24 insertions(+) diff --git a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java index ac87a29d..de64c446 100644 --- a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java +++ b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java @@ -252,6 +252,28 @@ public class ZUGFeRDImporter { return result; } + /** + * @return the ZUGFeRD Profile + */ + public String getZUGFeRDProfil() { + switch (extractString("//GuidelineSpecifiedDocumentContextParameter//ID")) { + case "urn:cen.eu:en16931:2017": + case "urn:ferd:CrossIndustryDocument:invoice:1p0:comfort": + return "COMFORT"; + case "urn:cen.eu:en16931:2017#compliant#urn:factur-x.eu:1p0:basic": + case "urn:ferd:CrossIndustryDocument:invoice:1p0:basic": + return "BASIC"; + case "urn:factur-x.eu:1p0:basicwl": + return "BASIC WL"; + case "urn:factur-x.eu:1p0:minimum": + return "MINIMUM"; + case "urn:ferd:CrossIndustryDocument:invoice:1p0:extended": + case "urn:cen.eu:en16931:2017#conformant#urn:factur-x.eu:1p0:extended": + return "EXTENDED"; + } + return ""; + } + /** * @return the Invoice ID */ @@ -269,6 +291,7 @@ public class ZUGFeRDImporter { } + /** * @return the document code */ diff --git a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java index 034edb7b..7adc39f6 100644 --- a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java +++ b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java @@ -208,6 +208,7 @@ public class ZF2Test extends MustangReaderTestCase { // Reading ZUGFeRD assertEquals(zi.getAmount(), "571.04"); assertEquals(zi.getInvoiceID(), "RE-20170509/505"); + assertEquals(zi.getZUGFeRDProfil(), "COMFORT"); assertEquals(zi.getHolder(), getOwnOrganisationName()); assertEquals(zi.getDocumentCode(),"380"); assertEquals(zi.getReference(),"AB321"); From a4be1da6c6d48e28bdff3f6fbc22c8642c25b188 Mon Sep 17 00:00:00 2001 From: Alexander Berndt Date: Thu, 18 Jun 2020 10:29:10 +0200 Subject: [PATCH 03/18] Added getInvoiceCurrencyCode() to ZUGFeRDImporter.java Added Test --- .../mustangproject/ZUGFeRD/ZUGFeRDImporter.java | 16 ++++++++++++++++ .../java/org/mustangproject/ZUGFeRD/ZF2Test.java | 2 ++ 2 files changed, 18 insertions(+) diff --git a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java index de64c446..5a6eb064 100644 --- a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java +++ b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java @@ -274,6 +274,22 @@ public class ZUGFeRDImporter { return ""; } + /** + * @return the Invoice Currency Code + */ + public String getInvoiceCurrencyCode() { + try { + if (getVersion() == 1) { + return extractString("//ApplicableSupplyChainTradeSettlement//InvoiceCurrencyCode"); + } else { + return extractString("//ApplicableHeaderTradeSettlement//InvoiceCurrencyCode"); + } + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + /** * @return the Invoice ID */ diff --git a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java index 7adc39f6..a24f5625 100644 --- a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java +++ b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java @@ -209,6 +209,8 @@ public class ZF2Test extends MustangReaderTestCase { assertEquals(zi.getAmount(), "571.04"); assertEquals(zi.getInvoiceID(), "RE-20170509/505"); assertEquals(zi.getZUGFeRDProfil(), "COMFORT"); + assertEquals(zi.getInvoiceCurrencyCode(), "EUR"); + assertEquals(zi.getHolder(), getOwnOrganisationName()); assertEquals(zi.getDocumentCode(),"380"); assertEquals(zi.getReference(),"AB321"); From 417eaeca15de1d933c954fb7c3d02ba1c9f14828 Mon Sep 17 00:00:00 2001 From: Alexander Berndt Date: Thu, 18 Jun 2020 10:35:35 +0200 Subject: [PATCH 04/18] Added getIssuerAssignedID() to ZUGFeRDImporter.java Added Test --- .../ZUGFeRD/ZUGFeRDImporter.java | 23 +++++++++++++++++++ .../org/mustangproject/ZUGFeRD/ZF2Test.java | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java index 5a6eb064..3a81d12e 100644 --- a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java +++ b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java @@ -290,6 +290,29 @@ public class ZUGFeRDImporter { } } + /** + * @return the IssuerAssigned ID + */ + public String getIssuerAssignedID() { + try { + if (getVersion() == 1) { + return extractString("//BuyerOrderReferencedDocument//ID"); + } else { + return extractString("//BuyerOrderReferencedDocument//IssuerAssignedID"); + } + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + + /** + * @return the BuyerTradeParty ID + */ + public String getBuyerTradePartyID() { + return extractString("//BuyerTradeParty//ID"); + } + /** * @return the Invoice ID */ diff --git a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java index a24f5625..618e8d9a 100644 --- a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java +++ b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java @@ -210,7 +210,7 @@ public class ZF2Test extends MustangReaderTestCase { assertEquals(zi.getInvoiceID(), "RE-20170509/505"); assertEquals(zi.getZUGFeRDProfil(), "COMFORT"); assertEquals(zi.getInvoiceCurrencyCode(), "EUR"); - + assertEquals(zi.getIssuerAssignedID(),""); assertEquals(zi.getHolder(), getOwnOrganisationName()); assertEquals(zi.getDocumentCode(),"380"); assertEquals(zi.getReference(),"AB321"); From b7701e2bba805f2c0f3e434f56fbf3c98e7d5f2e Mon Sep 17 00:00:00 2001 From: Alexander Berndt Date: Thu, 18 Jun 2020 10:39:44 +0200 Subject: [PATCH 05/18] Added getIssueDate() to ZUGFeRDImporter.java Added Test --- .../mustangproject/ZUGFeRD/ZUGFeRDImporter.java | 16 ++++++++++++++++ .../java/org/mustangproject/ZUGFeRD/ZF2Test.java | 2 ++ 2 files changed, 18 insertions(+) diff --git a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java index 3a81d12e..324792ea 100644 --- a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java +++ b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java @@ -313,6 +313,22 @@ public class ZUGFeRDImporter { return extractString("//BuyerTradeParty//ID"); } + /** + * @return the Issue Date() + */ + public String getIssueDate() { + try { + if (getVersion() == 1) { + return extractString("//HeaderExchangedDocument//IssueDateTime//DateTimeString"); + } else { + return extractString("//ExchangedDocument//IssueDateTime//DateTimeString"); + } + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + /** * @return the Invoice ID */ diff --git a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java index 618e8d9a..e22ccc7a 100644 --- a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java +++ b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java @@ -211,6 +211,8 @@ public class ZF2Test extends MustangReaderTestCase { assertEquals(zi.getZUGFeRDProfil(), "COMFORT"); assertEquals(zi.getInvoiceCurrencyCode(), "EUR"); assertEquals(zi.getIssuerAssignedID(),""); + assertEquals(zi.getIssueDate(), "20170509"); + assertEquals(zi.getBuyerTradePartyID(), "DE999999999"); assertEquals(zi.getHolder(), getOwnOrganisationName()); assertEquals(zi.getDocumentCode(),"380"); assertEquals(zi.getReference(),"AB321"); From 2a2c3747b10b86c5360e14b08ec286427abbd42e Mon Sep 17 00:00:00 2001 From: Alexander Berndt Date: Thu, 18 Jun 2020 11:08:09 +0200 Subject: [PATCH 06/18] Added getTaxPointDate() to ZUGFeRDImporter.java Added Test --- .../mustangproject/ZUGFeRD/ZUGFeRDImporter.java | 16 ++++++++++++++++ .../java/org/mustangproject/ZUGFeRD/ZF2Test.java | 1 + 2 files changed, 17 insertions(+) diff --git a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java index 324792ea..263bcdab 100644 --- a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java +++ b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java @@ -329,6 +329,22 @@ public class ZUGFeRDImporter { } } + /** + * @return the Taxpoint Date + */ + public String getTaxPointDate() { + try { + if (getVersion() == 1) { + return extractString("//ActualDeliverySupplyChainEvent//OccurrenceDateTime//DateTimeString"); + } else { + return extractString("//ActualDeliverySupplyChainEvent//OccurrenceDateTime//DateTimeString"); + } + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + /** * @return the Invoice ID */ diff --git a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java index e22ccc7a..adee33fc 100644 --- a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java +++ b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java @@ -212,6 +212,7 @@ public class ZF2Test extends MustangReaderTestCase { assertEquals(zi.getInvoiceCurrencyCode(), "EUR"); assertEquals(zi.getIssuerAssignedID(),""); assertEquals(zi.getIssueDate(), "20170509"); + assertEquals(zi.getTaxPointDate(), "20170507"); assertEquals(zi.getBuyerTradePartyID(), "DE999999999"); assertEquals(zi.getHolder(), getOwnOrganisationName()); assertEquals(zi.getDocumentCode(),"380"); From 50efe64b8a12e146b6ccfd51f57f53b508544e82 Mon Sep 17 00:00:00 2001 From: Alexander Berndt Date: Thu, 18 Jun 2020 11:10:17 +0200 Subject: [PATCH 07/18] Added getPaymentTerms() to ZUGFeRDImporter.java Added Test --- .../java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java | 7 +++++++ .../src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java | 1 + 2 files changed, 8 insertions(+) diff --git a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java index 263bcdab..5296f35e 100644 --- a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java +++ b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java @@ -329,6 +329,13 @@ public class ZUGFeRDImporter { } } + /** + * @return the Payment Terms + */ + public String getPaymentTerms() { + return extractString("//SpecifiedTradePaymentTerms//Description"); + } + /** * @return the Taxpoint Date */ diff --git a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java index adee33fc..c7940042 100644 --- a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java +++ b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java @@ -213,6 +213,7 @@ public class ZF2Test extends MustangReaderTestCase { assertEquals(zi.getIssuerAssignedID(),""); assertEquals(zi.getIssueDate(), "20170509"); assertEquals(zi.getTaxPointDate(), "20170507"); + assertEquals(zi.getPaymentTerms(), "Zahlbar ohne Abzug bis zum 30.05.2017"); assertEquals(zi.getBuyerTradePartyID(), "DE999999999"); assertEquals(zi.getHolder(), getOwnOrganisationName()); assertEquals(zi.getDocumentCode(),"380"); From 4b0121c45b64e082bdb56c0171697a392615620b Mon Sep 17 00:00:00 2001 From: Alexander Berndt Date: Thu, 18 Jun 2020 11:33:48 +0200 Subject: [PATCH 08/18] Added getLineTotalAmount() to ZUGFeRDImporter.java Added Test --- .../mustangproject/ZUGFeRD/ZUGFeRDImporter.java | 16 ++++++++++++++++ .../java/org/mustangproject/ZUGFeRD/ZF2Test.java | 1 + 2 files changed, 17 insertions(+) diff --git a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java index 5296f35e..090c38dd 100644 --- a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java +++ b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java @@ -329,6 +329,22 @@ public class ZUGFeRDImporter { } } + /** + * @return the line Total Amount + */ + public String getLineTotalAmount() { + try { + if (getVersion() == 1) { + return extractString("//SpecifiedTradeSettlementMonetarySummation//LineTotalAmount"); + } else { + return extractString("//SpecifiedTradeSettlementHeaderMonetarySummation//LineTotalAmount"); + } + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + /** * @return the Payment Terms */ diff --git a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java index c7940042..b9c742f8 100644 --- a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java +++ b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java @@ -214,6 +214,7 @@ public class ZF2Test extends MustangReaderTestCase { assertEquals(zi.getIssueDate(), "20170509"); assertEquals(zi.getTaxPointDate(), "20170507"); assertEquals(zi.getPaymentTerms(), "Zahlbar ohne Abzug bis zum 30.05.2017"); + assertEquals(zi.getLineTotalAmount(), "496.00"); assertEquals(zi.getBuyerTradePartyID(), "DE999999999"); assertEquals(zi.getHolder(), getOwnOrganisationName()); assertEquals(zi.getDocumentCode(),"380"); From fca1d3e9c1393236776091b858a9c353d2b51be8 Mon Sep 17 00:00:00 2001 From: Alexander Berndt Date: Thu, 18 Jun 2020 11:35:53 +0200 Subject: [PATCH 09/18] Added getTaxBasisTotalAmount() to ZUGFeRDImporter.java Added Test --- .../mustangproject/ZUGFeRD/ZUGFeRDImporter.java | 16 ++++++++++++++++ .../java/org/mustangproject/ZUGFeRD/ZF2Test.java | 1 + 2 files changed, 17 insertions(+) diff --git a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java index 090c38dd..e8dcc76a 100644 --- a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java +++ b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java @@ -329,6 +329,22 @@ public class ZUGFeRDImporter { } } + /** + * @return the TaxBasisTotalAmount + */ + public String getTaxBasisTotalAmount() { + try { + if (getVersion() == 1) { + return extractString("//SpecifiedTradeSettlementMonetarySummation//TaxBasisTotalAmount"); + } else { + return extractString("//SpecifiedTradeSettlementHeaderMonetarySummation//TaxBasisTotalAmount"); + } + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + /** * @return the line Total Amount */ diff --git a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java index b9c742f8..affa73d7 100644 --- a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java +++ b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java @@ -215,6 +215,7 @@ public class ZF2Test extends MustangReaderTestCase { assertEquals(zi.getTaxPointDate(), "20170507"); assertEquals(zi.getPaymentTerms(), "Zahlbar ohne Abzug bis zum 30.05.2017"); assertEquals(zi.getLineTotalAmount(), "496.00"); + assertEquals(zi.getTaxBasisTotalAmount(), "496.00"); assertEquals(zi.getBuyerTradePartyID(), "DE999999999"); assertEquals(zi.getHolder(), getOwnOrganisationName()); assertEquals(zi.getDocumentCode(),"380"); From 36ec2f683695fc4c02662eac7d0f97ed12d67a30 Mon Sep 17 00:00:00 2001 From: Alexander Berndt Date: Thu, 18 Jun 2020 11:48:19 +0200 Subject: [PATCH 10/18] Added getTaxTotalAmount() to ZUGFeRDImporter.java Added Test --- .../mustangproject/ZUGFeRD/ZUGFeRDImporter.java | 17 +++++++++++++++++ .../org/mustangproject/ZUGFeRD/ZF2Test.java | 1 + 2 files changed, 18 insertions(+) diff --git a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java index e8dcc76a..71484a67 100644 --- a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java +++ b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java @@ -345,6 +345,23 @@ public class ZUGFeRDImporter { } } + /** + * @return the TaxTotalAmount + */ + public String getTaxTotalAmount() { + try { + if (getVersion() == 1) { + return wExtractString("//SpecifiedTradeSettlementMonetarySummation//TaxTotalAmount"); + } else { + return wExtractString("//SpecifiedTradeSettlementHeaderMonetarySummation//TaxTotalAmount"); + } + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + + /** * @return the line Total Amount */ diff --git a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java index affa73d7..4f732625 100644 --- a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java +++ b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java @@ -216,6 +216,7 @@ public class ZF2Test extends MustangReaderTestCase { assertEquals(zi.getPaymentTerms(), "Zahlbar ohne Abzug bis zum 30.05.2017"); assertEquals(zi.getLineTotalAmount(), "496.00"); assertEquals(zi.getTaxBasisTotalAmount(), "496.00"); + assertEquals(zi.getTaxTotalAmount(),"75.04"); assertEquals(zi.getBuyerTradePartyID(), "DE999999999"); assertEquals(zi.getHolder(), getOwnOrganisationName()); assertEquals(zi.getDocumentCode(),"380"); From 266ccb25e36f667b3d8996dff1927679560911b0 Mon Sep 17 00:00:00 2001 From: Alexander Berndt Date: Thu, 18 Jun 2020 11:50:13 +0200 Subject: [PATCH 11/18] Added getRoundingAmount() to ZUGFeRDImporter.java Added Test --- .../ZUGFeRD/ZUGFeRDImporter.java | 20 +++++++++++++++++-- .../org/mustangproject/ZUGFeRD/ZF2Test.java | 1 + 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java index 71484a67..d7473a41 100644 --- a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java +++ b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java @@ -351,9 +351,25 @@ public class ZUGFeRDImporter { public String getTaxTotalAmount() { try { if (getVersion() == 1) { - return wExtractString("//SpecifiedTradeSettlementMonetarySummation//TaxTotalAmount"); + return extractString("//SpecifiedTradeSettlementMonetarySummation//TaxTotalAmount"); } else { - return wExtractString("//SpecifiedTradeSettlementHeaderMonetarySummation//TaxTotalAmount"); + return extractString("//SpecifiedTradeSettlementHeaderMonetarySummation//TaxTotalAmount"); + } + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + + /** + * @return the RoundingAmount + */ + public String getRoundingAmount() { + try { + if (getVersion() == 1) { + return extractString("//SpecifiedTradeSettlementMonetarySummation//RoundingAmount"); + } else { + return extractString("//SpecifiedTradeSettlementHeaderMonetarySummation//RoundingAmount"); } } catch (Exception e) { e.printStackTrace(); diff --git a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java index 4f732625..f078f7ef 100644 --- a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java +++ b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java @@ -217,6 +217,7 @@ public class ZF2Test extends MustangReaderTestCase { assertEquals(zi.getLineTotalAmount(), "496.00"); assertEquals(zi.getTaxBasisTotalAmount(), "496.00"); assertEquals(zi.getTaxTotalAmount(),"75.04"); + assertEquals(zi.getRoundingAmount(), ""); assertEquals(zi.getBuyerTradePartyID(), "DE999999999"); assertEquals(zi.getHolder(), getOwnOrganisationName()); assertEquals(zi.getDocumentCode(),"380"); From 11688d24218c957b12be12216fff96d68a08133e Mon Sep 17 00:00:00 2001 From: Alexander Berndt Date: Thu, 18 Jun 2020 11:52:02 +0200 Subject: [PATCH 12/18] Added getPaidAmount() to ZUGFeRDImporter.java Added Test --- .../mustangproject/ZUGFeRD/ZUGFeRDImporter.java | 16 ++++++++++++++++ .../java/org/mustangproject/ZUGFeRD/ZF2Test.java | 1 + 2 files changed, 17 insertions(+) diff --git a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java index d7473a41..3824ef97 100644 --- a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java +++ b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java @@ -377,6 +377,22 @@ public class ZUGFeRDImporter { } } + /** + * @return the TotalPrepaidAmount + */ + public String getPaidAmount() { + try { + if (getVersion() == 1) { + return extractString("//SpecifiedTradeSettlementMonetarySummation//TotalPrepaidAmount"); + } else { + return extractString("//SpecifiedTradeSettlementHeaderMonetarySummation//TotalPrepaidAmount"); + } + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + /** * @return the line Total Amount diff --git a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java index f078f7ef..bef6d462 100644 --- a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java +++ b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java @@ -218,6 +218,7 @@ public class ZF2Test extends MustangReaderTestCase { assertEquals(zi.getTaxBasisTotalAmount(), "496.00"); assertEquals(zi.getTaxTotalAmount(),"75.04"); assertEquals(zi.getRoundingAmount(), ""); + assertEquals(zi.getPaidAmount(), "0.00"); assertEquals(zi.getBuyerTradePartyID(), "DE999999999"); assertEquals(zi.getHolder(), getOwnOrganisationName()); assertEquals(zi.getDocumentCode(),"380"); From 2b60b7a8b7fd09091b627b6fb6d2bf6d9dd4eb74 Mon Sep 17 00:00:00 2001 From: Alexander Berndt Date: Thu, 18 Jun 2020 11:53:36 +0200 Subject: [PATCH 13/18] Added getSellerTradePartyGlobalID() to ZUGFeRDImporter.java Added Test --- .../java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java | 7 +++++++ .../src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java | 1 + 2 files changed, 8 insertions(+) diff --git a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java index 3824ef97..b2587061 100644 --- a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java +++ b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java @@ -393,6 +393,13 @@ public class ZUGFeRDImporter { } } + /** + * @return SellerTradeParty GlobalID + */ + public String getSellerTradePartyGlobalID() { + return extractString("//SellerTradeParty//GlobalID"); + } + /** * @return the line Total Amount diff --git a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java index bef6d462..44507dcf 100644 --- a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java +++ b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java @@ -219,6 +219,7 @@ public class ZF2Test extends MustangReaderTestCase { assertEquals(zi.getTaxTotalAmount(),"75.04"); assertEquals(zi.getRoundingAmount(), ""); assertEquals(zi.getPaidAmount(), "0.00"); + assertEquals(zi.getSellerTradePartyGlobalID(), ""); assertEquals(zi.getBuyerTradePartyID(), "DE999999999"); assertEquals(zi.getHolder(), getOwnOrganisationName()); assertEquals(zi.getDocumentCode(),"380"); From 2d1fd3ae943a09045661606242ccdd172d5b433d Mon Sep 17 00:00:00 2001 From: Alexander Berndt Date: Thu, 18 Jun 2020 12:06:13 +0200 Subject: [PATCH 14/18] Added getBuyerTradePartyAddress() and getAddressFromNodeList() to ZUGFeRDImporter.java Added Test --- .../ZUGFeRD/ZUGFeRDImporter.java | 39 ++++++++++++++++++- .../org/mustangproject/ZUGFeRD/ZF2Test.java | 8 ++++ 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java index b2587061..8cfe38d0 100644 --- a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java +++ b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java @@ -400,6 +400,14 @@ public class ZUGFeRDImporter { return extractString("//SellerTradeParty//GlobalID"); } + /** + * @return the BuyerTradeParty Name + */ + public String getBuyerTradePartyName() { + return extractString("//BuyerTradeParty//Name"); + } + + /** * @return the line Total Amount @@ -679,6 +687,28 @@ public class ZUGFeRDImporter { return s.hasNext() ? s.next() : ""; } + /** + * returns an instance of PostalTradeAddress for SellerTradeParty section + * @return an instance of PostalTradeAddress + */ + public PostalTradeAddress getBuyerTradePartyAddress() { + + NodeList nl = null; + + try { + if (getVersion() == 1) { + nl = getNodeListByPath("//CrossIndustryDocument//SpecifiedSupplyChainTradeTransaction//ApplicableSupplyChainTradeAgreement//BuyerTradeParty//PostalTradeAddress"); + } else { + nl = getNodeListByPath("//CrossIndustryInvoice//SupplyChainTradeTransaction//ApplicableHeaderTradeAgreement//BuyerTradeParty//PostalTradeAddress"); + } + } catch (Exception e) { + e.printStackTrace(); + return null; + } + + return getAddressFromNodeList(nl); + } + /** * returns an instance of PostalTradeAddress for SellerTradeParty section * @return an instance of PostalTradeAddress @@ -696,9 +726,15 @@ public class ZUGFeRDImporter { } } catch (Exception e) { e.printStackTrace(); - return address; + return null; } + return getAddressFromNodeList(nl); + } + + private PostalTradeAddress getAddressFromNodeList(NodeList nl) { + PostalTradeAddress address = new PostalTradeAddress(); + if (nl != null) { for (int i = 0; i < nl.getLength(); i++) { Node n = nl.item(i); @@ -737,7 +773,6 @@ public class ZUGFeRDImporter { return address; } - /** * returns a list of LineItems * @return a List of LineItem instances diff --git a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java index 44507dcf..dc05e85f 100644 --- a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java +++ b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java @@ -219,6 +219,7 @@ public class ZF2Test extends MustangReaderTestCase { assertEquals(zi.getTaxTotalAmount(),"75.04"); assertEquals(zi.getRoundingAmount(), ""); assertEquals(zi.getPaidAmount(), "0.00"); + assertEquals(zi.getBuyerTradePartyName(), "Theodor Est"); assertEquals(zi.getSellerTradePartyGlobalID(), ""); assertEquals(zi.getBuyerTradePartyID(), "DE999999999"); assertEquals(zi.getHolder(), getOwnOrganisationName()); @@ -229,6 +230,13 @@ public class ZF2Test extends MustangReaderTestCase { assertEquals(zi.getIBAN(),getTradeSettlementPayment()[0].getOwnIBAN()); assertEquals(zi.getHolder(), getOwnOrganisationName()); assertEquals(zi.getForeignReference(), getNumber()); + assertEquals(zi.getBuyerTradePartyAddress().getPostcodeCode(), "88802"); + assertEquals(zi.getBuyerTradePartyAddress().getLineOne(), "Bahnstr. 42"); + assertEquals(zi.getBuyerTradePartyAddress().getLineTwo(), null); + assertEquals(zi.getBuyerTradePartyAddress().getLineThree(), null); + assertEquals(zi.getBuyerTradePartyAddress().getCountrySubDivisionName(), null); + assertEquals(zi.getBuyerTradePartyAddress().getCountryID(), "DE"); + assertEquals(zi.getBuyerTradePartyAddress().getCityName(), "Spielkreis"); assertEquals(zi.getSellerTradePartyAddress().getPostcodeCode(), "12345"); assertEquals(zi.getSellerTradePartyAddress().getLineOne(), "Ecke 12"); assertEquals(zi.getSellerTradePartyAddress().getLineTwo(), null); From 3da3dbe476f3bdf2b562a76f3d9257266f0d67a2 Mon Sep 17 00:00:00 2001 From: Alexander Berndt Date: Thu, 18 Jun 2020 12:11:09 +0200 Subject: [PATCH 15/18] Added getBuyerTradePartyGlobalID() and to ZUGFeRDImporter.java Added Test --- .../java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java | 7 +++++++ .../src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java | 1 + 2 files changed, 8 insertions(+) diff --git a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java index 8cfe38d0..366f23b6 100644 --- a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java +++ b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java @@ -400,6 +400,13 @@ public class ZUGFeRDImporter { return extractString("//SellerTradeParty//GlobalID"); } + /** + * @return the BuyerTradeParty GlobalID + */ + public String getBuyerTradePartyGlobalID() { + return wExtractString("//BuyerTradeParty//GlobalID"); + } + /** * @return the BuyerTradeParty Name */ diff --git a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java index dc05e85f..9b48d9fd 100644 --- a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java +++ b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java @@ -220,6 +220,7 @@ public class ZF2Test extends MustangReaderTestCase { assertEquals(zi.getRoundingAmount(), ""); assertEquals(zi.getPaidAmount(), "0.00"); assertEquals(zi.getBuyerTradePartyName(), "Theodor Est"); + assertEquals(zi.getBuyerTradePartyGlobalID(), ""); assertEquals(zi.getSellerTradePartyGlobalID(), ""); assertEquals(zi.getBuyerTradePartyID(), "DE999999999"); assertEquals(zi.getHolder(), getOwnOrganisationName()); From 7084f12b8f02595f81fa5dca4fd6c2790c68f33a Mon Sep 17 00:00:00 2001 From: Alexander Berndt Date: Thu, 18 Jun 2020 12:13:33 +0200 Subject: [PATCH 16/18] Added getBuyertradePartySpecifiedTaxRegistrationID() and to ZUGFeRDImporter.java Added Test --- .../java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java | 9 ++++++++- .../test/java/org/mustangproject/ZUGFeRD/ZF2Test.java | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java index 366f23b6..86f2a0e6 100644 --- a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java +++ b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java @@ -404,7 +404,14 @@ public class ZUGFeRDImporter { * @return the BuyerTradeParty GlobalID */ public String getBuyerTradePartyGlobalID() { - return wExtractString("//BuyerTradeParty//GlobalID"); + return extractString("//BuyerTradeParty//GlobalID"); + } + + /** + * @return the BuyerTradeParty SpecifiedTaxRegistration ID + */ + public String getBuyertradePartySpecifiedTaxRegistrationID() { + return extractString("//BuyerTradeParty//SpecifiedTaxRegistration//ID"); } /** diff --git a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java index 9b48d9fd..688ed242 100644 --- a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java +++ b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java @@ -223,6 +223,7 @@ public class ZF2Test extends MustangReaderTestCase { assertEquals(zi.getBuyerTradePartyGlobalID(), ""); assertEquals(zi.getSellerTradePartyGlobalID(), ""); assertEquals(zi.getBuyerTradePartyID(), "DE999999999"); + assertEquals(zi.getBuyertradePartySpecifiedTaxRegistrationID(), "DE999999999"); assertEquals(zi.getHolder(), getOwnOrganisationName()); assertEquals(zi.getDocumentCode(),"380"); assertEquals(zi.getReference(),"AB321"); From 62f367e70d7549a897371e112970ada3d79c43d0 Mon Sep 17 00:00:00 2001 From: Alexander Berndt Date: Thu, 18 Jun 2020 12:15:30 +0200 Subject: [PATCH 17/18] Added getIncludedNote() and to ZUGFeRDImporter.java Added Test --- .../mustangproject/ZUGFeRD/ZUGFeRDImporter.java | 17 +++++++++++++++++ .../org/mustangproject/ZUGFeRD/ZF2Test.java | 1 + 2 files changed, 18 insertions(+) diff --git a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java index 86f2a0e6..946828c3 100644 --- a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java +++ b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java @@ -414,6 +414,23 @@ public class ZUGFeRDImporter { return extractString("//BuyerTradeParty//SpecifiedTaxRegistration//ID"); } + + /** + * @return the IncludedNote + */ + public String getIncludedNote() { + try { + if (getVersion() == 1) { + return extractString("//HeaderExchangedDocument//IncludedNote"); + } else { + return extractString("//ExchangedDocument//IncludedNote"); + } + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + /** * @return the BuyerTradeParty Name */ diff --git a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java index 688ed242..a868c5c5 100644 --- a/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java +++ b/libraryBasic/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java @@ -224,6 +224,7 @@ public class ZF2Test extends MustangReaderTestCase { assertEquals(zi.getSellerTradePartyGlobalID(), ""); assertEquals(zi.getBuyerTradePartyID(), "DE999999999"); assertEquals(zi.getBuyertradePartySpecifiedTaxRegistrationID(), "DE999999999"); + assertEquals(zi.getIncludedNote(), ""); assertEquals(zi.getHolder(), getOwnOrganisationName()); assertEquals(zi.getDocumentCode(),"380"); assertEquals(zi.getReference(),"AB321"); From eb838638542e04c4d41fbf42dac628d73d940866 Mon Sep 17 00:00:00 2001 From: Alexander Berndt Date: Mon, 22 Jun 2020 11:23:25 +0200 Subject: [PATCH 18/18] Added getIncludedNote() and to ZUGFeRDImporter.java Added Test --- .../ZUGFeRD/ZUGFeRDImporter.java | 35 +++++++++++++++---- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java index 946828c3..a3eef7a6 100644 --- a/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java +++ b/libraryBasic/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java @@ -776,25 +776,46 @@ public class ZUGFeRDImporter { if (nodeType==Node.ELEMENT_NODE){ switch (n.getNodeName()) { case "ram:PostcodeCode": - address.setPostCodeCode(n.getFirstChild().getNodeValue()); + address.setPostCodeCode(""); + if (n.getFirstChild() != null) { + address.setPostCodeCode(n.getFirstChild().getNodeValue()); + } break; case "ram:LineOne": - address.setLineOne(n.getFirstChild().getNodeValue()); + address.setLineOne(""); + if (n.getFirstChild() != null) { + address.setLineOne(n.getFirstChild().getNodeValue()); + } break; case "ram:LineTwo": - address.setLineTwo(n.getFirstChild().getNodeValue()); + address.setLineTwo(""); + if (n.getFirstChild() != null) { + address.setLineTwo(n.getFirstChild().getNodeValue()); + } break; case "ram:LineThree": - address.setLineThree(n.getFirstChild().getNodeValue()); + address.setLineThree(""); + if (n.getFirstChild() != null) { + address.setLineThree(n.getFirstChild().getNodeValue()); + } break; case "ram:CityName": - address.setCityName(n.getFirstChild().getNodeValue()); + address.setCityName(""); + if (n.getFirstChild() != null) { + address.setCityName(n.getFirstChild().getNodeValue()); + } break; case "ram:CountryID": - address.setCountryID(n.getFirstChild().getNodeValue()); + address.setCountryID(""); + if (n.getFirstChild() != null) { + address.setCountryID(n.getFirstChild().getNodeValue()); + } break; case "ram:CountrySubDivisionName": - address.setCountrySubDivisionName(n.getFirstChild().getNodeValue()); + address.setCountrySubDivisionName(""); + if (n.getFirstChild() != null) { + address.setCountrySubDivisionName(n.getFirstChild().getNodeValue()); + } break; } }