diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/IDatedReference.java b/library/src/main/java/org/mustangproject/ZUGFeRD/IDatedReference.java new file mode 100644 index 00000000..af1adf38 --- /dev/null +++ b/library/src/main/java/org/mustangproject/ZUGFeRD/IDatedReference.java @@ -0,0 +1,10 @@ +package org.mustangproject.ZUGFeRD; + +import java.util.Date; + +public interface IDatedReference { + public String getID(); + default Date getDate() { + return null; + } +} diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/IExportableTransaction.java b/library/src/main/java/org/mustangproject/ZUGFeRD/IExportableTransaction.java index c7a6d903..72b61d83 100644 --- a/library/src/main/java/org/mustangproject/ZUGFeRD/IExportableTransaction.java +++ b/library/src/main/java/org/mustangproject/ZUGFeRD/IExportableTransaction.java @@ -214,6 +214,15 @@ public interface IExportableTransaction { return null; } + /** + * BT-17 tender or lot reference + * + * @return mandatory ID, optional Date + */ + default IDatedReference getTenderReference() { + return null; + } + /** * own name * diff --git a/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2EdgeTest.java b/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2EdgeTest.java index f095372b..3178c321 100644 --- a/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2EdgeTest.java +++ b/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2EdgeTest.java @@ -144,6 +144,25 @@ public class ZF2EdgeTest extends MustangReaderTestCase { return "DE"; } + @Override + public IDatedReference getTenderReference() { + return new IDatedReference() { + @Override + public String getID() { + return "983-jk-787 (obsolete)"; + } + @Override + public Date getDate() { + SimpleDateFormat sdf=new SimpleDateFormat("YYYY-mm-dd"); + try { + return sdf.parse("2025-10-12"); + } catch (ParseException e) { + // wont happen, I promise :-) + } + } + }; + } + @Override public String getOwnLocation() { return "Stadthausen";