From 6012356146f3591c90eb87333fe6c58aaa6a25c3 Mon Sep 17 00:00:00 2001 From: AlexanderSchmidt Date: Mon, 23 Nov 2015 15:42:01 +0100 Subject: [PATCH] add reference document number for invoice corrections --- .../ZUGFeRD/IZUGFeRDExportableTransaction.java | 7 +++++++ .../java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java | 7 +++++++ .../ZUGFeRD/MustangReaderWriterEdgeTest.java | 5 +++++ .../mustangproject/ZUGFeRD/MustangReaderWriterTest.java | 5 +++++ 4 files changed, 24 insertions(+) diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransaction.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransaction.java index 09ab90d6..3d9af400 100644 --- a/mustang/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransaction.java +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/IZUGFeRDExportableTransaction.java @@ -142,5 +142,12 @@ public interface IZUGFeRDExportableTransaction { */ String getPaymentTermDescription(); + /** + * get reference document number + * typically used for Invoice Corrections + * Will be added as IncludedNote in comfort profile + * @return + */ + String getReferenceNumber(); } diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java index d200b757..51e5868b 100644 --- a/mustang/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java @@ -432,6 +432,13 @@ public class ZUGFeRDExporter { regularInfo.getContent().add(regularInfoContent); document.getIncludedNote().add(regularInfo); } + if (trans.getReferenceNumber() != null && trans.getReferenceNumber() != new String()){ + NoteType referenceInfo = xmlFactory.createNoteType(); + TextType referenceInfoContent = xmlFactory.createTextType(); + referenceInfoContent.setValue("Ursprungsbeleg: " + trans.getReferenceNumber()); + referenceInfo.getContent().add(referenceInfoContent); + document.getIncludedNote().add(referenceInfo); + } return document; } diff --git a/mustang/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java b/mustang/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java index f75bd38b..8006505d 100644 --- a/mustang/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java +++ b/mustang/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java @@ -164,6 +164,11 @@ public class MustangReaderWriterEdgeTest extends TestCase implements IZUGFeRDExp return null; } + @Override + public String getReferenceNumber() { + return null; + } + class Contact implements IZUGFeRDExportableContact { diff --git a/mustang/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java b/mustang/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java index e834f3c7..468551e2 100644 --- a/mustang/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java +++ b/mustang/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java @@ -166,6 +166,11 @@ public class MustangReaderWriterTest extends TestCase implements IZUGFeRDExporta //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } + @Override + public String getReferenceNumber() { + return null; + } + class Contact implements IZUGFeRDExportableContact {