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 {